Ответственность: предоставляет main.typ и публичным примерам стабильный API, скрывая внутренние DDD-слои и файловую структуру.
Расположение: .template/lib/index.typ
| Символ | Тип | Описание |
|---|---|---|
document() |
show-функция | Собирает документ из явно переданных company, profile, options и body |
profiles |
module namespace | Конструкторы report, letter, commercial_offer, contract |
components |
module namespace | Поддерживаемые визуальные компоненты для пользовательского content |
references |
module namespace | vref, vrefs, eqref и bibliography helpers |
load-company() |
функция | Загружает публичный профиль и применяет явные resource overrides |
report-executor() |
функция | Разрешает сотрудника, роль, private PNG и offset |
private-company-media() |
функция | Разрешает private подпись и печать организации |
document-profile() |
конструктор dictionary | Extension contract для нового вида документа |
| Модуль | Что использует |
|---|---|
.template/lib/application/render-document.typ |
Единственный application use case |
.template/lib/presentation/profiles/*.typ |
Публичные profile constructors |
.template/lib/presentation/components.typ |
Разрешённый пользовательский набор компонентов |
.template/lib/presentation/references.typ |
Публичные helpers ссылок |
.template/lib/infrastructure/company-assets.typ |
Загрузка профилей компаний |
.template/lib/infrastructure/employees.typ |
Справочник сотрудников и private settings adapter |
main.typ и public examples используют один import фасада и не знают внутренних путей.document().none, path или content и не сканирует .private/.chapters/.assets/.Фасад является границей между пользовательским
main.typи библиотекой. Если public example импортирует domain, infrastructure или конкретный renderer напрямую, фасад недостаточен. Обратная совместимость со старым корневымtemplate.typне требуется; не создавайте alias в корне.