metanorma-document 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +72 -81
  3. data/CLAUDE.md +26 -0
  4. data/README.adoc +144 -0
  5. data/Rakefile +14 -2
  6. data/TODO.finalize/01-split-multi-class-files.md +8 -0
  7. data/TODO.finalize/02-remove-data-dist-iso-document-frontend.md +6 -0
  8. data/TODO.finalize/03-align-frontend-iife-and-gha-build.md +11 -0
  9. data/TODO.finalize/04-theme-per-flavor-config-driven.md +9 -0
  10. data/TODO.finalize/05-migrate-all-html-to-liquid.md +16 -0
  11. data/TODO.finalize/06-integrate-pubid-library.md +16 -0
  12. data/TODO.finalize/07-replace-relaton-models-with-relaton-bib.md +39 -0
  13. data/TODO.finalize/08-refactor-renderer-architecture.md +25 -0
  14. data/TODO.finalize/09-eliminate-code-smells.md +14 -0
  15. data/TODO.finalize/10-comprehensive-spec-coverage.md +24 -0
  16. data/TODO.finalize/11-config-driven-flavor-metadata.md +20 -0
  17. data/TODO.finalize/12-add-frozen-string-literal.md +6 -0
  18. data/TODO.finalize/13-extract-composition-from-god-class.md +96 -0
  19. data/TODO.finalize/14-config-driven-section-ordering.md +31 -0
  20. data/TODO.finalize/15-theme-directories-per-flavor.md +46 -0
  21. data/TODO.finalize/16-theme-lutaml-model-schema.md +44 -0
  22. data/data/javascripts/components/mn-footnotes.js +68 -0
  23. data/data/javascripts/components/mn-lightbox.js +18 -2
  24. data/data/javascripts/components/mn-shortcuts.js +2 -0
  25. data/data/javascripts/core/mn-navigation.js +8 -0
  26. data/data/javascripts/core/mn-theme.js +9 -9
  27. data/data/logos/oiml-logo-full-dark.svg +1 -0
  28. data/data/logos/oiml-logo-full-light.svg +1 -0
  29. data/data/logos/oiml-logo-icon-dark.svg +1 -0
  30. data/data/logos/oiml-logo-icon-light.svg +1 -0
  31. data/data/logos/oiml-logo.svg +1 -0
  32. data/data/logos/pdfa-logo.svg +31 -94
  33. data/data/stylesheets/base/_layout.css +3 -0
  34. data/data/stylesheets/base/_reset.css +3 -3
  35. data/data/stylesheets/base/_typography.css +0 -5
  36. data/data/stylesheets/components/bibliography.css +3 -3
  37. data/data/stylesheets/components/cover.css +3 -1
  38. data/data/stylesheets/components/figure.css +13 -1
  39. data/data/stylesheets/components/footnote.css +65 -5
  40. data/data/stylesheets/components/formula.css +44 -0
  41. data/data/stylesheets/components/header.css +17 -2
  42. data/data/stylesheets/components/inline.css +1 -1
  43. data/data/stylesheets/components/table.css +15 -2
  44. data/data/stylesheets/components/term.css +0 -1
  45. data/data/themes/bipm.yaml +60 -0
  46. data/data/themes/cc.yaml +43 -0
  47. data/data/themes/icc.yaml +39 -0
  48. data/data/themes/iec.yaml +44 -0
  49. data/data/themes/ieee.yaml +43 -0
  50. data/data/themes/ietf.yaml +45 -0
  51. data/data/themes/iho.yaml +46 -0
  52. data/data/themes/iso.yaml +40 -0
  53. data/data/themes/itu.yaml +45 -0
  54. data/data/themes/ogc.yaml +51 -0
  55. data/data/themes/oiml.yaml +56 -0
  56. data/data/themes/pdfa.yaml +44 -0
  57. data/data/themes/ribose.yaml +43 -0
  58. data/exe/metanorma-document +11 -0
  59. data/frontend/e2e/sample-html.test.ts +256 -0
  60. data/frontend/index.html +12 -0
  61. data/frontend/package-lock.json +4725 -0
  62. data/frontend/package.json +32 -0
  63. data/frontend/postcss.config.js +6 -0
  64. data/frontend/src/App.vue +79 -0
  65. data/frontend/src/app.ts +21 -0
  66. data/frontend/src/components/AppSidebar.vue +77 -0
  67. data/frontend/src/components/DocumentReader.vue +180 -0
  68. data/frontend/src/components/MirrorRenderer.vue +23 -0
  69. data/frontend/src/components/ReadingProgressBar.vue +29 -0
  70. data/frontend/src/components/TextRenderer.vue +131 -0
  71. data/frontend/src/components/TocItem.vue +57 -0
  72. data/frontend/src/components/TopBar.vue +49 -0
  73. data/frontend/src/components/__tests__/MirrorRenderer.test.ts +178 -0
  74. data/frontend/src/components/blocks/AdmonitionBlock.vue +74 -0
  75. data/frontend/src/components/blocks/ClauseBlock.vue +53 -0
  76. data/frontend/src/components/blocks/ExampleBlock.vue +21 -0
  77. data/frontend/src/components/blocks/FallbackBlock.vue +18 -0
  78. data/frontend/src/components/blocks/FigureBlock.vue +26 -0
  79. data/frontend/src/components/blocks/FootnotesBlock.vue +25 -0
  80. data/frontend/src/components/blocks/ListBlocks.vue +62 -0
  81. data/frontend/src/components/blocks/NoteBlock.vue +21 -0
  82. data/frontend/src/components/blocks/ParagraphBlock.vue +25 -0
  83. data/frontend/src/components/blocks/QuoteBlock.vue +25 -0
  84. data/frontend/src/components/blocks/ReviewBlock.vue +39 -0
  85. data/frontend/src/components/blocks/SourcecodeBlock.vue +52 -0
  86. data/frontend/src/components/blocks/TableBlock.vue +48 -0
  87. data/frontend/src/components/blocks/index.ts +36 -0
  88. data/frontend/src/stores/__tests__/documentStore.fixture.test.ts +272 -0
  89. data/frontend/src/stores/__tests__/documentStore.test.ts +143 -0
  90. data/frontend/src/stores/__tests__/ebookStore.test.ts +145 -0
  91. data/frontend/src/stores/__tests__/uiStore.test.ts +42 -0
  92. data/frontend/src/stores/documentStore.ts +153 -0
  93. data/frontend/src/stores/ebookStore.ts +179 -0
  94. data/frontend/src/stores/uiStore.ts +32 -0
  95. data/frontend/src/styles.css +156 -0
  96. data/frontend/src/types/__tests__/rendering-contract.test.ts +172 -0
  97. data/frontend/src/types/rendering-contract.ts +209 -0
  98. data/frontend/src/utils/__tests__/typeMetadata.test.ts +102 -0
  99. data/frontend/src/utils/typeMetadata.ts +121 -0
  100. data/frontend/tailwind.config.js +18 -0
  101. data/frontend/test/fixtures/iso-document.json +271 -0
  102. data/frontend/tmp/debug_e2e.cjs +46 -0
  103. data/frontend/tsconfig.json +25 -0
  104. data/frontend/tsconfig.node.json +11 -0
  105. data/frontend/vite.config.ts +37 -0
  106. data/frontend/vitest.e2e.config.ts +9 -0
  107. data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +0 -14
  108. data/lib/metanorma/bipm_document/metadata/depiction_element.rb +18 -0
  109. data/lib/metanorma/bipm_document/metadata.rb +1 -1
  110. data/lib/metanorma/document/cli.rb +116 -0
  111. data/lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb +27 -0
  112. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +0 -65
  113. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb +18 -0
  114. data/lib/metanorma/document/components/ancillary_blocks.rb +4 -0
  115. data/lib/metanorma/document/components/bib_data/bib_data.rb +7 -0
  116. data/lib/metanorma/document/components/blocks/classification_value.rb +21 -0
  117. data/lib/metanorma/document/components/blocks/permission_model.rb +28 -0
  118. data/lib/metanorma/document/components/blocks/recommendation_model.rb +28 -0
  119. data/lib/metanorma/document/components/blocks/requirement_base.rb +30 -0
  120. data/lib/metanorma/document/components/blocks/requirement_classification.rb +20 -0
  121. data/lib/metanorma/document/components/blocks/requirement_description.rb +43 -0
  122. data/lib/metanorma/document/components/blocks/requirement_inherit.rb +24 -0
  123. data/lib/metanorma/document/components/blocks/requirement_model.rb +0 -131
  124. data/lib/metanorma/document/components/blocks.rb +8 -7
  125. data/lib/metanorma/document/components/id_elements/image.rb +2 -0
  126. data/lib/metanorma/document/components/inline/asciimath_element.rb +2 -0
  127. data/lib/metanorma/document/components/inline/attribution_element.rb +2 -0
  128. data/lib/metanorma/document/components/inline/bcp14_element.rb +2 -0
  129. data/lib/metanorma/document/components/inline/biblio_tag_element.rb +2 -0
  130. data/lib/metanorma/document/components/inline/br_element.rb +2 -0
  131. data/lib/metanorma/document/components/inline/comma_element.rb +2 -0
  132. data/lib/metanorma/document/components/inline/concept_element.rb +2 -0
  133. data/lib/metanorma/document/components/inline/display_text_element.rb +2 -0
  134. data/lib/metanorma/document/components/inline/em_raw_element.rb +2 -0
  135. data/lib/metanorma/document/components/inline/enum_comma_element.rb +2 -0
  136. data/lib/metanorma/document/components/inline/eref_element.rb +2 -0
  137. data/lib/metanorma/document/components/inline/fmt_admitted_element.rb +4 -0
  138. data/lib/metanorma/document/components/inline/fmt_annotation_body_element.rb +4 -0
  139. data/lib/metanorma/document/components/inline/fmt_annotation_end_element.rb +4 -0
  140. data/lib/metanorma/document/components/inline/fmt_annotation_start_element.rb +4 -0
  141. data/lib/metanorma/document/components/inline/fmt_concept_element.rb +4 -0
  142. data/lib/metanorma/document/components/inline/fmt_definition_element.rb +4 -0
  143. data/lib/metanorma/document/components/inline/fmt_fn_body_element.rb +4 -0
  144. data/lib/metanorma/document/components/inline/fmt_fn_label_element.rb +4 -0
  145. data/lib/metanorma/document/components/inline/fmt_footnote_container_element.rb +4 -0
  146. data/lib/metanorma/document/components/inline/fmt_identifier_element.rb +4 -0
  147. data/lib/metanorma/document/components/inline/fmt_name_element.rb +4 -0
  148. data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +4 -0
  149. data/lib/metanorma/document/components/inline/fmt_sourcecode_element.rb +4 -0
  150. data/lib/metanorma/document/components/inline/fmt_stem_element.rb +10 -0
  151. data/lib/metanorma/document/components/inline/fmt_termsource_element.rb +4 -0
  152. data/lib/metanorma/document/components/inline/fmt_title_element.rb +4 -0
  153. data/lib/metanorma/document/components/inline/fmt_xref_element.rb +4 -0
  154. data/lib/metanorma/document/components/inline/fmt_xref_label_element.rb +4 -0
  155. data/lib/metanorma/document/components/inline/fn_element.rb +2 -0
  156. data/lib/metanorma/document/components/inline/link_element.rb +2 -0
  157. data/lib/metanorma/document/components/inline/localized_string_element.rb +2 -0
  158. data/lib/metanorma/document/components/inline/localized_strings_element.rb +2 -0
  159. data/lib/metanorma/document/components/inline/location_element.rb +24 -0
  160. data/lib/metanorma/document/components/inline/math_element.rb +2 -0
  161. data/lib/metanorma/document/components/inline/name_with_id_element.rb +4 -0
  162. data/lib/metanorma/document/components/inline/rendered_display.rb +23 -0
  163. data/lib/metanorma/document/components/inline/rendered_math_element.rb +21 -0
  164. data/lib/metanorma/document/components/inline/semantic_content.rb +51 -0
  165. data/lib/metanorma/document/components/inline/semantic_math_element.rb +20 -0
  166. data/lib/metanorma/document/components/inline/semx_child_element.rb +2 -0
  167. data/lib/metanorma/document/components/inline/semx_element.rb +12 -1
  168. data/lib/metanorma/document/components/inline/small_cap_element.rb +2 -0
  169. data/lib/metanorma/document/components/inline/span_element.rb +10 -15
  170. data/lib/metanorma/document/components/inline/stem_inline_element.rb +7 -1
  171. data/lib/metanorma/document/components/inline/strong_raw_element.rb +2 -0
  172. data/lib/metanorma/document/components/inline/sub_element.rb +2 -0
  173. data/lib/metanorma/document/components/inline/sup_element.rb +2 -0
  174. data/lib/metanorma/document/components/inline/tab_element.rb +2 -0
  175. data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +4 -0
  176. data/lib/metanorma/document/components/inline/tt_element.rb +2 -0
  177. data/lib/metanorma/document/components/inline/variant_title_element.rb +2 -0
  178. data/lib/metanorma/document/components/inline/vocabulary.rb +184 -0
  179. data/lib/metanorma/document/components/inline/xref_element.rb +10 -0
  180. data/lib/metanorma/document/components/inline.rb +12 -0
  181. data/lib/metanorma/document/components/multi_paragraph/quote_author_element.rb +20 -0
  182. data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +0 -29
  183. data/lib/metanorma/document/components/multi_paragraph.rb +2 -0
  184. data/lib/metanorma/document/components/reference_elements/source_element.rb +0 -31
  185. data/lib/metanorma/document/components/reference_elements/source_modification.rb +21 -0
  186. data/lib/metanorma/document/components/reference_elements/source_origin.rb +28 -0
  187. data/lib/metanorma/document/components/reference_elements.rb +2 -2
  188. data/lib/metanorma/document/components/tables/col_element.rb +18 -0
  189. data/lib/metanorma/document/components/tables/col_group_element.rb +18 -0
  190. data/lib/metanorma/document/components/tables/table_block.rb +0 -22
  191. data/lib/metanorma/document/components/tables/table_body_section.rb +16 -0
  192. data/lib/metanorma/document/components/tables/table_foot_section.rb +16 -0
  193. data/lib/metanorma/document/components/tables/table_head_section.rb +16 -0
  194. data/lib/metanorma/document/components/tables/table_section.rb +0 -25
  195. data/lib/metanorma/document/components/tables.rb +5 -3
  196. data/lib/metanorma/document/relaton/address.rb +0 -27
  197. data/lib/metanorma/document/relaton/bib_item_locality.rb +3 -12
  198. data/lib/metanorma/document/relaton/copyright_association.rb +0 -10
  199. data/lib/metanorma/document/relaton/copyright_owner.rb +16 -0
  200. data/lib/metanorma/document/relaton/edition.rb +4 -7
  201. data/lib/metanorma/document/relaton/formatted_address.rb +29 -0
  202. data/lib/metanorma/document/relaton/logo_element.rb +18 -0
  203. data/lib/metanorma/document/relaton/organization.rb +0 -14
  204. data/lib/metanorma/document/relaton/phone.rb +3 -9
  205. data/lib/metanorma/document/relaton/place_type.rb +0 -13
  206. data/lib/metanorma/document/relaton/price_type.rb +3 -9
  207. data/lib/metanorma/document/relaton/region_element.rb +18 -0
  208. data/lib/metanorma/document/relaton.rb +6 -1
  209. data/lib/metanorma/document/version.rb +1 -1
  210. data/lib/metanorma/document.rb +2 -0
  211. data/lib/metanorma/html/asset_pipeline.rb +1 -0
  212. data/lib/metanorma/html/base_renderer.rb +284 -1057
  213. data/lib/metanorma/html/bipm_renderer.rb +15 -144
  214. data/lib/metanorma/html/cc_renderer.rb +1 -45
  215. data/lib/metanorma/html/component/base.rb +2 -14
  216. data/lib/metanorma/html/component/index_section.rb +41 -43
  217. data/lib/metanorma/html/drops/admonition_drop.rb +1 -4
  218. data/lib/metanorma/html/drops/biblio_entry_drop.rb +50 -0
  219. data/lib/metanorma/html/drops/block_element_drop.rb +7 -2
  220. data/lib/metanorma/html/drops/example_drop.rb +1 -4
  221. data/lib/metanorma/html/drops/figure_drop.rb +31 -22
  222. data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
  223. data/lib/metanorma/html/drops/formula_drop.rb +45 -16
  224. data/lib/metanorma/html/drops/note_drop.rb +9 -7
  225. data/lib/metanorma/html/drops/sourcecode_drop.rb +12 -5
  226. data/lib/metanorma/html/drops.rb +2 -0
  227. data/lib/metanorma/html/flavor.rb +45 -0
  228. data/lib/metanorma/html/flavor_registry.rb +49 -0
  229. data/lib/metanorma/html/generator.rb +108 -31
  230. data/lib/metanorma/html/icc_renderer.rb +0 -39
  231. data/lib/metanorma/html/iec_renderer.rb +1 -44
  232. data/lib/metanorma/html/ieee_renderer.rb +1 -45
  233. data/lib/metanorma/html/ietf_renderer.rb +1 -48
  234. data/lib/metanorma/html/iho_renderer.rb +1 -46
  235. data/lib/metanorma/html/iso_renderer.rb +290 -343
  236. data/lib/metanorma/html/itu_renderer.rb +1 -45
  237. data/lib/metanorma/html/ogc_renderer.rb +15 -76
  238. data/lib/metanorma/html/oiml_renderer.rb +18 -38
  239. data/lib/metanorma/html/pdfa_renderer.rb +0 -39
  240. data/lib/metanorma/html/renderer_delegation.rb +21 -0
  241. data/lib/metanorma/html/renderers/block_renderer.rb +372 -0
  242. data/lib/metanorma/html/renderers/element_order_traversal.rb +34 -0
  243. data/lib/metanorma/html/renderers/inline_renderer.rb +642 -0
  244. data/lib/metanorma/html/renderers/pubid_renderer.rb +47 -0
  245. data/lib/metanorma/html/renderers/section_renderer.rb +193 -0
  246. data/lib/metanorma/html/renderers.rb +10 -0
  247. data/lib/metanorma/html/ribose_renderer.rb +1 -45
  248. data/lib/metanorma/html/standard_renderer.rb +344 -230
  249. data/lib/metanorma/html/templates/_audio.html.liquid +1 -0
  250. data/lib/metanorma/html/templates/_biblio_entry.html.liquid +1 -0
  251. data/lib/metanorma/html/templates/_bipm_cover.html.liquid +27 -0
  252. data/lib/metanorma/html/templates/_boilerplate.html.liquid +1 -0
  253. data/lib/metanorma/html/templates/_bookmark.html.liquid +1 -0
  254. data/lib/metanorma/html/templates/_br.html.liquid +1 -0
  255. data/lib/metanorma/html/templates/_definition_list.html.liquid +6 -0
  256. data/lib/metanorma/html/templates/_element.html.liquid +1 -0
  257. data/lib/metanorma/html/templates/_fn_marker.html.liquid +1 -0
  258. data/lib/metanorma/html/templates/_footnotes.html.liquid +6 -6
  259. data/lib/metanorma/html/templates/_formula.html.liquid +1 -1
  260. data/lib/metanorma/html/templates/_header.html.liquid +1 -1
  261. data/lib/metanorma/html/templates/_heading.html.liquid +1 -0
  262. data/lib/metanorma/html/templates/_image.html.liquid +1 -0
  263. data/lib/metanorma/html/templates/_inline_span.html.liquid +1 -0
  264. data/lib/metanorma/html/templates/_iso_cover.html.liquid +1 -1
  265. data/lib/metanorma/html/templates/_link.html.liquid +1 -0
  266. data/lib/metanorma/html/templates/_list.html.liquid +3 -0
  267. data/lib/metanorma/html/templates/_list_item.html.liquid +1 -0
  268. data/lib/metanorma/html/templates/_main_content.html.liquid +1 -0
  269. data/lib/metanorma/html/templates/_math_container.html.liquid +1 -0
  270. data/lib/metanorma/html/templates/_paragraph.html.liquid +1 -0
  271. data/lib/metanorma/html/templates/_prefatory_section.html.liquid +1 -0
  272. data/lib/metanorma/html/templates/_pubid_identifier.html.liquid +1 -0
  273. data/lib/metanorma/html/templates/_quote.html.liquid +4 -0
  274. data/lib/metanorma/html/templates/_ref_date.html.liquid +1 -0
  275. data/lib/metanorma/html/templates/_ref_title.html.liquid +1 -0
  276. data/lib/metanorma/html/templates/_section.html.liquid +5 -0
  277. data/lib/metanorma/html/templates/_standard_cover.html.liquid +31 -0
  278. data/lib/metanorma/html/templates/_standard_doc_title.html.liquid +3 -0
  279. data/lib/metanorma/html/templates/_stem_span.html.liquid +1 -0
  280. data/lib/metanorma/html/templates/_table.html.liquid +9 -0
  281. data/lib/metanorma/html/templates/_term_domain.html.liquid +1 -0
  282. data/lib/metanorma/html/templates/_term_example.html.liquid +1 -0
  283. data/lib/metanorma/html/templates/_term_note.html.liquid +1 -0
  284. data/lib/metanorma/html/templates/_term_number.html.liquid +1 -0
  285. data/lib/metanorma/html/templates/_term_source.html.liquid +1 -0
  286. data/lib/metanorma/html/templates/_term_text_note.html.liquid +1 -0
  287. data/lib/metanorma/html/templates/_video.html.liquid +1 -0
  288. data/lib/metanorma/html/templates/_wrapped_preface.html.liquid +1 -0
  289. data/lib/metanorma/html/templates/document.html.liquid +4 -0
  290. data/lib/metanorma/html/theme.rb +180 -107
  291. data/lib/metanorma/html.rb +16 -0
  292. data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +0 -25
  293. data/lib/metanorma/ietf_document/metadata/pi_settings.rb +32 -0
  294. data/lib/metanorma/ietf_document/metadata.rb +2 -0
  295. data/lib/metanorma/iso_document/metadata/doctype_element.rb +20 -0
  296. data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +0 -48
  297. data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +0 -72
  298. data/lib/metanorma/iso_document/metadata/iso_document_status.rb +0 -30
  299. data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +4 -1
  300. data/lib/metanorma/iso_document/metadata/language_element.rb +18 -0
  301. data/lib/metanorma/iso_document/metadata/project_number.rb +22 -0
  302. data/lib/metanorma/iso_document/metadata/script_element.rb +18 -0
  303. data/lib/metanorma/iso_document/metadata/stage_element.rb +26 -0
  304. data/lib/metanorma/iso_document/metadata/stagename_element.rb +18 -0
  305. data/lib/metanorma/iso_document/metadata/structured_identifier.rb +0 -17
  306. data/lib/metanorma/iso_document/metadata/title_collection.rb +1 -0
  307. data/lib/metanorma/iso_document/metadata.rb +9 -4
  308. data/lib/metanorma/iso_document/terms/iso_term.rb +0 -13
  309. data/lib/metanorma/iso_document/terms/term_domain_element.rb +18 -0
  310. data/lib/metanorma/iso_document/terms.rb +1 -0
  311. data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +0 -37
  312. data/lib/metanorma/itu_document/metadata/meeting_date.rb +18 -0
  313. data/lib/metanorma/itu_document/metadata/meeting_element.rb +18 -0
  314. data/lib/metanorma/itu_document/metadata/study_period.rb +18 -0
  315. data/lib/metanorma/itu_document/metadata.rb +3 -4
  316. data/lib/metanorma/mirror/default_registry.rb +170 -0
  317. data/lib/metanorma/mirror/handler_registry.rb +60 -0
  318. data/lib/metanorma/mirror/handler_result.rb +37 -0
  319. data/lib/metanorma/mirror/handlers/admonition.rb +18 -0
  320. data/lib/metanorma/mirror/handlers/example.rb +21 -0
  321. data/lib/metanorma/mirror/handlers/figure.rb +53 -0
  322. data/lib/metanorma/mirror/handlers/formula.rb +35 -0
  323. data/lib/metanorma/mirror/handlers/inline/catalog.rb +57 -0
  324. data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +159 -0
  325. data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +116 -0
  326. data/lib/metanorma/mirror/handlers/inline.rb +226 -0
  327. data/lib/metanorma/mirror/handlers/list.rb +110 -0
  328. data/lib/metanorma/mirror/handlers/note.rb +26 -0
  329. data/lib/metanorma/mirror/handlers/paragraph.rb +19 -0
  330. data/lib/metanorma/mirror/handlers/quote.rb +16 -0
  331. data/lib/metanorma/mirror/handlers/review.rb +19 -0
  332. data/lib/metanorma/mirror/handlers/section.rb +149 -0
  333. data/lib/metanorma/mirror/handlers/sourcecode.rb +27 -0
  334. data/lib/metanorma/mirror/handlers/structural.rb +68 -0
  335. data/lib/metanorma/mirror/handlers/table.rb +81 -0
  336. data/lib/metanorma/mirror/handlers/term.rb +100 -0
  337. data/lib/metanorma/mirror/handlers.rb +60 -0
  338. data/lib/metanorma/mirror/id_strategy/positional.rb +166 -0
  339. data/lib/metanorma/mirror/id_strategy/preserve.rb +12 -0
  340. data/lib/metanorma/mirror/id_strategy.rb +34 -0
  341. data/lib/metanorma/mirror/math_util.rb +53 -0
  342. data/lib/metanorma/mirror/metadata.rb +37 -0
  343. data/lib/metanorma/mirror/model/container.rb +47 -0
  344. data/lib/metanorma/mirror/model/factory.rb +52 -0
  345. data/lib/metanorma/mirror/model/guide.rb +25 -0
  346. data/lib/metanorma/mirror/model/leaf.rb +17 -0
  347. data/lib/metanorma/mirror/model/mark.rb +53 -0
  348. data/lib/metanorma/mirror/model/node.rb +47 -0
  349. data/lib/metanorma/mirror/model/soft_break.rb +33 -0
  350. data/lib/metanorma/mirror/model/text.rb +34 -0
  351. data/lib/metanorma/mirror/model.rb +16 -0
  352. data/lib/metanorma/mirror/output/builder.rb +39 -0
  353. data/lib/metanorma/mirror/output/formats/base_format.rb +90 -0
  354. data/lib/metanorma/mirror/output/formats/inline_format.rb +81 -0
  355. data/lib/metanorma/mirror/output/formats.rb +53 -0
  356. data/lib/metanorma/mirror/output/html_renderer.rb +95 -0
  357. data/lib/metanorma/mirror/output/html_renderers/block_renderers.rb +178 -0
  358. data/lib/metanorma/mirror/output/html_renderers/inline_renderer.rb +61 -0
  359. data/lib/metanorma/mirror/output/html_renderers/list_renderers.rb +96 -0
  360. data/lib/metanorma/mirror/output/html_renderers/mark_renderers.rb +41 -0
  361. data/lib/metanorma/mirror/output/html_renderers/section_renderers.rb +129 -0
  362. data/lib/metanorma/mirror/output/html_renderers/structural_renderers.rb +80 -0
  363. data/lib/metanorma/mirror/output/html_renderers/table_renderers.rb +87 -0
  364. data/lib/metanorma/mirror/output/html_renderers.rb +76 -0
  365. data/lib/metanorma/mirror/output/pipeline.rb +92 -0
  366. data/lib/metanorma/mirror/output/pipeline_context.rb +22 -0
  367. data/lib/metanorma/mirror/output.rb +14 -0
  368. data/lib/metanorma/mirror/rewriter.rb +121 -0
  369. data/lib/metanorma/mirror/safe_attr.rb +16 -0
  370. data/lib/metanorma/mirror/serialization/json_serializer.rb +25 -0
  371. data/lib/metanorma/mirror/serialization/yaml_serializer.rb +20 -0
  372. data/lib/metanorma/mirror/serialization.rb +10 -0
  373. data/lib/metanorma/mirror/transformer.rb +110 -0
  374. data/lib/metanorma/mirror.rb +31 -0
  375. data/lib/metanorma/standard_document/annotation.rb +37 -0
  376. data/lib/metanorma/standard_document/block_attributes.rb +15 -2
  377. data/lib/metanorma/standard_document/blocks/block_source.rb +0 -23
  378. data/lib/metanorma/standard_document/blocks/source_origin_element.rb +23 -0
  379. data/lib/metanorma/standard_document/blocks.rb +1 -1
  380. data/lib/metanorma/standard_document/terms/term_expression.rb +0 -31
  381. data/lib/metanorma/standard_document/terms/term_name_element.rb +29 -0
  382. data/lib/metanorma/standard_document/terms.rb +1 -0
  383. data/script/render_both.rb +18 -0
  384. metadata +272 -13
  385. data/.github/workflows/rake.yml +0 -21
  386. data/.github/workflows/release.yml +0 -25
  387. data/.github/workflows/roundtrip-samples.yml +0 -132
  388. data/.gitignore +0 -19
  389. data/.rspec +0 -3
  390. data/.rubocop.yml +0 -22
  391. data/Gemfile +0 -28
  392. data/bin/console +0 -15
  393. data/bin/setup +0 -8
  394. data/metanorma-document.gemspec +0 -35
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="uuid-471777a6-cce6-451e-9dcd-006395a31ab3" xmlns="http://www.w3.org/2000/svg" width="400" height="350" viewBox="0 0 400 350"><path d="m197.45,339.95c-91,0-165-74-165-165S106.45,9.95,197.45,9.95s165,74,165,165-74,165-165,165m-83.7-26.9c24.4,14.9,53.1,23.5,83.8,23.5s59.5-8.6,84-23.6c-14.4-16.2-45.6-26.3-82.4-26.6h-1.2c-36.9,0-69.5,10.4-84.2,26.7m-3.5-273.9c-44.7,28.8-74.3,78.9-74.3,135.9s29.9,107.5,74.8,136.2c15.3-17.6,48.4-28.3,87.1-28.3h1.3c38.1.2,70.5,11,85.3,28.1,44.8-28.7,74.6-79,74.6-136.1s-29.5-106.9-74-135.7c-14.6,17.5-47.3,28.5-85.8,28.8-40,.2-73.8-10.8-89-28.9m2.9-1.9c14.5,16.7,47.4,27.4,84.8,27.4h1.2c37.3-.2,68.8-10.6,82.9-27.2-24.6-15.2-53.6-24-84.6-24s-59.7,8.7-84.3,23.8" style="fill:#004996; stroke-width:0px;"/><path d="m49.55,226.55c27.6,0,43.4-25.5,43.4-51,0-23-20.1-46.3-43.4-46.3S6.05,152.55,6.05,175.55c0,25.5,15.9,51,43.5,51m22.9-35.4c0,5.4-.1,10.7-1.4,15.6-2.5,9.6-8.2,16.3-21.5,16.3s-19-6.7-21.5-16.3c-1.3-4.9-1.5-10.2-1.5-15.6v-30.4c0-5,.8-9.8,2.1-13.9,2.5-8.5,8.5-14.1,20.9-14.1s18,5.6,20.8,14.1c1.4,4.2,2.1,8.9,2.1,13.9,0,0,0,30.4,0,30.4Z" style="fill:#1d1d1b; fill-rule:evenodd; stroke-width:0px;"/><polygon points="149.75 134.85 163.55 134.85 163.55 131.35 118.15 131.35 118.15 134.85 131.95 134.85 131.95 220.95 118.15 220.95 118.15 224.45 163.55 224.45 163.55 220.95 149.75 220.95 149.75 134.85" style="fill:#1d1d1b; stroke-width:0px;"/><polygon points="281.55 134.85 295.35 134.85 295.35 131.35 260.15 131.35 239.95 195.05 220.35 131.35 184.45 131.35 184.45 134.85 198.25 134.85 198.25 220.95 184.45 220.95 184.45 224.45 216.25 224.45 216.25 220.95 202.65 220.95 202.65 137.15 202.95 137.15 230.75 224.45 235.45 224.45 263.35 137.15 263.75 137.15 263.75 220.95 249.95 220.95 249.95 224.45 295.35 224.45 295.35 220.95 281.55 220.95 281.55 134.85" style="fill:#1d1d1b; stroke-width:0px;"/><path d="m392.55,224.45l1.4-31.4h-4.3c-.6,16-6.8,27.9-24.5,27.9h-18.3v-86.2h14.5v-3.5h-46.1v3.5h13.8v86.2h-13.8v3.5h77.3Z" style="fill:#1d1d1b; stroke-width:0px;"/><path d="m198.15,340.05h-.2v-2h-.2v1.9c-51.3,0-90.7-40.8-105.5-109l3.4-.7c13,59.8,45.2,98,87.5,105.1-25.2-17-34.5-76.5-37.5-104.5l3.4-.4c7,64.8,24.5,104.1,47.1,106l.1-106.3h3.4l-.2,106.4c23.1-1.7,40.8-41.3,47.5-106.6l3.4.4c-5.8,56-19.2,92.8-37.8,105.2,42.4-7.1,74.6-45.5,87.6-105.8l3.4.7c-14.8,68.6-54.2,109.6-105.4,109.6m49.3-212.9c-6.4-68-24.6-110.8-47.9-112.9l-.1,112.7h-3.4l.1-112.8c-23.7,2-42.1,44.9-48.2,112.9l-3.4-.3c5.3-59,19.4-98.7,38.9-111.6-44.2,7.1-77,47.6-89.2,111.5l-3.4-.6C104.65,53.65,144.55,10.55,197.65,10.55h.2v.1c53.3.1,93.3,43.2,107,115.5l-3.4.6c-12.1-63.9-45-104.5-89.5-111.6,19.3,12.9,33.4,52.6,38.9,111.6l-3.4.4h0Z" style="fill:#004996; stroke-width:0px;"/></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="uuid-18fdc505-5211-448b-be70-44ec1c4f262f" xmlns="http://www.w3.org/2000/svg" width="400" height="350" viewBox="0 0 400 350"><path d="m197.45,339.95c-91,0-165-74-165-165S106.45,9.95,197.45,9.95s165,74,165,165-74,165-165,165m-83.7-26.9c24.4,14.9,53.1,23.5,83.8,23.5s59.5-8.6,84-23.6c-14.4-16.2-45.6-26.3-82.4-26.6h-1.2c-36.9,0-69.5,10.4-84.2,26.7m-3.5-273.9c-44.7,28.8-74.3,78.9-74.3,135.9s29.9,107.5,74.8,136.2c15.3-17.6,48.4-28.3,87.1-28.3h1.3c38.1.2,70.5,11,85.3,28.1,44.8-28.7,74.6-79,74.6-136.1s-29.5-106.9-74-135.7c-14.6,17.5-47.3,28.5-85.8,28.8-40,.2-73.8-10.8-89-28.9m2.9-1.9c14.5,16.7,47.4,27.4,84.8,27.4h1.2c37.3-.2,68.8-10.6,82.9-27.2-24.6-15.2-53.6-24-84.6-24s-59.7,8.7-84.3,23.8" style="fill:#004996; stroke-width:0px;"/><path d="m49.55,226.55c27.6,0,43.4-25.5,43.4-51,0-23-20.1-46.3-43.4-46.3S6.05,152.55,6.05,175.55c0,25.5,15.9,51,43.5,51m22.9-35.4c0,5.4-.1,10.7-1.4,15.6-2.5,9.6-8.2,16.3-21.5,16.3s-19-6.7-21.5-16.3c-1.3-4.9-1.5-10.2-1.5-15.6v-30.4c0-5,.8-9.8,2.1-13.9,2.5-8.5,8.5-14.1,20.9-14.1s18,5.6,20.8,14.1c1.4,4.2,2.1,8.9,2.1,13.9v30.4Z" style="fill:#1d1d1b; fill-rule:evenodd; stroke-width:0px;"/><polygon points="149.75 134.85 163.55 134.85 163.55 131.35 118.15 131.35 118.15 134.85 131.95 134.85 131.95 220.95 118.15 220.95 118.15 224.45 163.55 224.45 163.55 220.95 149.75 220.95 149.75 134.85" style="fill:#1d1d1b; stroke-width:0px;"/><polygon points="281.55 134.85 295.35 134.85 295.35 131.35 260.15 131.35 239.95 195.05 220.35 131.35 184.45 131.35 184.45 134.85 198.25 134.85 198.25 220.95 184.45 220.95 184.45 224.45 216.25 224.45 216.25 220.95 202.65 220.95 202.65 137.15 202.95 137.15 230.75 224.45 235.45 224.45 263.35 137.15 263.75 137.15 263.75 220.95 249.95 220.95 249.95 224.45 295.35 224.45 295.35 220.95 281.55 220.95 281.55 134.85" style="fill:#1d1d1b; stroke-width:0px;"/><path d="m392.55,224.45l1.4-31.4h-4.3c-.6,16-6.8,27.9-24.5,27.9h-18.3v-86.2h14.5v-3.5h-46.1v3.5h13.8v86.2h-13.8v3.5h77.3Z" style="fill:#1d1d1b; stroke-width:0px;"/><path d="m198.15,340.05h-.2v-2h-.2v1.9c-51.3,0-90.7-40.8-105.5-109l3.4-.7c13,59.8,45.2,98,87.5,105.1-25.2-17-34.5-76.5-37.5-104.5l3.4-.4c7,64.8,24.5,104.1,47.1,106l.1-106.3h3.4l-.2,106.4c23.1-1.7,40.8-41.3,47.5-106.6l3.4.4c-5.8,56-19.2,92.8-37.8,105.2,42.4-7.1,74.6-45.5,87.6-105.8l3.4.7c-14.8,68.6-54.2,109.6-105.4,109.6m49.3-212.9c-6.4-68-24.6-110.8-47.9-112.9l-.1,112.7h-3.4l.1-112.8c-23.7,2-42.1,44.9-48.2,112.9l-3.4-.3c5.3-59,19.4-98.7,38.9-111.6-44.2,7.1-77,47.6-89.2,111.5l-3.4-.6C104.65,53.65,144.55,10.55,197.65,10.55h.2v.1c53.3.1,93.3,43.2,107,115.5l-3.4.6c-12.1-63.9-45-104.5-89.5-111.6,19.3,12.9,33.4,52.6,38.9,111.6l-3.4.4Z" style="fill:#004996; stroke-width:0px;"/></svg>
@@ -1,95 +1,32 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="400pt" height="182.8pt" version="1.1" viewBox="0 0 400 182.8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <defs>
4
- <clipPath id="clip-0">
5
- <path d="m270 52.055h36v47.945h-36z"/>
6
- </clipPath>
7
- <clipPath id="clip-1">
8
- <path d="m311 52.055h37v47.945h-37z"/>
9
- </clipPath>
10
- <clipPath id="clip-2">
11
- <path d="m354 52.055h30.109v47.945h-30.109z"/>
12
- </clipPath>
13
- <clipPath id="clip-3">
14
- <path d="m211.16 112h15.836v19.09h-15.836z"/>
15
- </clipPath>
16
- <clipPath id="clip-4">
17
- <path d="m229 112h14v19.09h-14z"/>
18
- </clipPath>
19
- <clipPath id="clip-5">
20
- <path d="m244 112h15v19.09h-15z"/>
21
- </clipPath>
22
- <clipPath id="clip-6">
23
- <path d="m260 112h18v19.09h-18z"/>
24
- </clipPath>
25
- <clipPath id="clip-7">
26
- <path d="m280 112h16v19.09h-16z"/>
27
- </clipPath>
28
- <clipPath id="clip-8">
29
- <path d="m306 112h16v19.09h-16z"/>
30
- </clipPath>
31
- <clipPath id="clip-9">
32
- <path d="m323 107h13v24.09h-13z"/>
33
- </clipPath>
34
- <clipPath id="clip-10">
35
- <path d="m346 112h19v19.09h-19z"/>
36
- </clipPath>
37
- <clipPath id="clip-11">
38
- <path d="m242 52.055h17v15.945h-17z"/>
39
- </clipPath>
40
- <clipPath id="clip-12">
41
- <path d="m211.16 83h15.836v17h-15.836z"/>
42
- </clipPath>
43
- <clipPath>
44
- <path d="m0.066406 1h358.93v358.83h-358.93z"/>
45
- </clipPath>
46
- <clipPath id="clip-15">
47
- <rect width="360" height="360"/>
48
- </clipPath>
49
- <g clip-path="url(#clip-15)"></g>
50
- </defs>
51
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-0)">
52
- <path d="m281.56 74.684h5.1875c5.7656 0 8.6484-2.4961 8.6484-7.4961 0-2.4492-0.76563-4.1797-2.3047-5.1875s-3.7461-1.5156-6.6289-1.5156h-4.9023zm-10.594 24.359v-46.988h16.145c2.5938 0 5.0195 0.25391 7.2773 0.75781 2.2578 0.50391 4.2266 1.3438 5.9102 2.5195 1.6797 1.1797 3.0117 2.7383 4 4.6875 0.98438 1.9453 1.4766 4.3359 1.4766 7.168 0 2.7383-0.49218 5.1172-1.4766 7.1367-0.98828 2.0156-2.3203 3.6719-4 4.9727-1.6836 1.2969-3.6289 2.2578-5.8359 2.8828-2.2148 0.625-4.5664 0.93359-7.0664 0.93359h-5.8359v15.93z"/>
53
- </g>
54
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-1)">
55
- <path d="m321.63 90.465h2.0195c2.0156 0 3.8438-0.26172 5.4766-0.79297 1.6328-0.52734 3.0273-1.3789 4.1797-2.5586 1.1523-1.1758 2.0547-2.7266 2.7031-4.6484 0.64844-1.918 0.97266-4.2969 0.97266-7.1328 0-2.7852-0.32422-5.1289-0.97266-7.0273-0.64844-1.8984-1.5508-3.4102-2.7031-4.5391-1.1524-1.1289-2.5469-1.9336-4.1797-2.4141-1.6328-0.48047-3.4609-0.71875-5.4766-0.71875h-2.0195zm-10.594 8.5742v-46.984h13.262c3.6055 0 6.8477 0.45703 9.7305 1.3711 2.8789 0.91016 5.3555 2.3164 7.4219 4.2148 2.0625 1.8984 3.6484 4.3125 4.7539 7.2422 1.1055 2.9297 1.6602 6.4141 1.6602 10.449 0 4.0352-0.55469 7.543-1.6602 10.52-1.1055 2.9805-2.6641 5.4414-4.6836 7.3867-2.0195 1.9492-4.4297 3.4023-7.2422 4.3594-2.8125 0.96484-5.9453 1.4414-9.4023 1.4414z"/>
56
- </g>
57
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-2)">
58
- <path d="m354.49 99.039v-46.984h29.617v8.9375h-19.023v10.879h16.285v8.9375h-16.285v18.23z"/>
59
- </g>
60
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-3)">
61
- <path d="m218.09 127.8c0.73047 0 1.3945-0.16797 1.9922-0.51172 0.59765-0.33985 1.2383-0.82813 1.9219-1.4648v-4.0195c-1.2226 0.14453-2.2461 0.33985-3.0742 0.58203-0.82812 0.2461-1.5 0.51953-2.0117 0.82422-0.51171 0.30469-0.875 0.65235-1.0976 1.043-0.21875 0.39063-0.32813 0.80469-0.32813 1.2422 0 0.80469 0.2461 1.3906 0.73047 1.7539 0.48828 0.36719 1.1094 0.55079 1.8672 0.55079m-1.3516 3.293c-1.5859 0-2.8672-0.48437-3.8398-1.4453-0.97656-0.96484-1.4648-2.2383-1.4648-3.8242 0-0.94922 0.19922-1.7969 0.60547-2.5391 0.40234-0.74609 1.0352-1.3867 1.8984-1.9219 0.86718-0.53516 1.9648-0.98829 3.293-1.3516 1.3281-0.36718 2.918-0.64453 4.7734-0.84375-0.0273-0.46093-0.0937-0.90625-0.20312-1.332-0.10938-0.42578-0.29297-0.80469-0.54688-1.1328-0.25781-0.33203-0.59375-0.58594-1.0078-0.76953-0.41406-0.1836-0.92578-0.27344-1.5352-0.27344-0.8789 0-1.7383 0.16797-2.5781 0.51172-0.83985 0.33984-1.6641 0.75391-2.4688 1.2422l-1.5352-2.8164c1-0.63281 2.1211-1.1836 3.3633-1.6445 1.2461-0.46484 2.5859-0.69531 4.0234-0.69531 2.2422 0 3.918 0.66797 5.0273 1.9922 1.1094 1.332 1.6641 3.25 1.6641 5.7617v10.641h-3.4727l-0.29297-1.9727h-0.14844c-0.80078 0.67969-1.6602 1.2539-2.5781 1.7188-0.91406 0.46094-1.9062 0.69531-2.9766 0.69531"/>
62
- </g>
63
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-4)">
64
- <path d="m235.9 131.09c-1.2422 0-2.4688-0.23828-3.6758-0.71484s-2.2461-1.0664-3.125-1.7734l1.9727-2.707c0.80469 0.63672 1.6055 1.1289 2.3984 1.4805 0.78906 0.35547 1.6484 0.53125 2.5781 0.53125 0.97266 0 1.6914-0.19922 2.1562-0.60156 0.46094-0.40235 0.69531-0.92188 0.69531-1.5547 0-0.36719-0.10937-0.69141-0.32812-0.96875-0.22266-0.28125-0.51563-0.53125-0.87891-0.75-0.36719-0.22266-0.78125-0.42187-1.2422-0.60547-0.46484-0.18359-0.92968-0.37109-1.3906-0.5664-0.58594-0.21875-1.1836-0.47657-1.793-0.76563-0.60937-0.29297-1.1523-0.64844-1.625-1.0625-0.47656-0.41406-0.86719-0.89453-1.1719-1.4453-0.30469-0.54688-0.45704-1.1992-0.45704-1.957 0-1.582 0.58594-2.875 1.7539-3.875 1.1719-1 2.7695-1.5 4.793-1.5 1.2422 0 2.3633 0.21875 3.3633 0.66015 1 0.4375 1.8633 0.9375 2.5977 1.5l-1.9414 2.5586c-0.63281-0.46485-1.2734-0.83594-1.918-1.1172-0.64453-0.27734-1.3203-0.41797-2.0312-0.41797-0.90234 0-1.5664 0.1875-1.9922 0.56641-0.42578 0.3789-0.64062 0.84765-0.64062 1.4062 0 0.36718 0.10547 0.67578 0.3125 0.93359s0.48047 0.48047 0.82422 0.67578c0.33984 0.19531 0.73437 0.37891 1.1875 0.54688 0.44922 0.17187 0.91797 0.34375 1.4062 0.51562 0.60937 0.21875 1.2188 0.46875 1.8281 0.75 0.60938 0.27735 1.1641 0.625 1.6641 1.0391 0.5 0.41797 0.90234 0.92188 1.207 1.5195 0.30468 0.59765 0.45703 1.3125 0.45703 2.1406 0 0.77734-0.15235 1.5039-0.45703 2.1758-0.30469 0.66797-0.75 1.2539-1.332 1.7539-0.58594 0.5-1.3164 0.89453-2.1953 1.1875-0.8789 0.29297-1.8789 0.4414-3 0.4414"/>
65
- </g>
66
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-5)">
67
- <path d="m251.66 131.09c-1.2422 0-2.4688-0.23828-3.6758-0.71484s-2.2461-1.0664-3.125-1.7734l1.9727-2.707c0.80468 0.63672 1.6055 1.1289 2.3984 1.4805 0.78907 0.35547 1.6484 0.53125 2.5781 0.53125 0.97266 0 1.6914-0.19922 2.1562-0.60156 0.46094-0.40235 0.69531-0.92188 0.69531-1.5547 0-0.36719-0.10937-0.69141-0.32812-0.96875-0.22266-0.28125-0.51563-0.53125-0.87891-0.75-0.36719-0.22266-0.78125-0.42187-1.2422-0.60547-0.46484-0.18359-0.92968-0.37109-1.3906-0.5664-0.58594-0.21875-1.1836-0.47657-1.793-0.76563-0.60938-0.29297-1.1523-0.64844-1.625-1.0625-0.47656-0.41406-0.86719-0.89453-1.1719-1.4453-0.30468-0.54688-0.45703-1.1992-0.45703-1.957 0-1.582 0.58594-2.875 1.7539-3.875 1.1719-1 2.7695-1.5 4.793-1.5 1.2422 0 2.3633 0.21875 3.3633 0.66015 1 0.4375 1.8633 0.9375 2.5977 1.5l-1.9414 2.5586c-0.63281-0.46485-1.2734-0.83594-1.918-1.1172-0.64453-0.27734-1.3242-0.41797-2.0312-0.41797-0.90234 0-1.5664 0.1875-1.9922 0.56641-0.42578 0.3789-0.64062 0.84765-0.64062 1.4062 0 0.36718 0.10547 0.67578 0.3125 0.93359s0.48047 0.48047 0.82422 0.67578c0.33984 0.19531 0.73437 0.37891 1.1875 0.54688 0.44922 0.17187 0.91797 0.34375 1.4062 0.51562 0.60937 0.21875 1.2188 0.46875 1.8281 0.75 0.60938 0.27735 1.1641 0.625 1.6641 1.0391 0.5 0.41797 0.90235 0.92188 1.207 1.5195 0.30468 0.59765 0.45703 1.3125 0.45703 2.1406 0 0.77734-0.15235 1.5039-0.45703 2.1758-0.30469 0.66797-0.75 1.2539-1.332 1.7539-0.58593 0.5-1.3164 0.89453-2.1953 1.1875-0.8789 0.29297-1.8789 0.4414-3 0.4414"/>
68
- </g>
69
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-6)">
70
- <path d="m269.36 127.65c1.3164 0 2.3555-0.54296 3.1094-1.6289 0.75781-1.0859 1.1328-2.5312 1.1328-4.332 0-1.832-0.375-3.2852-1.1328-4.3711-0.75391-1.0859-1.793-1.6289-3.1094-1.6289s-2.3438 0.54297-3.0898 1.6289c-0.74219 1.0859-1.1133 2.5391-1.1133 4.3711 0 1.8008 0.37109 3.2461 1.1133 4.332 0.74609 1.0859 1.7734 1.6289 3.0898 1.6289m0 3.4375c-1.1211 0-2.1914-0.20703-3.2148-0.62109-1.0274-0.41797-1.9336-1.0273-2.7266-1.8281-0.79296-0.80859-1.418-1.793-1.8828-2.9648-0.46484-1.168-0.69531-2.5-0.69531-3.9844 0-1.4883 0.23047-2.8164 0.69531-3.9883 0.46485-1.168 1.0898-2.1562 1.8828-2.9609 0.79297-0.80469 1.6992-1.4219 2.7266-1.8477 1.0234-0.42578 2.0938-0.64062 3.2148-0.64062s2.2031 0.21484 3.2383 0.64062c1.0352 0.42578 1.9453 1.043 2.7227 1.8477 0.78125 0.80469 1.4102 1.793 1.8867 2.9609 0.47265 1.1719 0.71093 2.5 0.71093 3.9883 0 1.4844-0.23828 2.8164-0.71093 3.9844-0.47657 1.1719-1.1055 2.1562-1.8867 2.9648-0.77735 0.80079-1.6875 1.4102-2.7227 1.8281-1.0352 0.41406-2.1172 0.62109-3.2383 0.62109"/>
71
- </g>
72
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-7)">
73
- <path d="m289.19 131.09c-1.2188 0-2.3594-0.21093-3.4219-0.625-1.0586-0.41406-1.9805-1.0234-2.7578-1.8281-0.78125-0.80078-1.3906-1.7891-1.832-2.9609-0.4375-1.1719-0.65625-2.5-0.65625-3.9844 0-1.4883 0.24219-2.8164 0.73047-3.9883 0.48828-1.168 1.1445-2.1562 1.9766-2.9609 0.82813-0.80469 1.7852-1.4219 2.8711-1.8477 1.082-0.42578 2.2226-0.64062 3.418-0.64062 1.1719 0 2.1758 0.19531 3.0156 0.58593 0.83984 0.39063 1.5898 0.86719 2.25 1.4258l-2.0469 2.7422c-0.48828-0.41406-0.96875-0.73828-1.4453-0.96875s-0.99219-0.34765-1.5547-0.34765c-1.4609 0-2.6445 0.54297-3.5469 1.6289-0.90234 1.0859-1.3516 2.5391-1.3516 4.3711 0 1.8047 0.4414 3.2461 1.332 4.332 0.89062 1.0859 2.043 1.6289 3.457 1.6289 0.70703 0 1.3711-0.15234 1.9922-0.46093 0.62109-0.30078 1.1875-0.66016 1.6992-1.0742l1.7188 2.7773c-0.85157 0.73047-1.7852 1.2812-2.7969 1.6445-1.0117 0.36719-2.0273 0.55078-3.0508 0.55078"/>
74
- </g>
75
- <path d="m201.26 140.24h9.7213v41.532h-9.7213zm4.9058-7.2729c-1.7527 0-3.1892-0.50594-4.3186-1.5178-1.1293-1.0209-1.6895-2.34-1.6895-3.9752s0.56014-2.9724 1.6895-4.0204c1.1293-1.039 2.5658-1.563 4.3186-1.563 1.7437 0 3.1802 0.52402 4.3095 1.563 1.1293 1.048 1.6895 2.3852 1.6895 4.0204s-0.56014 2.9543-1.6895 3.9752c-1.1293 1.0119-2.5658 1.5178-4.3095 1.5178" stroke-width="2.3129"/>
76
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-8)">
77
- <path d="m313.1 127.8c0.73438 0 1.3945-0.16797 1.9922-0.51172 0.59766-0.33985 1.2383-0.82813 1.9219-1.4648v-4.0195c-1.2188 0.14453-2.2461 0.33985-3.0703 0.58203-0.83203 0.2461-1.5 0.51953-2.0156 0.82422-0.50782 0.30469-0.875 0.65235-1.0938 1.043-0.21875 0.39063-0.33203 0.80469-0.33203 1.2422 0 0.80469 0.24609 1.3906 0.73437 1.7539 0.48438 0.36719 1.1094 0.55079 1.8633 0.55079m-1.3516 3.293c-1.5859 0-2.8672-0.48437-3.8398-1.4453-0.97657-0.96484-1.4648-2.2383-1.4648-3.8242 0-0.94922 0.20313-1.7969 0.60547-2.5391 0.40234-0.74609 1.0352-1.3867 1.9023-1.9219 0.86329-0.53516 1.9609-0.98829 3.2891-1.3516 1.3281-0.36718 2.9219-0.64453 4.7734-0.84375-0.0234-0.46093-0.0898-0.90625-0.20312-1.332-0.10938-0.42578-0.28906-0.80469-0.54688-1.1328-0.2539-0.33203-0.58984-0.58594-1.0039-0.76953-0.41797-0.1836-0.92969-0.27344-1.5391-0.27344-0.875 0-1.7344 0.16797-2.5781 0.51172-0.83984 0.33984-1.6641 0.75391-2.4688 1.2422l-1.5352-2.8164c1-0.63281 2.1211-1.1836 3.3633-1.6445 1.2461-0.46484 2.5859-0.69531 4.0234-0.69531 2.2422 0 3.9219 0.66797 5.0312 1.9922 1.1094 1.332 1.6602 3.25 1.6602 5.7617v10.641h-3.4727l-0.29297-1.9727h-0.14453c-0.80468 0.67969-1.6641 1.2539-2.5781 1.7188-0.91406 0.46094-1.9062 0.69531-2.9805 0.69531"/>
78
- </g>
79
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-9)">
80
- <path d="m332.01 131.09c-1.0469 0-1.9297-0.16015-2.6484-0.47656s-1.3047-0.76172-1.7578-1.3359c-0.44922-0.57031-0.78125-1.2539-0.98828-2.0469s-0.30859-1.6758-0.30859-2.6523v-8.5586h-2.5586v-3.1445l2.7774-0.18359 0.51172-4.8984h3.5117v4.8984h4.5703v3.3281h-4.5703v8.5586c0 2.0976 0.83985 3.1445 2.5234 3.1445 0.31641 0 0.64063-0.0352 0.96875-0.10938 0.32813-0.0703 0.62891-0.16797 0.89453-0.29297l0.73047 3.1094c-0.48437 0.17187-1.0391 0.32422-1.6602 0.45703-0.625 0.13281-1.2891 0.20312-1.9961 0.20312"/>
81
- </g>
82
- <path d="m295.4 140.24h9.7303v41.532h-9.7303zm4.9148-7.2729c-1.7527 0-3.1892-0.50594-4.3186-1.5178-1.1293-1.0209-1.6895-2.34-1.6895-3.9752s0.56015-2.9724 1.6895-4.0204c1.1293-1.039 2.5658-1.563 4.3186-1.563 1.7437 0 3.1802 0.52402 4.3095 1.563 1.1293 1.048 1.6895 2.3852 1.6895 4.0204s-0.56014 2.9543-1.6895 3.9752c-1.1293 1.0119-2.5658 1.5178-4.3095 1.5178" stroke-width="2.3129"/>
83
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-10)">
84
- <path d="m355.45 127.65c1.3164 0 2.3516-0.54296 3.1094-1.6289 0.75391-1.0859 1.1328-2.5312 1.1328-4.332 0-1.832-0.37891-3.2852-1.1328-4.3711-0.75781-1.0859-1.793-1.6289-3.1094-1.6289-1.3164 0-2.3477 0.54297-3.0898 1.6289-0.74218 1.0859-1.1133 2.5391-1.1133 4.3711 0 1.8008 0.3711 3.2461 1.1133 4.332 0.74219 1.0859 1.7734 1.6289 3.0898 1.6289m0 3.4375c-1.1211 0-2.1953-0.20703-3.2148-0.62109-1.0273-0.41797-1.9336-1.0273-2.7266-1.8281-0.79297-0.80859-1.4219-1.793-1.8828-2.9648-0.46484-1.168-0.69531-2.5-0.69531-3.9844 0-1.4883 0.23047-2.8164 0.69531-3.9883 0.46094-1.168 1.0898-2.1562 1.8828-2.9609s1.6992-1.4219 2.7266-1.8477c1.0195-0.42578 2.0938-0.64062 3.2148-0.64062 1.1211 0 2.2031 0.21484 3.2383 0.64062s1.9453 1.043 2.7227 1.8477c0.78125 0.80469 1.4102 1.793 1.8828 2.9609 0.47656 1.1719 0.71484 2.5 0.71484 3.9883 0 1.4844-0.23828 2.8164-0.71484 3.9844-0.47266 1.1719-1.1016 2.1562-1.8828 2.9648-0.77735 0.80079-1.6875 1.4102-2.7227 1.8281-1.0352 0.41406-2.1172 0.62109-3.2383 0.62109"/>
85
- </g>
86
- <path d="m361.21 181.78v-41.523h8.0318l0.67759 5.5834h0.34332c1.8611-1.8069 3.8759-3.3609 6.0442-4.6619 2.1683-1.292 4.698-1.9424 7.571-1.9424 4.4541 0 7.6975 1.4275 9.7213 4.2734 2.0328 2.8459 3.0537 6.9205 3.0537 12.224v26.047h-9.7303v-24.782c0-3.4332-0.50594-5.8635-1.5268-7.2729-1.0119-1.4094-2.6743-2.1141-4.9871-2.1141-1.8069 0-3.397 0.4427-4.7793 1.31-1.3823 0.87636-2.9453 2.1593-4.689 3.8488v29.01z" stroke-width="2.3129"/>
87
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-11)">
88
- <path d="m258.19 67.793h-15.676v-15.672h15.676z" fill="#cf9c1d"/>
89
- </g>
90
- <path d="m72.503 72.657h-36.247v-36.256h36.247z" fill="#959b54" stroke-width="2.3129"/>
91
- <g transform="matrix(2.3129 0 0 2.3129 -488.39 -120.4)" clip-path="url(#clip-12)">
92
- <path d="m226.84 99.141h-15.676v-15.672h15.676z" fill="#d03544"/>
93
- </g>
94
- <path d="m108.76 108.9h-36.256v-36.247h36.256z" fill="#4992b2" stroke-width="2.3129"/>
95
- </svg>
2
+ <svg id="uuid-83dec88d-c5ba-4f4d-bfd8-f63a7292f259"
3
+ xmlns="http://www.w3.org/2000/svg" width="282.22mm" height="176.39mm"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 800 500">
5
+ <title>PDF Association logo</title>
6
+ <desc>PDF Association logo</desc>
7
+ <defs>
8
+ <clipPath id="uuid-873d8e9d-e16c-4c95-a7d0-77db2eb96663">
9
+ <rect y="0" width="800" height="500" style="fill:none;"/>
10
+ </clipPath>
11
+ </defs>
12
+ <g style="clip-path:url(#uuid-873d8e9d-e16c-4c95-a7d0-77db2eb96663);">
13
+ <path d="M298.28,277.86V98.55h61.6c9.9,0,19.16.96,27.78,2.89,8.62,1.92,16.13,5.13,22.55,9.62,6.42,4.5,11.5,10.45,15.26,17.88,3.76,7.42,5.64,16.55,5.64,27.36s-1.88,19.52-5.64,27.23c-3.76,7.7-8.85,14.02-15.26,18.98-6.42,4.95-13.84,8.62-22.28,11-8.43,2.39-17.42,3.57-26.95,3.57h-22.28v60.78h-40.43.01ZM338.71,184.91h19.8c22,0,33-9.53,33-28.6,0-9.35-2.94-15.95-8.8-19.8-5.87-3.85-14.3-5.77-25.3-5.77h-18.7v54.18h0Z" style="fill:#231f20;"/>
14
+ <path d="M451.19,277.86V98.55h50.6c13.75,0,26.13,1.74,37.13,5.23,11,3.48,20.44,8.85,28.33,16.09,7.88,7.25,13.93,16.46,18.15,27.64,4.22,11.19,6.33,24.48,6.33,39.88s-2.11,28.79-6.33,40.15c-4.22,11.37-10.17,20.76-17.88,28.19-7.7,7.43-16.91,12.97-27.64,16.64-10.73,3.67-22.69,5.5-35.89,5.5h-52.8ZM491.62,245.14h7.7c7.7,0,14.67-1,20.9-3.02,6.23-2.02,11.55-5.27,15.95-9.77,4.4-4.49,7.84-10.4,10.31-17.74,2.48-7.33,3.71-16.41,3.71-27.23s-1.24-19.57-3.71-26.81c-2.47-7.24-5.91-13.02-10.31-17.33s-9.72-7.38-15.95-9.21c-6.24-1.83-13.2-2.75-20.9-2.75h-7.7v113.86h0Z" style="fill:#231f20;"/>
15
+ <polygon points="617.02 277.86 617.02 98.55 730.05 98.55 730.05 132.66 657.45 132.66 657.45 174.18 719.6 174.18 719.6 208.28 657.45 208.28 657.45 277.86 617.02 277.86" style="fill:#231f20;"/>
16
+ <path d="M91.33,400.17c-6.05,0-10.93-1.84-14.65-5.51s-5.58-8.53-5.58-14.58c0-3.63.77-6.86,2.3-9.7,1.54-2.84,3.95-5.28,7.26-7.33,3.3-2.05,7.49-3.77,12.56-5.16,5.07-1.4,11.14-2.46,18.21-3.21-.09-1.77-.35-3.46-.77-5.09-.42-1.62-1.12-3.07-2.09-4.32-.98-1.26-2.26-2.24-3.84-2.93-1.58-.7-3.54-1.05-5.86-1.05-3.35,0-6.63.65-9.84,1.95-3.21,1.3-6.35,2.88-9.42,4.75l-5.86-10.75c3.81-2.42,8.09-4.51,12.84-6.28s9.86-2.65,15.35-2.65c8.56,0,14.95,2.54,19.19,7.61,4.23,5.07,6.35,12.4,6.35,21.98v40.61h-13.26l-1.12-7.54h-.56c-3.07,2.61-6.35,4.79-9.84,6.56s-7.28,2.65-11.37,2.65M96.49,387.61c2.79,0,5.33-.65,7.6-1.96,2.28-1.3,4.72-3.16,7.33-5.58v-15.35c-4.65.56-8.56,1.3-11.72,2.23-3.16.93-5.72,1.98-7.68,3.14-1.95,1.16-3.35,2.49-4.19,3.98-.84,1.49-1.26,3.07-1.26,4.75,0,3.07.93,5.3,2.79,6.7,1.86,1.4,4.24,2.09,7.12,2.09" style="fill:#231f20;"/>
17
+ <path d="M164.46,400.17c-4.75,0-9.42-.91-14.03-2.72s-8.58-4.07-11.93-6.77l7.54-10.33c3.07,2.42,6.12,4.3,9.14,5.65s6.3,2.02,9.84,2.02c3.72,0,6.46-.77,8.23-2.3,1.77-1.53,2.65-3.51,2.65-5.93,0-1.4-.42-2.63-1.26-3.7s-1.96-2.02-3.35-2.86c-1.4-.84-2.98-1.61-4.74-2.3-1.77-.7-3.54-1.42-5.3-2.16-2.23-.84-4.52-1.81-6.84-2.93-2.33-1.12-4.4-2.46-6.21-4.05-1.82-1.58-3.3-3.42-4.47-5.51-1.16-2.09-1.74-4.58-1.74-7.46,0-6.05,2.23-10.98,6.7-14.79s10.56-5.72,18.28-5.72c4.74,0,9.02.84,12.84,2.51,3.81,1.67,7.12,3.58,9.91,5.72l-7.4,9.77c-2.42-1.77-4.86-3.19-7.33-4.26s-5.05-1.61-7.75-1.61c-3.44,0-5.98.72-7.6,2.16-1.63,1.45-2.44,3.24-2.44,5.37,0,1.39.39,2.58,1.19,3.56.79.98,1.84,1.84,3.14,2.58,1.3.75,2.81,1.44,4.54,2.09,1.72.65,3.51,1.31,5.37,1.96,2.32.84,4.65,1.79,6.98,2.86,2.32,1.07,4.44,2.4,6.35,3.98,1.91,1.58,3.44,3.51,4.61,5.79,1.16,2.28,1.75,5,1.75,8.16,0,2.98-.58,5.75-1.75,8.31-1.16,2.56-2.86,4.79-5.1,6.7-2.23,1.91-5.02,3.42-8.37,4.54-3.35,1.12-7.16,1.67-11.44,1.67" style="fill:#231f20;"/>
18
+ <path d="M224.61,400.17c-4.75,0-9.42-.91-14.03-2.72s-8.58-4.07-11.93-6.77l7.54-10.33c3.07,2.42,6.12,4.3,9.14,5.65s6.3,2.02,9.84,2.02c3.72,0,6.46-.77,8.23-2.3,1.77-1.53,2.65-3.51,2.65-5.93,0-1.4-.42-2.63-1.26-3.7s-1.96-2.02-3.35-2.86c-1.4-.84-2.98-1.61-4.74-2.3-1.77-.7-3.54-1.42-5.3-2.16-2.23-.84-4.52-1.81-6.84-2.93-2.33-1.12-4.39-2.46-6.21-4.05-1.81-1.58-3.3-3.42-4.47-5.51s-1.74-4.58-1.74-7.46c0-6.05,2.23-10.98,6.7-14.79s10.56-5.72,18.28-5.72c4.74,0,9.02.84,12.84,2.51,3.81,1.67,7.12,3.58,9.91,5.72l-7.4,9.77c-2.42-1.77-4.86-3.19-7.33-4.26s-5.05-1.61-7.75-1.61c-3.44,0-5.98.72-7.6,2.16-1.63,1.45-2.44,3.24-2.44,5.37,0,1.39.39,2.58,1.19,3.56.79.98,1.83,1.84,3.14,2.58,1.3.75,2.81,1.44,4.54,2.09,1.72.65,3.51,1.31,5.37,1.96,2.32.84,4.65,1.79,6.98,2.86,2.32,1.07,4.44,2.4,6.35,3.98,1.91,1.58,3.44,3.51,4.61,5.79,1.16,2.28,1.75,5,1.75,8.16,0,2.98-.58,5.75-1.75,8.31-1.16,2.56-2.86,4.79-5.1,6.7-2.23,1.91-5.02,3.42-8.37,4.54-3.35,1.12-7.16,1.67-11.44,1.67" style="fill:#231f20;"/>
19
+ <path d="M292.16,400.17c-4.28,0-8.37-.79-12.28-2.37s-7.38-3.91-10.4-6.98-5.42-6.84-7.19-11.31c-1.77-4.46-2.65-9.54-2.65-15.21s.88-10.75,2.65-15.21,4.16-8.23,7.19-11.3c3.02-3.07,6.49-5.42,10.4-7.05,3.91-1.63,8-2.44,12.28-2.44s8.39.81,12.35,2.44c3.95,1.63,7.42,3.98,10.4,7.05,2.98,3.07,5.37,6.84,7.19,11.3,1.81,4.47,2.72,9.54,2.72,15.21s-.91,10.75-2.72,15.21c-1.81,4.47-4.21,8.24-7.19,11.31s-6.44,5.39-10.4,6.98c-3.96,1.58-8.07,2.37-12.35,2.37M292.16,387.05c5.02,0,8.98-2.07,11.86-6.21,2.88-4.14,4.33-9.65,4.33-16.54s-1.44-12.54-4.33-16.68c-2.88-4.14-6.84-6.21-11.86-6.21s-8.96,2.07-11.79,6.21c-2.84,4.14-4.26,9.7-4.26,16.68s1.42,12.4,4.26,16.54,6.77,6.21,11.79,6.21" style="fill:#231f20;"/>
20
+ <path d="M367.8,400.17c-4.65,0-9-.79-13.05-2.37s-7.56-3.91-10.54-6.98-5.3-6.84-6.98-11.31c-1.67-4.46-2.51-9.54-2.51-15.21s.93-10.75,2.79-15.21c1.86-4.46,4.37-8.23,7.54-11.3,3.16-3.07,6.81-5.42,10.96-7.05,4.14-1.63,8.49-2.44,13.05-2.44s8.3.75,11.51,2.23c3.21,1.49,6.07,3.3,8.58,5.44l-7.81,10.47c-1.86-1.58-3.7-2.81-5.52-3.7-1.81-.88-3.79-1.33-5.93-1.33-5.58,0-10.1,2.07-13.54,6.21-3.44,4.14-5.16,9.7-5.16,16.68s1.7,12.4,5.09,16.54c3.39,4.14,7.79,6.21,13.19,6.21,2.7,0,5.23-.58,7.61-1.75,2.37-1.16,4.53-2.53,6.49-4.12l6.56,10.61c-3.26,2.79-6.82,4.89-10.68,6.28-3.86,1.4-7.74,2.1-11.65,2.1" style="fill:#231f20;"/>
21
+ <path d="M410.23,317.96c-2.89,0-5.26-.84-7.12-2.51s-2.79-3.86-2.79-6.56.93-4.91,2.79-6.63c1.86-1.72,4.23-2.58,7.12-2.58s5.26.86,7.12,2.58,2.79,3.93,2.79,6.63-.93,4.88-2.79,6.56c-1.86,1.68-4.23,2.51-7.12,2.51M402.13,329.96h16.05v68.53h-16.05v-68.53Z" style="fill:#231f20;"/>
22
+ <path d="M453.91,400.17c-6.05,0-10.94-1.84-14.66-5.51s-5.58-8.53-5.58-14.58c0-3.63.77-6.86,2.3-9.7,1.54-2.84,3.95-5.28,7.26-7.33,3.3-2.05,7.49-3.77,12.56-5.16,5.07-1.4,11.14-2.46,18.21-3.21-.09-1.77-.35-3.46-.77-5.09-.42-1.62-1.12-3.07-2.09-4.32-.98-1.26-2.26-2.24-3.84-2.93-1.58-.7-3.54-1.05-5.86-1.05-3.35,0-6.63.65-9.84,1.95-3.21,1.3-6.35,2.88-9.42,4.75l-5.86-10.75c3.81-2.42,8.09-4.51,12.84-6.28s9.86-2.65,15.35-2.65c8.56,0,14.96,2.54,19.19,7.61,4.23,5.07,6.35,12.4,6.35,21.98v40.61h-13.26l-1.12-7.54h-.56c-3.07,2.61-6.35,4.79-9.84,6.56s-7.28,2.65-11.37,2.65M459.07,387.61c2.79,0,5.33-.65,7.61-1.96,2.28-1.3,4.72-3.16,7.33-5.58v-15.35c-4.65.56-8.56,1.3-11.72,2.23-3.16.93-5.72,1.98-7.68,3.14-1.95,1.16-3.35,2.49-4.19,3.98-.84,1.49-1.26,3.07-1.26,4.75,0,3.07.93,5.3,2.79,6.7,1.86,1.4,4.23,2.09,7.12,2.09" style="fill:#231f20;"/>
23
+ <path d="M531.22,400.17c-4,0-7.37-.6-10.12-1.81s-4.98-2.91-6.7-5.1c-1.72-2.18-2.98-4.79-3.77-7.81-.79-3.03-1.19-6.4-1.19-10.12v-32.66h-9.77v-12l10.61-.7,1.96-18.7h13.4v18.7h17.45v12.7h-17.45v32.66c0,8,3.21,12,9.63,12,1.21,0,2.44-.14,3.7-.41,1.25-.28,2.39-.65,3.42-1.12l2.79,11.86c-1.86.65-3.98,1.23-6.35,1.75-2.37.51-4.91.77-7.61.77" style="fill:#231f20;"/>
24
+ <path d="M565.56,317.96c-2.89,0-5.26-.84-7.12-2.51s-2.79-3.86-2.79-6.56.93-4.91,2.79-6.63,4.23-2.58,7.12-2.58,5.25.86,7.12,2.58c1.86,1.72,2.79,3.93,2.79,6.63s-.93,4.88-2.79,6.56-4.23,2.51-7.12,2.51M557.46,329.96h16.05v68.53h-16.05v-68.53Z" style="fill:#231f20;"/>
25
+ <path d="M620.68,400.17c-4.28,0-8.37-.79-12.28-2.37-3.91-1.58-7.38-3.91-10.4-6.98s-5.42-6.84-7.19-11.31c-1.77-4.46-2.65-9.54-2.65-15.21s.88-10.75,2.65-15.21c1.76-4.46,4.16-8.23,7.19-11.3,3.02-3.07,6.49-5.42,10.4-7.05,3.91-1.63,8-2.44,12.28-2.44s8.4.81,12.35,2.44c3.96,1.63,7.42,3.98,10.4,7.05,2.98,3.07,5.37,6.84,7.19,11.3,1.81,4.47,2.72,9.54,2.72,15.21s-.91,10.75-2.72,15.21c-1.82,4.47-4.21,8.24-7.19,11.31s-6.44,5.39-10.4,6.98c-3.96,1.58-8.07,2.37-12.35,2.37M620.68,387.05c5.02,0,8.98-2.07,11.86-6.21,2.88-4.14,4.33-9.65,4.33-16.54s-1.44-12.54-4.33-16.68c-2.89-4.14-6.84-6.21-11.86-6.21s-8.96,2.07-11.79,6.21c-2.84,4.14-4.26,9.7-4.26,16.68s1.42,12.4,4.26,16.54,6.77,6.21,11.79,6.21" style="fill:#231f20;"/>
26
+ <path d="M666.04,398.49v-68.53h13.26l1.12,9.21h.56c3.07-2.98,6.4-5.54,9.98-7.68,3.58-2.14,7.75-3.21,12.49-3.21,7.35,0,12.7,2.35,16.05,7.05,3.35,4.7,5.02,11.42,5.02,20.16v42.99h-16.05v-40.89c0-5.67-.84-9.68-2.51-12-1.68-2.32-4.42-3.49-8.23-3.49-2.98,0-5.61.72-7.88,2.16-2.28,1.44-4.86,3.56-7.75,6.35v47.87h-16.06Z" style="fill:#231f20;"/>
27
+ <rect x="189.68" y="98.8" width="59.81" height="59.81" style="fill:#ca9831;"/><!-- PDF Association "logo yellow" -->
28
+ <rect x="129.87" y="158.62" width="59.81" height="59.81" style="fill:#8b985b;"/><!-- PDF Association "logo green" -->
29
+ <rect x="70.06" y="218.43" width="59.81" height="59.81" style="fill:#d03f4e;"/><!-- PDF Association "logo red" -->
30
+ <rect x="189.68" y="218.43" width="59.81" height="59.81" style="fill:#4a91af;"/><!-- PDF Association "logo blue" -->
31
+ </g>
32
+ </svg>
@@ -109,4 +109,7 @@
109
109
  .reading-mode .cover-stage {
110
110
  animation: none;
111
111
  }
112
+ .reading-mode .doc-footer {
113
+ grid-column: 1 !important;
114
+ }
112
115
 
@@ -22,9 +22,9 @@ body {
22
22
  /* Font size scaling — applied to doc-content only, not header/sidebar */
23
23
  .doc-content { font-size: calc(1em * var(--reader-font-scale)); }
24
24
 
25
- /* Serif mode override — swaps font-body to a serif stack */
26
- .reader-serif {
27
- --font-body: "Source Serif 4", "Noto Serif", Georgia, "Times New Roman", serif;
25
+ /* Serif/sans toggle — swaps font-body between serif and sans */
26
+ .reader-sans {
27
+ --font-body: var(--font-sans);
28
28
  }
29
29
 
30
30
  /* Skip navigation link */
@@ -33,11 +33,6 @@ p {
33
33
  hanging-punctuation: first last;
34
34
  orphans: 3; widows: 3;
35
35
  }
36
- .doc-content p + p { text-indent: 1.5em; margin-top: -0.3em; }
37
- h1 + p, h2 + p, h3 + p, blockquote + p, figure + p, table + p,
38
- .note-block p + p, .example p + p,
39
- div[id^="term-"] p + p,
40
- .norm-ref-entry, .biblio-entry { text-indent: 0; }
41
36
 
42
37
  a {
43
38
  color: var(--mn-primary);
@@ -12,7 +12,7 @@
12
12
  border-bottom: 1px solid var(--color-border);
13
13
  }
14
14
  .norm-ref-entry:last-child { border-bottom-color: transparent; }
15
- .ref-doc-number { font-weight: 500; color: var(--mn-primary); font-family: var(--font-sans); }
16
- .ref-year { font-weight: 500; }
15
+ .biblio-ordinal { font-weight: 600; font-family: var(--font-sans); }
16
+ .ref-pubid { font-weight: 500; color: var(--mn-primary); font-family: var(--font-sans); }
17
17
  .biblio-link { color: inherit; text-decoration: none; }
18
- .biblio-link:hover { color: var(--mn-primary); text-decoration: underline; }
18
+ .biblio-link:hover .ref-pubid { text-decoration: underline; }
@@ -59,9 +59,11 @@
59
59
  display: inline-flex;
60
60
  align-items: center;
61
61
  justify-content: center;
62
+ background: rgba(255,255,255,0.92);
63
+ border-radius: var(--radius-sm);
64
+ padding: 0.2em 0.4em;
62
65
  }
63
66
  .cover-logo svg { height: 40px; width: auto; max-width: 120px; }
64
- .cover-logo svg path { fill: #fff; }
65
67
  .cover-body {
66
68
  display: flex;
67
69
  flex-direction: column;
@@ -19,12 +19,24 @@ figcaption .caption-label { vertical-align: middle; }
19
19
  cursor: zoom-out;
20
20
  animation: lightboxIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
21
21
  }
22
+ .lightbox-inner {
23
+ display: flex; flex-direction: column;
24
+ align-items: center; max-width: 90vw; max-height: 90vh;
25
+ }
22
26
  .lightbox-overlay img {
23
- max-width: 90vw; max-height: 82vh;
27
+ max-width: 90vw; max-height: 75vh;
24
28
  object-fit: contain; border-radius: var(--radius-md);
25
29
  box-shadow: 0 12px 56px rgba(0,0,0,0.6);
26
30
  animation: lightboxImgIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
27
31
  }
32
+ .lightbox-caption {
33
+ margin-top: 1em;
34
+ font-style: italic; font-size: 0.9em;
35
+ color: rgba(255, 255, 255, 0.75);
36
+ font-family: var(--font-sans);
37
+ text-align: center;
38
+ max-width: 600px;
39
+ }
28
40
 
29
41
  .doc-content figure img { cursor: zoom-in; transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
30
42
  .doc-content figure img:hover { transform: scale(1.01); box-shadow: var(--shadow-md); }
@@ -6,6 +6,17 @@ a.fn-link {
6
6
  a.fn-link:hover {
7
7
  color: var(--mn-primary);
8
8
  }
9
+ .fn-marker {
10
+ position: relative;
11
+ cursor: pointer;
12
+ }
13
+ .fn-marker .fn-link {
14
+ vertical-align: inherit;
15
+ font-size: inherit;
16
+ }
17
+ .fn-marker .fn-popup {
18
+ display: none;
19
+ }
9
20
  .footnotes-section {
10
21
  margin-top: 3em;
11
22
  padding-top: 1.5em;
@@ -19,23 +30,72 @@ a.fn-link:hover {
19
30
  letter-spacing: 0.05em;
20
31
  text-transform: uppercase;
21
32
  }
22
- ol.footnotes {
23
- list-style: decimal;
24
- padding-left: 2em;
33
+ .footnotes {
25
34
  font-size: 0.88em;
26
35
  color: var(--color-text-light);
27
36
  }
28
- ol.footnotes li {
37
+ .footnotes .footnote {
29
38
  margin: 0.4em 0;
30
- padding-left: 0.3em;
39
+ }
40
+ .footnote-label {
41
+ font-weight: 600;
42
+ color: var(--mn-primary);
43
+ font-family: var(--font-sans);
44
+ margin-right: 0.3em;
31
45
  }
32
46
  a.footnote-backref {
33
47
  text-decoration: none;
34
48
  color: var(--mn-primary);
35
49
  font-weight: 600;
50
+ margin-right: 0.3em;
51
+ }
52
+ .footnote-arrival {
53
+ background: var(--mn-primary-light);
54
+ border-radius: var(--radius-sm);
55
+ transition: background 0.3s;
36
56
  }
37
57
  .formula-where {
38
58
  font-style: italic;
39
59
  font-size: 0.95em;
40
60
  margin: 0.5em 0 0;
41
61
  }
62
+
63
+ /* === Slide-up annotation pane === */
64
+ .fn-annotation-pane {
65
+ position: fixed;
66
+ bottom: 0;
67
+ left: 0;
68
+ right: 0;
69
+ z-index: 200;
70
+ background: var(--color-bg);
71
+ border-top: 2px solid var(--mn-primary);
72
+ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
73
+ max-height: 40vh;
74
+ transform: translateY(100%);
75
+ transition: transform 0.25s ease;
76
+ pointer-events: none;
77
+ font-family: var(--font-sans);
78
+ font-size: 0.9em;
79
+ line-height: 1.6;
80
+ color: var(--color-text);
81
+ }
82
+ .fn-annotation-pane.visible {
83
+ transform: translateY(0);
84
+ pointer-events: auto;
85
+ }
86
+ .fn-annotation-header {
87
+ padding: 0.5em 1em;
88
+ border-bottom: 1px solid var(--color-border);
89
+ display: flex;
90
+ align-items: center;
91
+ }
92
+ .fn-annotation-label {
93
+ font-weight: 600;
94
+ color: var(--mn-primary);
95
+ font-size: 0.85em;
96
+ }
97
+ .fn-annotation-body {
98
+ padding: 0.6em 1em 1em;
99
+ overflow-y: auto;
100
+ max-height: calc(40vh - 2.5em);
101
+ }
@@ -8,7 +8,11 @@
8
8
  box-shadow: none;
9
9
  display: block;
10
10
  text-align: center;
11
+ }
12
+ .formula > math {
13
+ display: block;
11
14
  overflow-x: auto;
15
+ padding: 0.2em 0;
12
16
  }
13
17
  .formula .stem { font-style: italic; font-size: 1.05em; }
14
18
  .formula-number {
@@ -20,6 +24,46 @@
20
24
  float: right;
21
25
  }
22
26
 
27
+ /* where clause: "where" label + definition table */
28
+ .formula .formula-where {
29
+ text-align: left;
30
+ font-size: 0.95em;
31
+ margin: 0.5em 0 0;
32
+ }
33
+ .formula dl {
34
+ display: grid;
35
+ grid-template-columns: auto 1fr;
36
+ column-gap: 1em;
37
+ row-gap: 0.2em;
38
+ text-align: left;
39
+ margin: 0.5em 0 0;
40
+ padding: 0;
41
+ border: none;
42
+ }
43
+ .formula dl dt {
44
+ padding: 0.15em 0;
45
+ color: inherit;
46
+ font-weight: inherit;
47
+ margin: 0;
48
+ white-space: nowrap;
49
+ }
50
+ .formula dl dd {
51
+ margin: 0;
52
+ padding: 0.15em 0;
53
+ border: none;
54
+ }
55
+ .formula dl dd > p:first-child { margin-top: 0; }
56
+ .formula dl dd > p:last-child { margin-bottom: 0; }
57
+ .formula dl dd + dt { margin-top: 0; }
58
+
59
+ /* Paragraph "where" content inside formulas (no dl) */
60
+ .formula > p:not(.formula-where):not(.formula-number) {
61
+ text-align: left;
62
+ font-size: 0.92em;
63
+ margin: 0.3em 0 0;
64
+ padding-left: 1em;
65
+ }
66
+
23
67
  @media (max-width: 767px) {
24
68
  .formula .formula-number { float: none; display: block; text-align: center; margin-top: 0.5em; }
25
69
  }
@@ -32,12 +32,27 @@
32
32
  .brand-logo {
33
33
  display: inline-flex; align-items: center; justify-content: center;
34
34
  height: 26px; border-radius: var(--radius-sm); overflow: hidden;
35
- margin-left: 0.3em; background: rgba(255,255,255,0.12);
35
+ margin-left: 0.3em; background: rgba(255,255,255,0.95);
36
36
  padding: 0 0.3em; flex-shrink: 0;
37
37
  }
38
38
  .brand-logo svg { height: 22px; width: auto; max-width: none; }
39
- .brand-logo svg path { fill: #fff; }
40
39
  .brand-logo + .brand-logo { margin-left: 0.2em; }
40
+
41
+ /* Light/dark logo switching */
42
+ .brand-logo-dark { display: none !important; }
43
+ .brand-logo-light { display: inline-flex; }
44
+ [data-theme="dark"] .brand-logo-light,
45
+ [data-theme="oled"] .brand-logo-light { display: none !important; }
46
+ [data-theme="dark"] .brand-logo-dark,
47
+ [data-theme="oled"] .brand-logo-dark { display: inline-flex !important; }
48
+
49
+ /* Cover logo light/dark switching */
50
+ .cover-logo-dark { display: none !important; }
51
+ .cover-logo-light { display: inline-flex; }
52
+ [data-theme="dark"] .cover-logo-light,
53
+ [data-theme="oled"] .cover-logo-light { display: none !important; }
54
+ [data-theme="dark"] .cover-logo-dark,
55
+ [data-theme="oled"] .cover-logo-dark { display: inline-flex !important; }
41
56
  .header-doc-id {
42
57
  font-family: var(--font-sans); font-size: 0.82em; opacity: 0.85;
43
58
  font-weight: 600; letter-spacing: 0.02em;
@@ -1,7 +1,7 @@
1
1
  /* === Inline Elements === */
2
2
  .fn-marker { vertical-align: super; font-size: 0.78em; color: var(--mn-primary); font-family: var(--font-sans); }
3
3
  .small-caps { font-variant: small-caps; letter-spacing: 0.03em; }
4
- .obligation-text { font-style: italic; color: var(--mn-accent); }
4
+ .obligation-text { font-style: italic; color: var(--color-text-light); }
5
5
  .title-text { font-weight: 700; }
6
6
 
7
7
  /* Math container — hover dropdown for source formats */
@@ -36,13 +36,26 @@ tr:hover td { background: var(--mn-primary-light); }
36
36
 
37
37
  .table-scroll-wrapper {
38
38
  margin: 1.4em 0;
39
- overflow-x: auto;
39
+ overflow: auto;
40
40
  -webkit-overflow-scrolling: touch;
41
41
  border-radius: var(--radius-sm);
42
42
  box-shadow: var(--shadow-sm);
43
43
  position: relative;
44
44
  max-height: 70vh;
45
45
  }
46
+ .table-caption {
47
+ position: sticky;
48
+ top: 0;
49
+ z-index: 2;
50
+ background: var(--color-bg-light);
51
+ padding: 0.7em 1em;
52
+ font-weight: 600;
53
+ font-family: var(--font-sans);
54
+ font-size: 0.92em;
55
+ text-align: left;
56
+ color: var(--color-text);
57
+ border-bottom: 1px solid var(--color-border);
58
+ }
46
59
  .table-scroll-wrapper table { margin: 0; box-shadow: none; }
47
60
  .table-scroll-wrapper::after {
48
61
  content: "";
@@ -54,4 +67,4 @@ tr:hover td { background: var(--mn-primary-light); }
54
67
  }
55
68
  .table-scroll-wrapper:has(table:not([style*="width: 100%"]))::after { display: block; }
56
69
  .table-notes { border: none; padding: 0.4em 0.9em; background: none; }
57
- .table-notes .note-block { background: none; border-left: none; padding: 0.3em 0; font-size: 0.9em; }
70
+ .table-notes .note-block { background: none; border-left: none; padding: 0.3em 0 0.3em 2.2em; font-size: 0.9em; }
@@ -23,7 +23,6 @@ div[id^="term-"] + div[id^="term-"] { margin-top: 0; }
23
23
  .term-domain { font-style: italic; color: var(--mn-accent); font-size: 0.92em; margin-top: 0.3em; }
24
24
  .term-source {
25
25
  font-size: 0.85em;
26
- text-align: right;
27
26
  color: var(--color-text-muted);
28
27
  margin-top: 0.8em;
29
28
  border-top: none;
@@ -0,0 +1,60 @@
1
+ primary: "#0f3c80"
2
+ accent: "#3d7ec7"
3
+ accent_deep: "#1a5a9e"
4
+ gradient: "linear-gradient(135deg, #082247 0%, #0f3c80 50%, #1a5a9e 100%)"
5
+ primary_light: "#edf1f7"
6
+ accent_light: "#e8f0fa"
7
+ warm: "#7a6952"
8
+ warm_light: "#f5f0e8"
9
+ sidebar_bg: "#f4f6fa"
10
+ font_body: '"Crimson Pro", "Georgia", "Times New Roman", serif'
11
+ font_sans: '"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif'
12
+ font_mono: '"IBM Plex Mono", "Fira Code", "Courier New", monospace'
13
+ font_url: "https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap"
14
+ header_background: "linear-gradient(135deg, #082247 0%, #0f3c80 50%, #1a5a9e 100%)"
15
+ cover_background: "linear-gradient(175deg, #04122a 0%, #0a2e5c 25%, #0f3c80 55%, #1a5a9e 80%, #3d7ec7 100%)"
16
+ cover_before_bg: "background: radial-gradient(ellipse at 25% 15%, rgba(61,126,199,0.15) 0%, transparent 50%), radial-gradient(ellipse at 75% 85%, rgba(15,60,128,0.18) 0%, transparent 40%), radial-gradient(circle at 50% 50%, rgba(255,255,255,0.02) 0%, transparent 70%)"
17
+ cover_after_bg: "height: 3px; background: linear-gradient(90deg, transparent, #3d7ec7 20%, #0f3c80 50%, #3d7ec7 80%, transparent)"
18
+ progress_bar_color: "#3d7ec7"
19
+ note_border: "#3d7ec7"
20
+ note_bg: "#edf1f7"
21
+ note_color: "#3d7ec7"
22
+ example_border: "#0f3c80"
23
+ example_bg: "#f5f0e8"
24
+ example_color: "#7a6952"
25
+ admonition_border: "#7a6952"
26
+ admonition_bg: "#f5f0e8"
27
+ admonition_color: "#7a6952"
28
+ footer_border_color: "#3d7ec7"
29
+ cover_separator_color: "rgba(61,126,199,0.25)"
30
+ dark_note_bg: "#0d1520"
31
+ dark_example_bg: "#14100e"
32
+ dark_admonition_bg: "#141210"
33
+ extra_css: |
34
+ .sourcecode pre { background: #0a1628; border-color: #1a2d4a; }
35
+ .reading-progress { box-shadow: 0 0 10px rgba(61,126,199,0.4); }
36
+ mark.search-match { background: #edf1f7; box-shadow: 0 0 0 1px rgba(15,60,128,0.25); }
37
+ mark.search-match.search-current { background: #3d7ec7; color: #fff; }
38
+ [data-theme="dark"] .sourcecode pre { background: #060a14; border-color: #1a2040; }
39
+ [data-theme="dark"] mark.search-match { background: #0d1a30; box-shadow: 0 0 0 1px rgba(61,126,199,0.4); }
40
+ [data-theme="dark"] mark.search-match.search-current { background: #1a5a9e; }
41
+
42
+ # Document identifier formatting
43
+ doc_id_strip_prefix: "BIPM"
44
+
45
+ # Publisher metadata
46
+ publishers:
47
+ - "BIPM"
48
+ publisher_name: "BIPM"
49
+ logos_light:
50
+ "BIPM": "bipm-logo.svg"
51
+
52
+ # Section ordering
53
+ preface_order:
54
+ - foreword
55
+ - introduction
56
+ - abstract
57
+ - clause
58
+ - acknowledgements
59
+ - executivesummary
60
+ toc_filter_types: []
@@ -0,0 +1,43 @@
1
+ primary: "#003d7c"
2
+ accent: "#0078d4"
3
+ accent_deep: "#005fa3"
4
+ gradient: "linear-gradient(135deg, #002244 0%, #003d7c 50%, #0078d4 100%)"
5
+ primary_light: "#edf3fa"
6
+ accent_light: "#e0effc"
7
+ warm: "#c9982e"
8
+ warm_light: "#fdf8ec"
9
+ font_body: '"Lora", "Georgia", serif'
10
+ font_sans: '"Karla", "Helvetica Neue", Arial, sans-serif'
11
+ font_mono: '"JetBrains Mono", "Fira Code", monospace'
12
+ font_url: "https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Karla:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"
13
+ header_background: "linear-gradient(135deg, #002244 0%, #003d7c 50%, #0078d4 100%)"
14
+ cover_background: "linear-gradient(175deg, #001a33 0%, #003d7c 40%, #0078d4 80%, #0092d6 100%)"
15
+ cover_before_bg: "background: radial-gradient(ellipse at 25% 15%, rgba(0,120,212,0.2) 0%, transparent 50%), radial-gradient(ellipse at 75% 85%, rgba(201,152,46,0.15) 0%, transparent 40%)"
16
+ cover_after_bg: "height: 3px; background: linear-gradient(90deg, transparent, #c9982e, transparent)"
17
+ progress_bar_color: "#0078d4"
18
+ note_border: "#0078d4"
19
+ note_bg: "#e0effc"
20
+ note_color: "#0078d4"
21
+ example_border: "#003d7c"
22
+ example_bg: "#edf3fa"
23
+ example_color: "#003d7c"
24
+ admonition_border: "#c9982e"
25
+ admonition_color: "#c9982e"
26
+ footer_border_color: "#0078d4"
27
+ cover_separator_color: "rgba(0,120,212,0.25)"
28
+
29
+ # Publisher metadata
30
+ publishers:
31
+ - "CalConnect"
32
+ publisher_name: "CalConnect"
33
+ logos_light: {}
34
+
35
+ # Section ordering
36
+ preface_order:
37
+ - foreword
38
+ - introduction
39
+ - abstract
40
+ - clause
41
+ - acknowledgements
42
+ - executivesummary
43
+ toc_filter_types: []