mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-25 21:39:21 +02:00
Переработка формирования примеров CLI
This commit is contained in:
parent
86e06bb83a
commit
cbaeebd799
@ -47,7 +47,7 @@
|
|||||||
КаталогЛогов = "./docs/" + Язык + "/results/";
|
КаталогЛогов = "./docs/" + Язык + "/results/";
|
||||||
КаталогПримеров = "./docs/" + Язык + "/examples/";
|
КаталогПримеров = "./docs/" + Язык + "/examples/";
|
||||||
КаталогЗначений = "./docs/" + Язык + "/data/";
|
КаталогЗначений = "./docs/" + Язык + "/data/";
|
||||||
КаталогCLI = "./docs/" + Язык + "/cli/";
|
КаталогCLI = "./docs/" + Язык + "/cli/NEW_CLI/";
|
||||||
СписокОбластей = Новый СписокЗначений();
|
СписокОбластей = Новый СписокЗначений();
|
||||||
ТекущаяОбласть = "";
|
ТекущаяОбласть = "";
|
||||||
СчетчикОбласти = 0;
|
СчетчикОбласти = 0;
|
||||||
@ -163,78 +163,22 @@
|
|||||||
|
|
||||||
ТаблицаПараметров = "";
|
ТаблицаПараметров = "";
|
||||||
Вызов1С = ПолучитьВызов1С(СтруктураМетода["ИмяМодуля"], СтруктураМетода["ИмяМетода"]);
|
Вызов1С = ПолучитьВызов1С(СтруктураМетода["ИмяМодуля"], СтруктураМетода["ИмяМетода"]);
|
||||||
|
ВызовCLI = ПолучитьВызовCLI(ИмяМодуляБезПрефикса, СтруктураМетода);
|
||||||
|
|
||||||
ПутьCLI = КаталогCLI + ИмяМодуляБезПрефикса + "/" + СтруктураМетода["ИмяМетода"] + ".txt";
|
Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл
|
||||||
Файл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С);
|
Макет = СтрЗаменить(Макет, "@Вызов1С" , Вызов1С);
|
||||||
Макет = СтрЗаменить(Макет, "@ВызовCLI" , ВызовCLI);
|
Макет = СтрЗаменить(Макет, "@Вызов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: {
|
prism: {
|
||||||
theme: prismThemes.github,
|
theme: prismThemes.github,
|
||||||
darkTheme: prismThemes.github,
|
darkTheme: prismThemes.github,
|
||||||
additionalLanguages: ['powershell','json','bsl']
|
additionalLanguages: ['powershell','json','bsl','batch','sh']
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
@ -24,13 +24,8 @@ sidebar_position: @Счетчик
|
|||||||
@Вызов1С
|
@Вызов1С
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```sh title="CLI command example"
|
|
||||||
|
|
||||||
@ВызовCLI
|
@ВызовCLI
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
```json title="Result"
|
```json title="Result"
|
||||||
@Результат
|
@Результат
|
||||||
|
@ -24,13 +24,8 @@ sidebar_position: @Счетчик
|
|||||||
@Вызов1С
|
@Вызов1С
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```sh title="Пример команды CLI"
|
|
||||||
|
|
||||||
@ВызовCLI
|
@ВызовCLI
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
```json title="Результат"
|
```json title="Результат"
|
||||||
@Результат
|
@Результат
|
||||||
|
Loading…
x
Reference in New Issue
Block a user