mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-27 21:48:56 +02:00
Автоматизация создания заготовок документации
This commit is contained in:
parent
df1b908b4f
commit
4ca1c6596f
109
.github/workflows/os/oint_docs.os
vendored
109
.github/workflows/os/oint_docs.os
vendored
@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
Процедура ПриСозданииОбъекта()
|
Процедура ПриСозданииОбъекта()
|
||||||
|
|
||||||
Расположение = ТекущийКаталог() + "\OInt";
|
Расположение = ".\OInt";
|
||||||
СПодкаталогами = Истина;
|
СПодкаталогами = Истина;
|
||||||
КаталогДокументации = ТекущийКаталог() + "\docs";
|
КаталогДокументации = ".\docs";
|
||||||
|
|
||||||
ПроверитьСоздатьКаталог(КаталогДокументации);
|
ПроверитьСоздатьКаталог(КаталогДокументации);
|
||||||
СоздатьФайлыДокументации();
|
СоздатьФайлыДокументации();
|
||||||
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
ТекущийМодуль = Новый ТекстовыйДокумент();
|
ТекущийМодуль = Новый ТекстовыйДокумент();
|
||||||
ТекущийМодуль.Прочитать(Модуль.ПолноеИмя);
|
ТекущийМодуль.Прочитать(Модуль.ПолноеИмя);
|
||||||
РазобратьМодуль(ТекущийМодуль);
|
РазобратьМодуль(ТекущийМодуль, Модуль.ИмяБезРасширения);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
@ -45,8 +45,51 @@
|
|||||||
|
|
||||||
Процедура СоздатьСтраницуДокументации(СтруктураМетода)
|
Процедура СоздатьСтраницуДокументации(СтруктураМетода)
|
||||||
|
|
||||||
ПроверитьСоздатьКаталог(КаталогДокументации + "\" + КаталогДокументации);
|
КаталогБиблиотеки = КаталогДокументации + "\" + СтруктураМетода["Каталог"];
|
||||||
Сообщить(СтруктураМетода);
|
ПроверитьСоздатьКаталог(КаталогБиблиотеки);
|
||||||
|
|
||||||
|
ТранслитированноеИмя = ТранслитироватьСтроку(СтруктураМетода["Заголовок"]);
|
||||||
|
|
||||||
|
Макет = Новый ТекстовыйДокумент();
|
||||||
|
Макет.Прочитать(".\.github\workflows\os\template.md", "UTF-8");
|
||||||
|
|
||||||
|
Макет = Макет.ПолучитьТекст();
|
||||||
|
|
||||||
|
Макет = СтрЗаменить(Макет, "@Заголовок" , СтруктураМетода["Заголовок"]);
|
||||||
|
Макет = СтрЗаменить(Макет, "@Описание" , СтруктураМетода["Описание"]);
|
||||||
|
Макет = СтрЗаменить(Макет, "@Объявление" , СтруктураМетода["Объявление"]);
|
||||||
|
Макет = СтрЗаменить(Макет, "@ВозвращаемоеЗначение", СтруктураМетода["ВозвращаемоеЗначение"]);
|
||||||
|
Макет = СтрЗаменить(Макет, "@ВозвращаемоеЗначение", СтруктураМетода["ВозвращаемоеЗначение"]);
|
||||||
|
|
||||||
|
ТаблицаПараметров = "";
|
||||||
|
Вызов1С = СтруктураМетода["ИмяМодуля"] + "." + СтруктураМетода["ИмяМетода"] + "(";
|
||||||
|
ВызовCLI = "oint " + СтруктураМетода["Команда"];
|
||||||
|
|
||||||
|
Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл
|
||||||
|
|
||||||
|
ТаблицаПараметров = ТаблицаПараметров + " | "
|
||||||
|
+ ПараметрМетода.Имя + " | "
|
||||||
|
+ ПараметрМетода.Опция + " | "
|
||||||
|
+ ПараметрМетода.Типы + " | "
|
||||||
|
+ ПараметрМетода.Описание + " |"
|
||||||
|
+ Символы.ПС;
|
||||||
|
|
||||||
|
Вызов1С = Вызов1С + ПараметрМетода.Имя + ", ";
|
||||||
|
ВызовCLI = ВызовCLI + " " + ПараметрМетода.Опция + " ";
|
||||||
|
ВызовCLI = ВызовCLI + "%" + СтрЗаменить(ПараметрМетода.Опция, "-", "") + "%";
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Вызов1С = Лев(Вызов1С, СтрДлина(Вызов1С) - 2);
|
||||||
|
Вызов1С = Вызов1С + ");";
|
||||||
|
|
||||||
|
Макет = СтрЗаменить(Макет, "@Вызов1С" , Вызов1С);
|
||||||
|
Макет = СтрЗаменить(Макет, "@ВызовCLI" , ВызовCLI);
|
||||||
|
Макет = СтрЗаменить(Макет, "@ТаблицаПараметров", ТаблицаПараметров);
|
||||||
|
|
||||||
|
НовыйДокумент = Новый ТекстовыйДокумент();
|
||||||
|
НовыйДокумент.УстановитьТекст(Макет);
|
||||||
|
НовыйДокумент.Записать(КаталогБиблиотеки + "\" + ТранслитированноеИмя + ".md");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
@ -54,10 +97,11 @@
|
|||||||
|
|
||||||
#Область РазборМодуля
|
#Область РазборМодуля
|
||||||
|
|
||||||
Процедура РазобратьМодуль(ТекущийМодуль)
|
Процедура РазобратьМодуль(ТекущийМодуль, ИмяМодуля)
|
||||||
|
|
||||||
ТекстМодуля = ТекущийМодуль.ПолучитьТекст();
|
ТекстМодуля = ТекущийМодуль.ПолучитьТекст();
|
||||||
СтруктураОбщихДанных = Новый Структура();
|
СтруктураОбщихДанных = Новый Структура();
|
||||||
|
СтруктураОбщихДанных.Вставить("ИмяМодуля", ИмяМодуля);
|
||||||
|
|
||||||
ПолучитьДанныеМодуля(СтруктураОбщихДанных, ТекущийМодуль);
|
ПолучитьДанныеМодуля(СтруктураОбщихДанных, ТекущийМодуль);
|
||||||
|
|
||||||
@ -126,6 +170,7 @@
|
|||||||
СформироватьСтруктуруМетода(МассивКомментария, МассивПараметров, СтруктураДанных);
|
СформироватьСтруктуруМетода(МассивКомментария, МассивПараметров, СтруктураДанных);
|
||||||
СформироватьМассивОписанийПараметров(МассивПараметров, Метод, МассивОписанийПараметров);
|
СформироватьМассивОписанийПараметров(МассивПараметров, Метод, МассивОписанийПараметров);
|
||||||
|
|
||||||
|
СтруктураДанных.Вставить("ИмяМетода" , Метод.Сигнатура.Имя);
|
||||||
СтруктураДанных.Вставить("Объявление", Объявление);
|
СтруктураДанных.Вставить("Объявление", Объявление);
|
||||||
СтруктураДанных.Вставить("Параметры" , МассивОписанийПараметров);
|
СтруктураДанных.Вставить("Параметры" , МассивОписанийПараметров);
|
||||||
|
|
||||||
@ -190,6 +235,7 @@
|
|||||||
ЗаписыватьОписание = Ложь;
|
ЗаписыватьОписание = Ложь;
|
||||||
|
|
||||||
ИначеЕсли СтрНайти(СтрокаКомментария, "Возвращаемое значение:") > 0 Тогда
|
ИначеЕсли СтрНайти(СтрокаКомментария, "Возвращаемое значение:") > 0 Тогда
|
||||||
|
СтруктураДанных.Вставить("ВозвращаемоеЗначение", МассивКомментария[Счетчик]);
|
||||||
Прервать;
|
Прервать;
|
||||||
|
|
||||||
ИначеЕсли ЗаписыватьПараметры = Истина
|
ИначеЕсли ЗаписыватьПараметры = Истина
|
||||||
@ -254,7 +300,7 @@
|
|||||||
Каталог = Новый Файл(Путь);
|
Каталог = Новый Файл(Путь);
|
||||||
|
|
||||||
Если Не Каталог.Существует() Тогда
|
Если Не Каталог.Существует() Тогда
|
||||||
СоздатьКаталог(Каталог);
|
СоздатьКаталог(Путь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -285,6 +331,55 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ТранслитироватьСтроку(Знач Значение)
|
||||||
|
|
||||||
|
Значение = нРег(Значение);
|
||||||
|
Транслитация = Новый Соответствие();
|
||||||
|
|
||||||
|
Транслитация.Вставить("а", "a");
|
||||||
|
Транслитация.Вставить("б", "b");
|
||||||
|
Транслитация.Вставить("в", "v");
|
||||||
|
Транслитация.Вставить("г", "g");
|
||||||
|
Транслитация.Вставить("д", "d");
|
||||||
|
Транслитация.Вставить("е", "e");
|
||||||
|
Транслитация.Вставить("ё", "e");
|
||||||
|
Транслитация.Вставить("ж", "zh");
|
||||||
|
Транслитация.Вставить("з", "z");
|
||||||
|
Транслитация.Вставить("и", "i");
|
||||||
|
Транслитация.Вставить("й", "y");
|
||||||
|
Транслитация.Вставить("к", "k");
|
||||||
|
Транслитация.Вставить("л", "l");
|
||||||
|
Транслитация.Вставить("м", "m");
|
||||||
|
Транслитация.Вставить("н", "n");
|
||||||
|
Транслитация.Вставить("о", "o");
|
||||||
|
Транслитация.Вставить("п", "p");
|
||||||
|
Транслитация.Вставить("р", "r");
|
||||||
|
Транслитация.Вставить("с", "s");
|
||||||
|
Транслитация.Вставить("т", "t");
|
||||||
|
Транслитация.Вставить("у", "u");
|
||||||
|
Транслитация.Вставить("ф", "f");
|
||||||
|
Транслитация.Вставить("х", "h");
|
||||||
|
Транслитация.Вставить("ц", "ts");
|
||||||
|
Транслитация.Вставить("ч", "ch");
|
||||||
|
Транслитация.Вставить("ш", "sh");
|
||||||
|
Транслитация.Вставить("щ", "sch");
|
||||||
|
Транслитация.Вставить("ъ", "");
|
||||||
|
Транслитация.Вставить("ы", "y");
|
||||||
|
Транслитация.Вставить("ь", "");
|
||||||
|
Транслитация.Вставить("э", "e");
|
||||||
|
Транслитация.Вставить("ю", "u");
|
||||||
|
Транслитация.Вставить("я", "ya");
|
||||||
|
Транслитация.Вставить(" ", "-");
|
||||||
|
|
||||||
|
Для Каждого ЗаменяемыйСимвол Из Транслитация Цикл
|
||||||
|
Значение = СтрЗаменить(Значение, ЗаменяемыйСимвол.Ключ, ЗаменяемыйСимвол.Значение);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Значение = ВРег(Лев(Значение,1)) + Сред(Значение,2);
|
||||||
|
Возврат Значение;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
4
.github/workflows/os/template.md
vendored
4
.github/workflows/os/template.md
vendored
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
sidebar_position: @Позиция
|
sidebar_position:
|
||||||
---
|
---
|
||||||
|
|
||||||
# @Заголовок
|
# @Заголовок
|
||||||
@ -10,7 +10,7 @@ sidebar_position: @Позиция
|
|||||||
|
|
||||||
| Параметр | CLI опция | Тип | Назначение |
|
| Параметр | CLI опция | Тип | Назначение |
|
||||||
|-|-|-|-|
|
|-|-|-|-|
|
||||||
@ТаблицаПараметров
|
@ТаблицаПараметров
|
||||||
|
|
||||||
Вовзращаемое значение: @ВозвращаемоеЗначение
|
Вовзращаемое значение: @ВозвращаемоеЗначение
|
||||||
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@ OInt/coverage/stat.json
|
|||||||
data.json
|
data.json
|
||||||
*.exe
|
*.exe
|
||||||
test.os
|
test.os
|
||||||
|
/docs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user