index.typ 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // ==========================================
  2. // SCIENTIA DOCUMENTS — ПУБЛИЧНЫЙ ФАСАД
  3. // ==========================================
  4. // Единственная точка входа для пользовательских документов.
  5. #import "api.typ" as api
  6. #import "presentation/profiles/index.typ" as profile-module
  7. #import "presentation/foundation.typ" as foundation-module
  8. #import "presentation/components.typ" as component-module
  9. #import "presentation/references.typ" as reference-module
  10. #import "presentation/lists.typ" as list-module
  11. #import "infrastructure/employees.typ" as employee-module
  12. // Сборка документа и доменные конструкторы.
  13. #let document(
  14. body,
  15. company: "scientia",
  16. profile: profile-module.report(),
  17. options: (:),
  18. ) = api.document(body, company: company, profile: profile, options: options)
  19. #let document-profile = api.document-profile
  20. #let company-profile = api.company-profile
  21. #let party = api.party
  22. #let recipient = api.recipient
  23. #let signer = api.signer
  24. #let approval = api.approval
  25. #let attachment = api.attachment
  26. #let attachment-set = api.attachment-set
  27. #let validate-attachment-set = api.validate-attachment-set
  28. #let bibliography-section = api.bibliography-section
  29. #let load-company = api.load-company
  30. #let available-companies = api.available-companies
  31. #let render-options = api.render-options
  32. // Публичный справочник сотрудников и безопасное подключение private media.
  33. #let employee-directory = employee-module.employee-directory
  34. #let empty-private-settings = employee-module.empty-private-settings
  35. #let private-company-media = employee-module.private-company-media
  36. #let report-executor = employee-module.report-executor
  37. // Профили доступны и через namespace, и короткими именами.
  38. #let profiles = profile-module
  39. #let report = profile-module.report
  40. #let letter = profile-module.letter
  41. #let commercial-offer = profile-module.commercial_offer
  42. #let contract = profile-module.contract
  43. #let contract-section = profile-module.contract_section
  44. #let commercial-terms = profile-module.commercial_terms
  45. // Стабильные переиспользуемые элементы представления.
  46. #let components = component-module
  47. #let foundation = foundation-module
  48. #let apply-foundation = foundation-module.apply-foundation
  49. #let render-media-slot = foundation-module.render-media-slot
  50. #let corp-table = component-module.corp_table
  51. #let formula = component-module.formula
  52. #let company-logo = component-module.company-logo
  53. #let signature-block = component-module.signature-block
  54. #let approval-block = component-module.approval-block
  55. #let requisites-table = component-module.requisites-table
  56. // Настраиваемые многоуровневые списки.
  57. #let numbered-list = list-module.numbered-list
  58. #let list-scheme = list-module.list-scheme
  59. #let list-level = list-module.list-level
  60. #let list-numbering = list-module.list-numbering
  61. #let list-schemes = list-module.list-schemes
  62. // Ссылки и библиографии.
  63. #let references = reference-module
  64. #let vref = reference-module.vref
  65. #let vrefs = reference-module.vrefs
  66. #let eqref = reference-module.eqref