You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-25 22:12:29 +02:00
Правки и расширение скриптов автодокументации
This commit is contained in:
124
ci/os/docs_main.os
vendored
124
ci/os/docs_main.os
vendored
@@ -24,9 +24,15 @@
|
||||
Перем КаталогИнструкцийОригинал;
|
||||
Перем КаталогИнструкцийЛокализация;
|
||||
Перем СоответствиеМетодовПутям;
|
||||
Перем ИменаБиблиотек;
|
||||
|
||||
Процедура ПриСозданииОбъекта()
|
||||
|
||||
ЧтениеJSON = Новый ЧтениеJSON();
|
||||
ЧтениеJSON.ОткрытьФайл("./media/catalogs/names.json");
|
||||
ИменаБиблиотек = ПрочитатьJSON(ЧтениеJSON);
|
||||
ЧтениеJSON.Закрыть();
|
||||
|
||||
Языки = Новый Массив();
|
||||
Языки.Добавить("ru");
|
||||
Языки.Добавить("en");
|
||||
@@ -49,6 +55,7 @@
|
||||
КаталогПримеров = "./docs/" + Язык + "/examples/";
|
||||
КаталогЗначений = "./docs/" + Язык + "/data/";
|
||||
КаталогCLI = "./docs/" + Язык + "/cli/";
|
||||
|
||||
СписокОбластей = Новый СписокЗначений();
|
||||
ТекущаяОбласть = "";
|
||||
СчетчикОбласти = 0;
|
||||
@@ -61,12 +68,16 @@
|
||||
ПолучитьТаблицуТранслитации();
|
||||
ПроверитьСоздатьКаталог(КаталогДокументации);
|
||||
СоздатьФайлыДокументации();
|
||||
СоздатьЗаглушкиИнструкций();
|
||||
|
||||
ЗапуститьПриложение(СтрШаблон("robocopy ""./Melezh/docs/%1/md/Melezh"" ""./docs/%1/md/Addons/Melezh"" /MIR", Язык));
|
||||
КопироватьФайл(СтрШаблон("./Melezh/docs/%1/md/Melezh.mdx", Язык), СтрШаблон("./docs/%1/md/Addons/Melezh.mdx", Язык));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ДополнитьФайлСтиля();
|
||||
СоздатьЗаглушкиИконок();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -206,6 +217,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьЗаглушкиИнструкций()
|
||||
|
||||
СписокИнструкций = Новый СписокЗначений();
|
||||
|
||||
Для Каждого СуществующаяИнструкция Из НайтиФайлы("КаталогИнструкцийЛокализация", "*.md") Цикл
|
||||
СписокИнструкций.Добавить(СуществующаяИнструкция.ИмяБезРасширения);
|
||||
КонецЦикла;
|
||||
|
||||
ШаблонИнструкции = "---
|
||||
|id: %1
|
||||
|sidebar_class_name: %1
|
||||
|%2
|
||||
|---
|
||||
|
|
||||
|<img src={require('../../static/img/APIs/%1.png').default} width='64px' />
|
||||
|
|
||||
|# %1";
|
||||
|
||||
Если ТекущийЯзык = "ru" Тогда
|
||||
ШаблонТегов = "keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, %1]";
|
||||
Иначе
|
||||
ШаблонТегов = "keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, %1]";
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Библиотека Из ИменаБиблиотек Цикл
|
||||
Если СписокИнструкций.НайтиПоЗначению(Библиотека) = Неопределено Тогда
|
||||
|
||||
ТекущиеТеги = СтрШаблон(ШаблонТегов, Библиотека);
|
||||
ПолучитьДвоичныеДанныеИзСтроки(СтрШаблон(ШаблонИнструкции, Библиотека, ТекущиеТеги)).Записать(КаталогИнструкцийЛокализация + СтрШаблон("/%1.md", Библиотека));
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область РазборМодуля
|
||||
@@ -562,6 +608,84 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПрочиеФайлы
|
||||
|
||||
Процедура ДополнитьФайлСтиля()
|
||||
|
||||
ПутьКФайлуСтиля = "/docs/docusaurus/src/css/custom.css";
|
||||
|
||||
ТекстовыйДокумент = Новый ТекстовыйДокумент();
|
||||
ТекстовыйДокумент.Прочитать(ТекстовыйДокумент);
|
||||
|
||||
НомерСтрокиГенерации = Неопределено;
|
||||
|
||||
Для Н = 1 По ТекстовыйДокумент.КоличествоСтрок() Цикл
|
||||
Если СтрНайти(ТекстовыйДокумент.ПолучитьСтроку(Н), "AUTOGENERATED") > 0 Тогда
|
||||
НомерСтрокиГенерации = Н;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Если НомерСтрокиГенерации = Неопределено Тогда
|
||||
ВызватьИсключение "Строка с отметкой начала генерации не найдена в custom.css";
|
||||
КонецЕсли;
|
||||
|
||||
Пока ТекстовыйДокумент.КоличествоСтрок() > НомерСтрокиГенерации Цикл
|
||||
ТекстовыйДокумент.УдалитьСтроку(ТекстовыйДокумент.КоличествоСтрок());
|
||||
КонецЦикла;
|
||||
|
||||
МассивКлассов = Новый Массив;
|
||||
МассивСтилей = Новый Массив;
|
||||
|
||||
Для Каждого ИмяБиблиотеки Из ИменаБиблиотек Цикл
|
||||
|
||||
МассивКлассов.Добавить(СтрШаблон(".%1 a::before,", ИмяБиблиотеки));
|
||||
|
||||
МассивСтилей.Добавить(СтрШаблон(".%1 > div > a::before{
|
||||
| content: url(../../static/img/APIs/small/%1.png);
|
||||
|}", ИмяБиблиотеки));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ТекстВставки = СтрСоединить(МассивКлассов, Символы.ПС);
|
||||
ТекстВставки = ТекстВставки + "{
|
||||
| padding-right: 0.7rem;
|
||||
| padding-top: 0.4rem;
|
||||
|}
|
||||
|
|
||||
|";
|
||||
|
||||
ТекстВставки = ТекстВставки + СтрСоединить(МассивСтилей, Символы.ПС + Символы.ПС);
|
||||
ОбщийТекст = ТекстовыйДокумент.ПолучитьТекст() + Символы.ПС + ТекстВставки;
|
||||
ПолучитьДвоичныеДанныеИзСтроки(ОбщийТекст).Записать(ПутьКФайлуСтиля);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьЗаглушкиИконок()
|
||||
|
||||
ПутьКаталогаИконок = "/docs/docusaurus/static/img/APIs/";
|
||||
ПутьКаталогаМаленькихИконок = "/docs/docusaurus/static/img/APIs/small/";
|
||||
|
||||
СоздатьЗаглушкиВКаталоге(ПутьКаталогаИконок);
|
||||
СоздатьЗаглушкиВКаталоге(ПутьКаталогаМаленькихИконок);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СоздатьЗаглушкиИконок(ПутьКаталога);
|
||||
|
||||
Для Каждого ИмяБиблиотеки Из ИменаБиблиотек Цикл
|
||||
|
||||
ФайлыИконок = НайтиФайлы(ПутьКаталога, ИмяБиблиотеки + ".png");
|
||||
|
||||
Если ФайлыИконок.Количество() = 0 Тогда
|
||||
КопироватьФайл(ПутьКаталога + "default.png", ПутьКаталога + ИмяБиблиотеки + ".png");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Инструменты
|
||||
|
||||
Процедура ОчиститьКаталогиДокументов()
|
||||
|
||||
7
ci/os/internal/Modules/МетодыКаталогаAPI.os
vendored
7
ci/os/internal/Modules/МетодыКаталогаAPI.os
vendored
@@ -20,6 +20,7 @@
|
||||
СтрокаТаблицы = "|| `%1`| %3 |";
|
||||
|
||||
МассивТэгов = Новый Массив;
|
||||
МассивИменБезПробелов = Новый Массив;
|
||||
|
||||
Для Каждого КлючЗначение Из СоответствиеКаталога Цикл
|
||||
|
||||
@@ -43,11 +44,17 @@
|
||||
+ Символы.ПС;
|
||||
|
||||
МассивТэгов.Добавить(КлючЗначение.Ключ);
|
||||
МассивИменБезПробелов.Добавить(ИмяБезПробелов);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ПолучитьДвоичныеДанныеИзСтроки(ТаблицаКаталога).Записать("./media/catalogs/Catalog.md");
|
||||
|
||||
ЗаписьJSON = Новый ЗаписьJSON();
|
||||
ЗаписьJSON.ОткрытьФайл("./media/catalogs/names.json");
|
||||
ЗаписатьJSON(ЗаписьJSON, МассивИменБезПробелов);
|
||||
ЗаписьJSON.Закрыть();
|
||||
|
||||
ДополнитьReadmeОблакомТэгов(МассивТэгов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
374
docs/docusaurus/src/css/custom.css
vendored
374
docs/docusaurus/src/css/custom.css
vendored
@@ -1,10 +1,3 @@
|
||||
/**
|
||||
* Any CSS included here will be global. The classic template
|
||||
* bundles Infima by default. Infima is a CSS framework designed to
|
||||
* work well for content-centric websites.
|
||||
*/
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
:root {
|
||||
--ifm-color-primary: #ffffff;
|
||||
--ifm-color-primary-dark: #ffffff;
|
||||
@@ -192,6 +185,200 @@ li > a.menu__link {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.theme-code-block,.tabs-container{
|
||||
border: 1px solid rgba(27, 31, 35, 0.15);
|
||||
border-radius: 16px;
|
||||
box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset;
|
||||
}
|
||||
|
||||
/* CSS */
|
||||
.button {
|
||||
appearance: none;
|
||||
background-color: white;
|
||||
border: 1px solid rgba(27, 31, 35, 0.15);
|
||||
border-radius: 16px;
|
||||
box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset;
|
||||
box-sizing: border-box;
|
||||
color: #24292E;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-family: -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
list-style: none;
|
||||
padding: 6px 16px;
|
||||
position: relative;
|
||||
transition: background-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
touch-action: manipulation;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #F3F4F6;
|
||||
text-decoration: none;
|
||||
transition-duration: 0.1s;
|
||||
}
|
||||
|
||||
.button:disabled {
|
||||
background-color: #FAFBFC;
|
||||
border-color: rgba(27, 31, 35, 0.15);
|
||||
color: #959DA5;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.button:active {
|
||||
background-color: #EDEFF2;
|
||||
box-shadow: rgba(225, 228, 232, 0.2) 0 1px 0 inset;
|
||||
transition: none 0s;
|
||||
}
|
||||
|
||||
.button:focus {
|
||||
outline: 1px transparent;
|
||||
}
|
||||
|
||||
.button:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.button:-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wp_logo{
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
[class*='iconExternalLink_'] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.falling-icon {
|
||||
position: absolute;
|
||||
top: -50px;
|
||||
width: 40px;
|
||||
height: auto;
|
||||
opacity: 0;
|
||||
animation: falling linear infinite;
|
||||
will-change: transform;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@keyframes falling {
|
||||
0% {
|
||||
transform: translateY(-30px) ;
|
||||
opacity: 0.3;
|
||||
}
|
||||
25% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
transform: translateY(calc(100vh + 100px));
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Адаптивность для мобильных устройств */
|
||||
@media (max-width: 768px) {
|
||||
.falling-icon {
|
||||
width: 30px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.Messenger > div > a::before{
|
||||
content: url(../../static/img/Categories/chat.png);
|
||||
}
|
||||
|
||||
.Social > div > a::before{
|
||||
content: url(../../static/img/Categories/social-media.png);
|
||||
}
|
||||
|
||||
.Database > div > a::before{
|
||||
content: url(../../static/img/Categories/database.png);
|
||||
}
|
||||
|
||||
.Calendar > div > a::before{
|
||||
content: url(../../static/img/Categories/calendar.png);
|
||||
}
|
||||
|
||||
.CRM > div > a::before{
|
||||
content: url(../../static/img/Categories/crm.png);
|
||||
}
|
||||
|
||||
.Exchange > div > a::before{
|
||||
content: url(../../static/img/Categories/network.png);
|
||||
}
|
||||
|
||||
.Folder > div > a::before{
|
||||
content: url(../../static/img/Categories/folder.png);
|
||||
}
|
||||
|
||||
.Commerce > div > a::before{
|
||||
content: url(../../static/img/Categories/e-commerce.png);
|
||||
}
|
||||
|
||||
.Start > div > a::before{
|
||||
content: url(../../static/img/Categories/welcome.png);
|
||||
}
|
||||
|
||||
.Other > div > a::before{
|
||||
content: url(../../static/img/Categories/other.png);
|
||||
}
|
||||
|
||||
.AI > div > a::before{
|
||||
content: url(../../static/img/Categories/ai.png);
|
||||
}
|
||||
|
||||
.WebUI > div > a::before{
|
||||
content: url(../../static/img/Categories/webui.png);
|
||||
}
|
||||
|
||||
.CL > div > a::before{
|
||||
content: url(../../static/img/Categories/cl.png);
|
||||
}
|
||||
|
||||
.Info > div > a::before{
|
||||
content: url(../../static/img/Categories/info.png);
|
||||
}
|
||||
|
||||
.Addons > a::before{
|
||||
content: url(../../static/img/Categories/addons.png);
|
||||
}
|
||||
|
||||
.Melezh > a::before{
|
||||
content: url(../../static/img/Categories/melezh.png);
|
||||
}
|
||||
|
||||
.Messenger a::before,
|
||||
.Social a::before,
|
||||
.Database a::before,
|
||||
.Folder a::before,
|
||||
.Calendar a::before,
|
||||
.CRM a::before,
|
||||
.Commerce a::before,
|
||||
.Start a::before,
|
||||
.Other a::before,
|
||||
.AI a:before,
|
||||
.Exchange a::before,
|
||||
.Addons a::before,
|
||||
.Melezh a::before,
|
||||
.CL a::before,
|
||||
.WebUI a::before,
|
||||
.Info a::before{
|
||||
padding-right: 0.7rem;
|
||||
padding-top: 0.4rem;
|
||||
}
|
||||
|
||||
|
||||
/* AUTOGENERATED */
|
||||
|
||||
.Airtable a::before , .Telegram a::before, .VK a::before, .Viber a::before, .Twitter a::before,
|
||||
.Notion a::before, .GoogleCalendar a::before, .GoogleDrive a::before, .GoogleSheets a::before,
|
||||
.Slack a::before, .YandexDisk a::before, .Dropbox a::before, .Bitrix24 a::before, .Messenger a::before,
|
||||
@@ -199,7 +386,7 @@ li > a.menu__link {
|
||||
.VKTeams a::before, .S3 a::before, .TCP a::before, .Neocities a::before, .CDEK a::before, .Start a::before,
|
||||
.Other a::before, .SQLite a::before, .PostgreSQL a::before, .GreenAPI a::before, .RCON a::before, .MySQL a::before, .MSSQL a::before, .AI a:before,
|
||||
.Ollama a::before, .Exchange a::before, .HTTP a::before, .OpenAI a::before, .Addons a::before, .Melezh a::before, .CL a::before, .WebUI a::before,
|
||||
.Info a::before, .FTP a::before, .SFTP a::before, .SSH a::before, .GreenMax a::before{
|
||||
.Info a::before, .FTP a::before, .SFTP a::before, .SSH a::before, .GreenMax a::before, .MongoDB a::before{
|
||||
padding-right: 0.7rem;
|
||||
padding-top: 0.4rem;
|
||||
}
|
||||
@@ -308,6 +495,9 @@ li > a.menu__link {
|
||||
content: url(../../static/img/APIs/small/GreenMax.png);
|
||||
}
|
||||
|
||||
.MongoDB > div > a::before{
|
||||
content: url(../../static/img/APIs/small/MongoDB.png);
|
||||
}
|
||||
|
||||
.Ollama > div > a::before{
|
||||
content: url(../../static/img/APIs/small/Ollama.png);
|
||||
@@ -329,171 +519,3 @@ li > a.menu__link {
|
||||
content: url(../../static/img/APIs/small/SSH.png);
|
||||
}
|
||||
|
||||
.Messenger > div > a::before{
|
||||
content: url(../../static/img/Categories/chat.png);
|
||||
}
|
||||
|
||||
.Social > div > a::before{
|
||||
content: url(../../static/img/Categories/social-media.png);
|
||||
}
|
||||
|
||||
.Database > div > a::before{
|
||||
content: url(../../static/img/Categories/database.png);
|
||||
}
|
||||
|
||||
.Calendar > div > a::before{
|
||||
content: url(../../static/img/Categories/calendar.png);
|
||||
}
|
||||
|
||||
.CRM > div > a::before{
|
||||
content: url(../../static/img/Categories/crm.png);
|
||||
}
|
||||
|
||||
.Exchange > div > a::before{
|
||||
content: url(../../static/img/Categories/network.png);
|
||||
}
|
||||
|
||||
.Folder > div > a::before{
|
||||
content: url(../../static/img/Categories/folder.png);
|
||||
}
|
||||
|
||||
.Commerce > div > a::before{
|
||||
content: url(../../static/img/Categories/e-commerce.png);
|
||||
}
|
||||
|
||||
.Start > div > a::before{
|
||||
content: url(../../static/img/Categories/welcome.png);
|
||||
}
|
||||
|
||||
.Other > div > a::before{
|
||||
content: url(../../static/img/Categories/other.png);
|
||||
}
|
||||
|
||||
.AI > div > a::before{
|
||||
content: url(../../static/img/Categories/ai.png);
|
||||
}
|
||||
|
||||
.WebUI > div > a::before{
|
||||
content: url(../../static/img/Categories/webui.png);
|
||||
}
|
||||
|
||||
.CL > div > a::before{
|
||||
content: url(../../static/img/Categories/cl.png);
|
||||
}
|
||||
|
||||
.Info > div > a::before{
|
||||
content: url(../../static/img/Categories/info.png);
|
||||
}
|
||||
|
||||
.Addons > a::before{
|
||||
content: url(../../static/img/Categories/addons.png);
|
||||
}
|
||||
|
||||
.Melezh > a::before{
|
||||
content: url(../../static/img/Categories/melezh.png);
|
||||
}
|
||||
|
||||
.theme-code-block,.tabs-container{
|
||||
border: 1px solid rgba(27, 31, 35, 0.15);
|
||||
border-radius: 16px;
|
||||
box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset;
|
||||
}
|
||||
|
||||
/* CSS */
|
||||
.button {
|
||||
appearance: none;
|
||||
background-color: white;
|
||||
border: 1px solid rgba(27, 31, 35, 0.15);
|
||||
border-radius: 16px;
|
||||
box-shadow: rgba(27, 31, 35, 0.04) 0 1px 0, rgba(255, 255, 255, 0.25) 0 1px 0 inset;
|
||||
box-sizing: border-box;
|
||||
color: #24292E;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-family: -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
list-style: none;
|
||||
padding: 6px 16px;
|
||||
position: relative;
|
||||
transition: background-color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
touch-action: manipulation;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #F3F4F6;
|
||||
text-decoration: none;
|
||||
transition-duration: 0.1s;
|
||||
}
|
||||
|
||||
.button:disabled {
|
||||
background-color: #FAFBFC;
|
||||
border-color: rgba(27, 31, 35, 0.15);
|
||||
color: #959DA5;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.button:active {
|
||||
background-color: #EDEFF2;
|
||||
box-shadow: rgba(225, 228, 232, 0.2) 0 1px 0 inset;
|
||||
transition: none 0s;
|
||||
}
|
||||
|
||||
.button:focus {
|
||||
outline: 1px transparent;
|
||||
}
|
||||
|
||||
.button:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.button:-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wp_logo{
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
[class*='iconExternalLink_'] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.falling-icon {
|
||||
position: absolute;
|
||||
top: -50px;
|
||||
width: 40px;
|
||||
height: auto;
|
||||
opacity: 0;
|
||||
animation: falling linear infinite;
|
||||
will-change: transform;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@keyframes falling {
|
||||
0% {
|
||||
transform: translateY(-30px) ;
|
||||
opacity: 0.3;
|
||||
}
|
||||
25% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
transform: translateY(calc(100vh + 100px));
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Адаптивность для мобильных устройств */
|
||||
@media (max-width: 768px) {
|
||||
.falling-icon {
|
||||
width: 30px !important;
|
||||
}
|
||||
}
|
||||
BIN
docs/docusaurus/static/img/APIs/default.png
vendored
Normal file
BIN
docs/docusaurus/static/img/APIs/default.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
docs/docusaurus/static/img/APIs/small/default.png
vendored
Normal file
BIN
docs/docusaurus/static/img/APIs/small/default.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 780 B |
11
docs/en/md/Instructions/MongoDB.md
vendored
Normal file
11
docs/en/md/Instructions/MongoDB.md
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
id: MongoDB
|
||||
sidebar_class_name: MongoDB
|
||||
---
|
||||
|
||||
<img src={require('../../static/img/APIs/MongoDB.png').default} width='64px' />
|
||||
|
||||
# MongoDB
|
||||
|
||||
This section is dedicated to the library for working with MongoDB. On this page, all the steps necessary to start working are described
|
||||
|
||||
1
docs/en/md/sidebars.js
vendored
1
docs/en/md/sidebars.js
vendored
@@ -42,6 +42,7 @@
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/SQLite'}, label: 'SQLite', className: 'SQLite', items:[{type: 'autogenerated', dirName: 'SQLite'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/MySQL'}, label: 'MySQL', className: 'MySQL', items:[{type: 'autogenerated', dirName: 'MySQL'}]},
|
||||
{ type: 'category', link: {type: 'doc', id:'Instructions/MSSQL' }, label: 'MS SQL Server', className: 'MSSQL', items: [{ type: 'autogenerated', dirName: 'MSSQL' }] },
|
||||
{ type: 'category', link: { type: 'doc', id: 'Instructions/MongoDB' }, label: 'MongoDB', className: 'MongoDB', items: [{ type: 'autogenerated', dirName: 'MongoDB' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user