mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-01-26 05:37:27 +02:00
Переработка формирования примеров CLI
This commit is contained in:
parent
e1ea790b40
commit
fc289bb4f2
@ -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");
|
||||
ПолныйТекст = "
|
||||
| <Tabs>";
|
||||
|
||||
ШаблонПримера = "
|
||||
| <TabItem value=""%1"" label=""%2"" default>
|
||||
| ```%3
|
||||
|
|
||||
| ```
|
||||
| </TabItem>";
|
||||
|
||||
Для Каждого ФайлВызова Из ФайлыВызова Цикл
|
||||
|
||||
ТекущийПуть = ФайлВызова.ПолноеИмя;
|
||||
ДанныеФайла = Новый ДвоичныеДанные(ТекущийПуть);
|
||||
ДанныеФайла = ПолучитьСтрокуИзДвоичныхДанных(ДанныеФайла);
|
||||
|
||||
Ключ = ФайлВызова.ИмяБезРасширения;
|
||||
Подсветка = СоответствиеПодсветки[Ключ];
|
||||
Заголовок = СоответствиеЗаголовков[Ключ];
|
||||
|
||||
ПолныйТекст = ПолныйТекст + Символы.ПС + СтрШаблон(ШаблонПримера, Ключ, Заголовок, Подсветка);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ПолныйТекст = ПолныйТекст + Символы.ПС + "</Tabs>";
|
||||
|
||||
Возврат ПолныйТекст;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОпределитьЗначениеОпции(Опция, Значение = "")
|
||||
|
||||
Если ЗначениеЗаполнено(Значение) Тогда
|
||||
|
@ -156,7 +156,7 @@ window.yaContextCb.push(() => {
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.github,
|
||||
additionalLanguages: ['powershell','json','bsl']
|
||||
additionalLanguages: ['powershell','json','bsl','batch','sh']
|
||||
},
|
||||
}),
|
||||
};
|
||||
|
@ -23,14 +23,9 @@ sidebar_position: @Счетчик
|
||||
```bsl title="Code example"
|
||||
@Вызов1С
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="CLI command example"
|
||||
|
||||
|
||||
@ВызовCLI
|
||||
|
||||
```
|
||||
|
||||
```json title="Result"
|
||||
@Результат
|
||||
|
@ -23,14 +23,9 @@ sidebar_position: @Счетчик
|
||||
```bsl title="Пример кода"
|
||||
@Вызов1С
|
||||
```
|
||||
|
||||
|
||||
|
||||
```sh title="Пример команды CLI"
|
||||
|
||||
@ВызовCLI
|
||||
|
||||
```
|
||||
|
||||
```json title="Результат"
|
||||
@Результат
|
||||
|
Loading…
x
Reference in New Issue
Block a user