|
| 1 | +# Пример создания динамического контекста |
| 2 | + |
| 3 | +**Цель примера:** Познакомить с возможностями создания динамических [контекстов](https://dochub.info/docs/dochub.contexts), |
| 4 | +т.е. контекстов, данные для которых генерируются в результате выполнения |
| 5 | +[JSONata](https://jsonata.org/) запросов. |
| 6 | + |
| 7 | +# Суть примера |
| 8 | +Иногда требуется обогатить контекст дополнительной информацией или, напротив, |
| 9 | +оптимизировать его представление. |
| 10 | + |
| 11 | +В некоторых случаях требуется полностью динамический контекст, |
| 12 | +наполненный виртуальными компонентами, являющимися производной |
| 13 | +от базовой информации. |
| 14 | + |
| 15 | +Данный пример генерирует архитектурные контексты уровня L1 на базе |
| 16 | +данных архитектуры уровня L2. |
| 17 | + |
| 18 | +Результат рендеринга описанной архитектуры уровня L2: |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +Сгенерированное представление уровня L1: |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +## Файловая структура примера |
| 27 | +* components - данные архитектуры для рендеринга |
| 28 | + * components.yaml - компоненты уровня L2 |
| 29 | + * root.yaml - корневой манифест данных архитектуры |
| 30 | +* contexts - архитектурные контакты; |
| 31 | + * l1.yaml - манифест контекста уровня L1 |
| 32 | + * l2.yaml - манифест контекста уровня L2 |
| 33 | + * root.yaml - корневой манифест контекстов |
| 34 | +* images - картинки для настоящей документации |
| 35 | +* dochub.yaml - корневой манифест примера |
| 36 | + |
| 37 | +## Использование |
| 38 | +В меню плагина DocHub выберите пункты "L1" или "L2" |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | +Вносите изменения в данные архитектуры в файлах каталога [components/](./components). |
| 43 | +Наблюдайте изменения в рендеринге плагина DocHub. |
| 44 | + |
| 45 | +## Задания для практики |
| 46 | +* Добавьте определения направления связей между компонентами L1 уровня; |
| 47 | +* Реализуйте дрилдаун компонентов L1 в L2. |
0 commit comments