From fc289bb4f2a8b08ebd9523b940cbd303f082241b Mon Sep 17 00:00:00 2001 From: Anton Titovets Date: Tue, 15 Oct 2024 09:29:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D1=80=D0=BE=D0=B2=20CLI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci/os/docs_main.os | 141 +++++++++++++-------------- docs/docusaurus/docusaurus.config.js | 2 +- service/templates/doc_en.md | 7 +- service/templates/doc_ru.md | 5 - 4 files changed, 72 insertions(+), 83 deletions(-) diff --git a/ci/os/docs_main.os b/ci/os/docs_main.os index 1e8dbba90e..4068aa8d50 100644 --- a/ci/os/docs_main.os +++ b/ci/os/docs_main.os @@ -47,7 +47,7 @@ КаталогЛогов = "./docs/" + Язык + "/results/"; КаталогПримеров = "./docs/" + Язык + "/examples/"; КаталогЗначений = "./docs/" + Язык + "/data/"; - КаталогCLI = "./docs/" + Язык + "/cli/"; + КаталогCLI = "./docs/" + Язык + "/cli/NEW_CLI/"; СписокОбластей = Новый СписокЗначений(); ТекущаяОбласть = ""; СчетчикОбласти = 0; @@ -163,78 +163,22 @@ ТаблицаПараметров = ""; Вызов1С = ПолучитьВызов1С(СтруктураМетода["ИмяМодуля"], СтруктураМетода["ИмяМетода"]); - - ПутьCLI = КаталогCLI + ИмяМодуляБезПрефикса + "/" + СтруктураМетода["ИмяМетода"] + ".txt"; - ФайлCLI = Новый Файл(ПутьCLI); - ВызовCLI = ""; - - Если Не ФайлCLI.Существует() Тогда - - КаталогТекущиегоCLI = КаталогCLI + ИмяМодуляБезПрефикса; - ФайлКаталога = Новый Файл(КаталогТекущиегоCLI); - - Если Не ФайлКаталога.Существует() Тогда - СоздатьКаталог(КаталогТекущиегоCLI); + ВызовCLI = ПолучитьВызовCLI(ИмяМодуляБезПрефикса, СтруктураМетода); + + Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл + + Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) Или Не СтруктураМетода["ЕстьCLI"] Тогда + Сообщить("Метод не имеет опции: " + СтруктураМетода["Заголовок"]); + Возврат; КонецЕсли; - ВызовCLI = "oint " + СтруктураМетода["Команда"] + " " + СтруктураМетода["ИмяМетода"]; - - Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл - - Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) Или Не СтруктураМетода["ЕстьCLI"] Тогда - Сообщить("Метод не имеет опции: " + СтруктураМетода["Заголовок"]); - Возврат; - КонецЕсли; - - ТаблицаПараметров = ТаблицаПараметров + " | " - + ПараметрМетода.Имя + " | " - + ПараметрМетода.Опция + " | " - + ПараметрМетода.Типы + " | " - + ПараметрМетода.Описание + " |" - + Символы.ПС; - - ВызовCLI = ВызовCLI + " " + ПараметрМетода.Опция + " "; - ВызовCLI = ВызовCLI + ОпределитьЗначениеОпции(ПараметрМетода.Опция, СтруктураЗначений[ПараметрМетода.Имя]); - - КонецЦикла; - - ВызовCLI = СокрЛП(ВызовCLI); - ТекстCLI = Новый ТекстовыйДокумент(); - ТекстCLI.УстановитьТекст(ВызовCLI); - ТекстCLI.Записать(ПутьCLI); - - Иначе - - Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл - - Если Не ЗначениеЗаполнено(ПараметрМетода.Опция) Или Не СтруктураМетода["ЕстьCLI"] Тогда - Сообщить("Метод не имеет опции: " + СтруктураМетода["Заголовок"]); - Возврат; - КонецЕсли; - - ТаблицаПараметров = ТаблицаПараметров + " | " - + ПараметрМетода.Имя + " | " - + ПараметрМетода.Опция + " | " - + ПараметрМетода.Типы + " | " - + ПараметрМетода.Описание + " |" - + Символы.ПС; - КонецЦикла; - - ТекстCLI = Новый ТекстовыйДокумент(); - ТекстCLI.Прочитать(ПутьCLI); - - Для Н = 1 По ТекстCLI.КоличествоСтрок() Цикл - ТекущаяСтрока = СокрЛП(ТекстCLI.ПолучитьСтроку(Н)); - Если ЗначениеЗаполнено(ТекущаяСтрока) Тогда - ВызовCLI = ВызовCLI + " " + ТекущаяСтрока + Символы.ПС; - КонецЕсли; - КонецЦикла; - - Если ЗначениеЗаполнено(ВызовCLI) Тогда - ВызовCLI = Лев(ВызовCLI, СтрДлина(ВызовCLI) - 1); - КонецЕсли; - - КонецЕсли; + ТаблицаПараметров = ТаблицаПараметров + " | " + + ПараметрМетода.Имя + " | " + + ПараметрМетода.Опция + " | " + + ПараметрМетода.Типы + " | " + + ПараметрМетода.Описание + " |" + + Символы.ПС; + КонецЦикла; Макет = СтрЗаменить(Макет, "@Вызов1С" , Вызов1С); Макет = СтрЗаменить(Макет, "@ВызовCLI" , ВызовCLI); @@ -568,6 +512,61 @@ КонецФункции +Функция ПолучитьВызовCLI(СтруктураМетода) + + ПутьCLI = КаталогCLI + СтруктураМетода["Команда"];; + ФайлCLI = Новый Файл(ПутьCLI); + ВызовCLI = ""; + + Если Не ФайлCLI.Существует() Тогда + + Возврат ""; + + Иначе + + СоответствиеПодсветки = Новый Соответствие(); + СоответствиеПодсветки.Вставить("bat" , "batch"); + СоответствиеПодсветки.Вставить("bash" , "sh"); + СоответствиеПодсветки.Вставить("single", "powershell"); + + СоответствиеЗаголовков = Новый Соответствие(); + СоответствиеЗаголовков.Вставить("bat" , "CMD/Bat"); + СоответствиеЗаголовков.Вставить("bash" , "Bash"); + СоответствиеЗаголовков.Вставить("single", "*"); + + ФайлыВызова = НайтиФайлы(ПутьCLI, "*.txt"); + ПолныйТекст = " + | "; + + ШаблонПримера = " + | + | ```%3 + | + | ``` + | "; + + Для Каждого ФайлВызова Из ФайлыВызова Цикл + + ТекущийПуть = ФайлВызова.ПолноеИмя; + ДанныеФайла = Новый ДвоичныеДанные(ТекущийПуть); + ДанныеФайла = ПолучитьСтрокуИзДвоичныхДанных(ДанныеФайла); + + Ключ = ФайлВызова.ИмяБезРасширения; + Подсветка = СоответствиеПодсветки[Ключ]; + Заголовок = СоответствиеЗаголовков[Ключ]; + + ПолныйТекст = ПолныйТекст + Символы.ПС + СтрШаблон(ШаблонПримера, Ключ, Заголовок, Подсветка); + + КонецЦикла; + + ПолныйТекст = ПолныйТекст + Символы.ПС + ""; + + Возврат ПолныйТекст; + + КонецЕсли; + +КонецФункции + Функция ОпределитьЗначениеОпции(Опция, Значение = "") Если ЗначениеЗаполнено(Значение) Тогда diff --git a/docs/docusaurus/docusaurus.config.js b/docs/docusaurus/docusaurus.config.js index 383dce392e..62d5643a21 100644 --- a/docs/docusaurus/docusaurus.config.js +++ b/docs/docusaurus/docusaurus.config.js @@ -156,7 +156,7 @@ window.yaContextCb.push(() => { prism: { theme: prismThemes.github, darkTheme: prismThemes.github, - additionalLanguages: ['powershell','json','bsl'] + additionalLanguages: ['powershell','json','bsl','batch','sh'] }, }), }; diff --git a/service/templates/doc_en.md b/service/templates/doc_en.md index e19cbcf82c..c5f7c1546b 100644 --- a/service/templates/doc_en.md +++ b/service/templates/doc_en.md @@ -23,14 +23,9 @@ sidebar_position: @Счетчик ```bsl title="Code example" @Вызов1С ``` - - - -```sh title="CLI command example" - + @ВызовCLI -``` ```json title="Result" @Результат diff --git a/service/templates/doc_ru.md b/service/templates/doc_ru.md index 525920727b..7d957a17fa 100644 --- a/service/templates/doc_ru.md +++ b/service/templates/doc_ru.md @@ -23,14 +23,9 @@ sidebar_position: @Счетчик ```bsl title="Пример кода" @Вызов1С ``` - - - -```sh title="Пример команды CLI" @ВызовCLI -``` ```json title="Результат" @Результат