76 lines
3.3 KiB
Typst
76 lines
3.3 KiB
Typst
// ==========================================
|
|
// SCIENTIA DOCUMENTS — ПУБЛИЧНЫЙ ФАСАД
|
|
// ==========================================
|
|
// Единственная точка входа для пользовательских документов.
|
|
|
|
#import "api.typ" as api
|
|
#import "presentation/profiles/index.typ" as profile-module
|
|
#import "presentation/foundation.typ" as foundation-module
|
|
#import "presentation/components.typ" as component-module
|
|
#import "presentation/references.typ" as reference-module
|
|
#import "presentation/lists.typ" as list-module
|
|
#import "infrastructure/employees.typ" as employee-module
|
|
|
|
// Сборка документа и доменные конструкторы.
|
|
#let document(
|
|
body,
|
|
company: "scientia",
|
|
profile: profile-module.report(),
|
|
options: (:),
|
|
) = api.document(body, company: company, profile: profile, options: options)
|
|
#let document-profile = api.document-profile
|
|
#let company-profile = api.company-profile
|
|
#let party = api.party
|
|
#let recipient = api.recipient
|
|
#let signer = api.signer
|
|
#let approval = api.approval
|
|
#let attachment = api.attachment
|
|
#let attachment-set = api.attachment-set
|
|
#let validate-attachment-set = api.validate-attachment-set
|
|
#let bibliography-section = api.bibliography-section
|
|
#let load-company = api.load-company
|
|
#let available-companies = api.available-companies
|
|
#let render-options = api.render-options
|
|
|
|
// Публичный справочник сотрудников и безопасное подключение private media.
|
|
#let employee-directory = employee-module.employee-directory
|
|
#let empty-private-settings = employee-module.empty-private-settings
|
|
#let private-company-media = employee-module.private-company-media
|
|
#let report-executor = employee-module.report-executor
|
|
|
|
// Профили доступны и через namespace, и короткими именами.
|
|
#let profiles = profile-module
|
|
#let report = profile-module.report
|
|
#let letter = profile-module.letter
|
|
#let commercial-offer = profile-module.commercial_offer
|
|
#let contract = profile-module.contract
|
|
#let contract-section = profile-module.contract_section
|
|
#let commercial-terms = profile-module.commercial_terms
|
|
|
|
// Стабильные переиспользуемые элементы представления.
|
|
#let components = component-module
|
|
#let foundation = foundation-module
|
|
#let apply-foundation = foundation-module.apply-foundation
|
|
#let render-media-slot = foundation-module.render-media-slot
|
|
#let corp-table = component-module.corp_table
|
|
#let formula = component-module.formula
|
|
#let info-block = component-module.info-block
|
|
#let company-logo = component-module.company-logo
|
|
#let signature-block = component-module.signature-block
|
|
#let approval-block = component-module.approval-block
|
|
#let requisites-table = component-module.requisites-table
|
|
|
|
// Настраиваемые многоуровневые списки.
|
|
#let bullet-list = list-module.bullet-list
|
|
#let numbered-list = list-module.numbered-list
|
|
#let list-scheme = list-module.list-scheme
|
|
#let list-level = list-module.list-level
|
|
#let list-numbering = list-module.list-numbering
|
|
#let list-schemes = list-module.list-schemes
|
|
|
|
// Ссылки и библиографии.
|
|
#let references = reference-module
|
|
#let vref = reference-module.vref
|
|
#let vrefs = reference-module.vrefs
|
|
#let eqref = reference-module.eqref
|