Инструмент генерации документации на основании файлов исходных кодов конфигурации 1С:Предприятие.
Инструмент позволяет
- автоматически сформировать документацию на основании исходных файлов конфигурации 1С:Предприятие
- выполнить проверку на возможность корректного разбора информации, выступающей исходными данными для документации
- опубликовать сгенерированную документацию
Процесс установки стандартен:
- либо
opm install autodocgen
- либо, если по разным причинам первый способ не подходит, то скачать архив из релизов, распаковать и выполнить (для windows)
installlocalhost.bat
Основные возможности есть в справке. Отдельно стоит обратить внимание на конфигурационный файл.
Конфигурационный файл соответствует структуре единого конфигурационного файла, ниже приведен пример
{
"GLOBAL": {
"КаталогИсходныхФайлов": "src\\configuration",
"version": "1.0.4"
},
"AutodocGen":{
"НастройкиConluence": {
"АдресСервера":"https://my-confluence.myhost.ru",
"Пользователь":"user",
"Пароль":"password",
"Пространство":"key",
"КорневаяСтраница":"Имя кореневой страницы в пространстве key",
"ПутьКШаблонам": "",
"АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
},
"НастройкиHTML": {
"ПутьКШаблонам": "",
"КаталогПубликации": "./doc",
"АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
},
"НастройкиJSON": {
"ПутьКШаблонам": "",
"КаталогПубликации": "./json",
"АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
},
"НастройкиMarkdown": {
"ПутьКШаблонам": "",
"КаталогПубликации": "./markdown",
"АнализироватьТолькоПотомковПодсистемы": "МояКорневаяПодсистема"
},
"ПоследнийОбработанныйКоммит": ""
}
}
Располагать конфигурационный файл нужно в корне репозитория под именем v8config.json
.
Как видно из пример конфигурационного файла, поддерживаются 2 формата (ключ -format
)
confluence
- генерация страниц в указанном пространстве confluencehtml
- генерация структуры каталогов в соответствии с подсистемами и файлов-страниц в каталогах.json
- генерация структуры каталогов в соответствии с подсистемами и json файлов в каталогах.markdown
- генерация структуры каталогов в соответствии с подсистемами и markdown файлов в каталогах.
Для добавления новых стоит воспользоваться шаблоном src/Классы/ШаблонГенераторДокументации.os-template
-
ШаблонСплиттерНачало - Начало области, раздела, подсистемы. Шаблон: %1 - Имя области
-
ШаблонСплиттерКонец - Окончание области, раздела, подсистемы.
-
ШаблонЗаголовок - Заголовок метода. Шаблон: %1 - Имя метода
-
ШаблонЗаголовокДляКонстант - Заголовок раздела констант. Шаблон: %1 - Имя раздела
-
ШаблонШапкаТЧ - Шапка списка параметров метода
-
ШаблонШапкаТЧДляКонстант - Шапка списка констант
-
ШаблонСтрокаТЧ - Строка описания параметра. Шаблон:
- %1 - номер
- %2 - имя
- %3 - обязательный
- %4 - тип параметра
- %5 - описание параметра
-
ШаблонСтрокаТЧДляКонстант - Строка описания константы. Шаблон:
- %1 - имя
- %2 - тип параметра
- %3 - описание параметра
-
ШаблонПодвалТЧ - Подвал списка параметров метода и констант
-
ШаблонВозврат - Описание возвращаемого методов значения. Шаблон: %1 - тип, %2 - описание
-
ШаблонОписание - Описание метода. Шаблон: %1 - текст описания
-
ШаблонПример - Пример использования метода. Шаблон: %1 - текст примера
-
ШаблонНачалоСтраницы - Начало страницы документации. Шаблон: %1 - Имя страницы
-
ШаблонКонецСтраницы - Окончание страницы документации
Для генерации документации конфигурация должна соответствовать требованиям:
- Все модули должны иметь определенную структуру областей (в соответствии с требованиями 1С)
- В документацию добавляются только экспортные методы, находящиеся в разделе
ПрограммныйИнтерфейс
- Описание методов должно соответствовать требованиям оформления кода
- Поддерживаются общие модули и модули менеджеров объектов
- Все модули / объекты, которые попадают под правила автодокументирования, должны располагаться в соответствующих подсистемах. Принятая структура:
Подсистемы конфигурации
|
+-- МояКорневаяПодсистема (не выводится в интерфейс пользователя)
|
+-- Раздел
|
+-- Подсистема
|
+-- ОбъектМетаданных
- основная лицензия исходного кода продукта - MIT
- лицензии стороннего кода - BSDv3, Apache License, Freeware, etc - подробные разъяснения лицензий на исходный код продукта и его документации в том числе содержатся внутри файлов исходного кода
TODO:
- Публикация документации в формате Markdown и каталога doc, иерархия каталогов = иерархии подсистем (начиная с корневой)
- В каталоге doc предусмотреть обработку index.md - описание подсистемы
- Команда проверки исходников
- Проверка исходников по списку файлов