From 4ca1c6596f77dfee84cb0579d909deb22ca00d52 Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Tue, 23 Apr 2024 09:49:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D1=81=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=BA=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/os/oint_docs.os | 109 ++++++++++++++++++++++++++++-- .github/workflows/os/template.md | 4 +- .gitignore | 1 + 3 files changed, 105 insertions(+), 9 deletions(-) diff --git a/.github/workflows/os/oint_docs.os b/.github/workflows/os/oint_docs.os index 06d0c2f507..7aea77ee04 100644 --- a/.github/workflows/os/oint_docs.os +++ b/.github/workflows/os/oint_docs.os @@ -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 Тогда + СтруктураДанных.Вставить("ВозвращаемоеЗначение", МассивКомментария[Счетчик]); Прервать; ИначеЕсли ЗаписыватьПараметры = Истина @@ -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); + Возврат Значение; + +КонецФункции + #КонецОбласти #КонецОбласти diff --git a/.github/workflows/os/template.md b/.github/workflows/os/template.md index f21ee60713..43a76b3d7d 100644 --- a/.github/workflows/os/template.md +++ b/.github/workflows/os/template.md @@ -1,5 +1,5 @@ --- -sidebar_position: @Позиция +sidebar_position: --- # @Заголовок @@ -10,7 +10,7 @@ sidebar_position: @Позиция | Параметр | CLI опция | Тип | Назначение | |-|-|-|-| - @ТаблицаПараметров +@ТаблицаПараметров Вовзращаемое значение: @ВозвращаемоеЗначение diff --git a/.gitignore b/.gitignore index 5f0015071f..0a1af1489b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ OInt/coverage/stat.json data.json *.exe test.os +/docs