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
@@ -3,37 +3,6 @@
3
3
  module Metanorma
4
4
  module StandardDocument
5
5
  module Terms
6
- class TermNameElement < Lutaml::Model::Serializable
7
- attribute :id, :string
8
- attribute :semx_id, :string
9
- attribute :lang, :string
10
- attribute :text, :string, collection: true
11
- attribute :strike, Metanorma::Document::Components::TextElements::StrikeElement,
12
- collection: true
13
- attribute :em, Metanorma::Document::Components::Inline::EmRawElement,
14
- collection: true
15
- attribute :strong, Metanorma::Document::Components::Inline::StrongRawElement,
16
- collection: true
17
- attribute :sup, Metanorma::Document::Components::Inline::SupElement,
18
- collection: true
19
- attribute :sub, Metanorma::Document::Components::Inline::SubElement,
20
- collection: true
21
-
22
- xml do
23
- element "name"
24
- map_attribute "id", to: :id
25
- map_attribute "semx-id", to: :semx_id
26
- map_attribute "lang", to: :lang
27
- mixed_content
28
- map_content to: :text
29
- map_element "strike", to: :strike
30
- map_element "em", to: :em
31
- map_element "strong", to: :strong
32
- map_element "sup", to: :sup
33
- map_element "sub", to: :sub
34
- end
35
- end
36
-
37
6
  class TermExpression < Lutaml::Model::Serializable
38
7
  attribute :name, TermNameElement, collection: true
39
8
  attribute :usage, :string
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module StandardDocument
5
+ module Terms
6
+ # A `<name>` element contains the rendered form of a term's
7
+ # designation. It accepts arbitrary inline content (formatting,
8
+ # math symbols, footnotes) — see `Inline::Vocabulary` for the
9
+ # full set.
10
+ class TermNameElement < Lutaml::Model::Serializable
11
+ include Metanorma::Document::Components::Inline::Vocabulary
12
+
13
+ attribute :id, :string
14
+ attribute :semx_id, :string
15
+ attribute :lang, :string
16
+
17
+ xml do
18
+ element "name"
19
+ map_attribute "id", to: :id
20
+ map_attribute "semx-id", to: :semx_id
21
+ map_attribute "lang", to: :lang
22
+ mixed_content
23
+ Metanorma::Document::Components::Inline::Vocabulary::VocabularyXmlMapping
24
+ .apply_inline_mappings(self)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -23,6 +23,7 @@ module Metanorma
23
23
  autoload :TermCollection, "#{__dir__}/terms/term_collection"
24
24
  autoload :TermDefinition, "#{__dir__}/terms/term_definition"
25
25
  autoload :TermExpression, "#{__dir__}/terms/term_expression"
26
+ autoload :TermNameElement, "#{__dir__}/terms/term_name_element"
26
27
  autoload :TermSource, "#{__dir__}/terms/term_source"
27
28
  autoload :TermSourceStatus, "#{__dir__}/terms/term_source_status"
28
29
  autoload :TermSourceType, "#{__dir__}/terms/term_source_type"
@@ -0,0 +1,18 @@
1
+ require "metanorma/document"
2
+ require "metanorma/iso_document"
3
+ require "metanorma/ogc_document"
4
+ require "metanorma/html"
5
+
6
+ # ISO
7
+ iso_xml = File.read("spec/fixtures/iso/is/document-en.presentation.xml")
8
+ iso_doc = Metanorma::IsoDocument::Root.from_xml(iso_xml)
9
+ iso_output = Metanorma::Html::Generator.generate(iso_doc)
10
+ File.write("/tmp/iso_output.html", iso_output)
11
+ puts "ISO: #{iso_output.size} chars written to /tmp/iso_output.html"
12
+
13
+ # OGC
14
+ ogc_xml = File.read("spec/fixtures/ogc/00-027/document.presentation.xml")
15
+ ogc_doc = Metanorma::OgcDocument::Root.from_xml(ogc_xml)
16
+ ogc_output = Metanorma::Html::Generator.generate(ogc_doc)
17
+ File.write("/tmp/ogc_output.html", ogc_output)
18
+ puts "OGC: #{ogc_output.size} chars written to /tmp/ogc_output.html"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-document
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-22 00:00:00.000000000 Z
11
+ date: 2026-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model
@@ -24,30 +24,74 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.8.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: pubid
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.0.pre.alpha
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.0.pre.alpha
41
+ - !ruby/object:Gem::Dependency
42
+ name: relaton-bib
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 2.2.0.pre.alpha.1
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.3.0
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 2.2.0.pre.alpha.1
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: 2.3.0
27
61
  description: A Ruby library for representing and processing Metanorma document XML,
28
62
  providing a comprehensive model for standards documents with support for various
29
63
  metadata, content blocks, and structured markup.
30
64
  email:
31
65
  - open.source@ribose.com
32
- executables: []
66
+ executables:
67
+ - metanorma-document
33
68
  extensions: []
34
69
  extra_rdoc_files: []
35
70
  files:
36
- - ".github/workflows/rake.yml"
37
- - ".github/workflows/release.yml"
38
- - ".github/workflows/roundtrip-samples.yml"
39
- - ".gitignore"
40
- - ".rspec"
41
- - ".rubocop.yml"
42
71
  - ".rubocop_todo.yml"
43
72
  - CHANGELOG.md
44
- - Gemfile
73
+ - CLAUDE.md
45
74
  - LICENSE.txt
46
75
  - README.adoc
47
76
  - Rakefile
48
- - bin/console
49
- - bin/setup
77
+ - TODO.finalize/01-split-multi-class-files.md
78
+ - TODO.finalize/02-remove-data-dist-iso-document-frontend.md
79
+ - TODO.finalize/03-align-frontend-iife-and-gha-build.md
80
+ - TODO.finalize/04-theme-per-flavor-config-driven.md
81
+ - TODO.finalize/05-migrate-all-html-to-liquid.md
82
+ - TODO.finalize/06-integrate-pubid-library.md
83
+ - TODO.finalize/07-replace-relaton-models-with-relaton-bib.md
84
+ - TODO.finalize/08-refactor-renderer-architecture.md
85
+ - TODO.finalize/09-eliminate-code-smells.md
86
+ - TODO.finalize/10-comprehensive-spec-coverage.md
87
+ - TODO.finalize/11-config-driven-flavor-metadata.md
88
+ - TODO.finalize/12-add-frozen-string-literal.md
89
+ - TODO.finalize/13-extract-composition-from-god-class.md
90
+ - TODO.finalize/14-config-driven-section-ordering.md
91
+ - TODO.finalize/15-theme-directories-per-flavor.md
92
+ - TODO.finalize/16-theme-lutaml-model-schema.md
50
93
  - data/javascripts/components/mn-code-copy.js
94
+ - data/javascripts/components/mn-footnotes.js
51
95
  - data/javascripts/components/mn-glossary.js
52
96
  - data/javascripts/components/mn-index-panel.js
53
97
  - data/javascripts/components/mn-lightbox.js
@@ -68,6 +112,11 @@ files:
68
112
  - data/logos/itu-logo.svg
69
113
  - data/logos/metanorma-logo.svg
70
114
  - data/logos/ogc-logo.svg
115
+ - data/logos/oiml-logo-full-dark.svg
116
+ - data/logos/oiml-logo-full-light.svg
117
+ - data/logos/oiml-logo-icon-dark.svg
118
+ - data/logos/oiml-logo-icon-light.svg
119
+ - data/logos/oiml-logo.svg
71
120
  - data/logos/pdfa-logo.svg
72
121
  - data/stylesheets/base/_dark.css
73
122
  - data/stylesheets/base/_layout.css
@@ -96,7 +145,69 @@ files:
96
145
  - data/stylesheets/components/table.css
97
146
  - data/stylesheets/components/term.css
98
147
  - data/stylesheets/components/toc.css
148
+ - data/themes/bipm.yaml
149
+ - data/themes/cc.yaml
150
+ - data/themes/icc.yaml
151
+ - data/themes/iec.yaml
152
+ - data/themes/ieee.yaml
153
+ - data/themes/ietf.yaml
154
+ - data/themes/iho.yaml
155
+ - data/themes/iso.yaml
156
+ - data/themes/itu.yaml
157
+ - data/themes/ogc.yaml
158
+ - data/themes/oiml.yaml
159
+ - data/themes/pdfa.yaml
160
+ - data/themes/ribose.yaml
99
161
  - docs/html-renderer.adoc
162
+ - exe/metanorma-document
163
+ - frontend/e2e/sample-html.test.ts
164
+ - frontend/index.html
165
+ - frontend/package-lock.json
166
+ - frontend/package.json
167
+ - frontend/postcss.config.js
168
+ - frontend/src/App.vue
169
+ - frontend/src/app.ts
170
+ - frontend/src/components/AppSidebar.vue
171
+ - frontend/src/components/DocumentReader.vue
172
+ - frontend/src/components/MirrorRenderer.vue
173
+ - frontend/src/components/ReadingProgressBar.vue
174
+ - frontend/src/components/TextRenderer.vue
175
+ - frontend/src/components/TocItem.vue
176
+ - frontend/src/components/TopBar.vue
177
+ - frontend/src/components/__tests__/MirrorRenderer.test.ts
178
+ - frontend/src/components/blocks/AdmonitionBlock.vue
179
+ - frontend/src/components/blocks/ClauseBlock.vue
180
+ - frontend/src/components/blocks/ExampleBlock.vue
181
+ - frontend/src/components/blocks/FallbackBlock.vue
182
+ - frontend/src/components/blocks/FigureBlock.vue
183
+ - frontend/src/components/blocks/FootnotesBlock.vue
184
+ - frontend/src/components/blocks/ListBlocks.vue
185
+ - frontend/src/components/blocks/NoteBlock.vue
186
+ - frontend/src/components/blocks/ParagraphBlock.vue
187
+ - frontend/src/components/blocks/QuoteBlock.vue
188
+ - frontend/src/components/blocks/ReviewBlock.vue
189
+ - frontend/src/components/blocks/SourcecodeBlock.vue
190
+ - frontend/src/components/blocks/TableBlock.vue
191
+ - frontend/src/components/blocks/index.ts
192
+ - frontend/src/stores/__tests__/documentStore.fixture.test.ts
193
+ - frontend/src/stores/__tests__/documentStore.test.ts
194
+ - frontend/src/stores/__tests__/ebookStore.test.ts
195
+ - frontend/src/stores/__tests__/uiStore.test.ts
196
+ - frontend/src/stores/documentStore.ts
197
+ - frontend/src/stores/ebookStore.ts
198
+ - frontend/src/stores/uiStore.ts
199
+ - frontend/src/styles.css
200
+ - frontend/src/types/__tests__/rendering-contract.test.ts
201
+ - frontend/src/types/rendering-contract.ts
202
+ - frontend/src/utils/__tests__/typeMetadata.test.ts
203
+ - frontend/src/utils/typeMetadata.ts
204
+ - frontend/tailwind.config.js
205
+ - frontend/test/fixtures/iso-document.json
206
+ - frontend/tmp/debug_e2e.cjs
207
+ - frontend/tsconfig.json
208
+ - frontend/tsconfig.node.json
209
+ - frontend/vite.config.ts
210
+ - frontend/vitest.e2e.config.ts
100
211
  - lib/data/dist/iso_document/frontend/assets/index-mwzbzmnK.js
101
212
  - lib/data/dist/iso_document/frontend/assets/index-pGvKTNid.css
102
213
  - lib/data/dist/iso_document/frontend/assets/iso-red.svg
@@ -229,6 +340,7 @@ files:
229
340
  - lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb
230
341
  - lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb
231
342
  - lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb
343
+ - lib/metanorma/bipm_document/metadata/depiction_element.rb
232
344
  - lib/metanorma/bipm_document/root.rb
233
345
  - lib/metanorma/bsi_document.rb
234
346
  - lib/metanorma/bsi_document/metadata.rb
@@ -250,14 +362,17 @@ files:
250
362
  - lib/metanorma/collection/entry.rb
251
363
  - lib/metanorma/collection/root.rb
252
364
  - lib/metanorma/document.rb
365
+ - lib/metanorma/document/cli.rb
253
366
  - lib/metanorma/document/components.rb
254
367
  - lib/metanorma/document/components/ancillary_blocks.rb
368
+ - lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb
255
369
  - lib/metanorma/document/components/ancillary_blocks/example_block.rb
256
370
  - lib/metanorma/document/components/ancillary_blocks/figure_block.rb
257
371
  - lib/metanorma/document/components/ancillary_blocks/formula_block.rb
258
372
  - lib/metanorma/document/components/ancillary_blocks/key_element.rb
259
373
  - lib/metanorma/document/components/ancillary_blocks/literal_block.rb
260
374
  - lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb
375
+ - lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb
261
376
  - lib/metanorma/document/components/ancillary_blocks/subfigure.rb
262
377
  - lib/metanorma/document/components/bib_data.rb
263
378
  - lib/metanorma/document/components/bib_data/bib_data.rb
@@ -267,8 +382,15 @@ files:
267
382
  - lib/metanorma/document/components/blocks.rb
268
383
  - lib/metanorma/document/components/blocks/basic_block.rb
269
384
  - lib/metanorma/document/components/blocks/basic_block_no_notes.rb
385
+ - lib/metanorma/document/components/blocks/classification_value.rb
270
386
  - lib/metanorma/document/components/blocks/note_block.rb
271
387
  - lib/metanorma/document/components/blocks/passthrough.rb
388
+ - lib/metanorma/document/components/blocks/permission_model.rb
389
+ - lib/metanorma/document/components/blocks/recommendation_model.rb
390
+ - lib/metanorma/document/components/blocks/requirement_base.rb
391
+ - lib/metanorma/document/components/blocks/requirement_classification.rb
392
+ - lib/metanorma/document/components/blocks/requirement_description.rb
393
+ - lib/metanorma/document/components/blocks/requirement_inherit.rb
272
394
  - lib/metanorma/document/components/blocks/requirement_model.rb
273
395
  - lib/metanorma/document/components/change.rb
274
396
  - lib/metanorma/document/components/change/attribute_change_action.rb
@@ -349,8 +471,13 @@ files:
349
471
  - lib/metanorma/document/components/inline/link_element.rb
350
472
  - lib/metanorma/document/components/inline/localized_string_element.rb
351
473
  - lib/metanorma/document/components/inline/localized_strings_element.rb
474
+ - lib/metanorma/document/components/inline/location_element.rb
352
475
  - lib/metanorma/document/components/inline/math_element.rb
353
476
  - lib/metanorma/document/components/inline/name_with_id_element.rb
477
+ - lib/metanorma/document/components/inline/rendered_display.rb
478
+ - lib/metanorma/document/components/inline/rendered_math_element.rb
479
+ - lib/metanorma/document/components/inline/semantic_content.rb
480
+ - lib/metanorma/document/components/inline/semantic_math_element.rb
354
481
  - lib/metanorma/document/components/inline/semx_child_element.rb
355
482
  - lib/metanorma/document/components/inline/semx_element.rb
356
483
  - lib/metanorma/document/components/inline/small_cap_element.rb
@@ -363,6 +490,7 @@ files:
363
490
  - lib/metanorma/document/components/inline/title_with_annotation_element.rb
364
491
  - lib/metanorma/document/components/inline/tt_element.rb
365
492
  - lib/metanorma/document/components/inline/variant_title_element.rb
493
+ - lib/metanorma/document/components/inline/vocabulary.rb
366
494
  - lib/metanorma/document/components/inline/xref_element.rb
367
495
  - lib/metanorma/document/components/lists.rb
368
496
  - lib/metanorma/document/components/lists/dd_element.rb
@@ -378,6 +506,7 @@ files:
378
506
  - lib/metanorma/document/components/multi_paragraph/admonition_block.rb
379
507
  - lib/metanorma/document/components/multi_paragraph/admonition_type.rb
380
508
  - lib/metanorma/document/components/multi_paragraph/paragraphs_block.rb
509
+ - lib/metanorma/document/components/multi_paragraph/quote_author_element.rb
381
510
  - lib/metanorma/document/components/multi_paragraph/quote_block.rb
382
511
  - lib/metanorma/document/components/multi_paragraph/review_block.rb
383
512
  - lib/metanorma/document/components/paragraphs.rb
@@ -396,16 +525,23 @@ files:
396
525
  - lib/metanorma/document/components/reference_elements/reference_to_id_with_paragraph_element.rb
397
526
  - lib/metanorma/document/components/reference_elements/reference_to_link_element.rb
398
527
  - lib/metanorma/document/components/reference_elements/source_element.rb
528
+ - lib/metanorma/document/components/reference_elements/source_modification.rb
529
+ - lib/metanorma/document/components/reference_elements/source_origin.rb
399
530
  - lib/metanorma/document/components/sections.rb
400
531
  - lib/metanorma/document/components/sections/basic_section.rb
401
532
  - lib/metanorma/document/components/sections/content_section.rb
402
533
  - lib/metanorma/document/components/sections/hierarchical_section.rb
403
534
  - lib/metanorma/document/components/sections/references_section.rb
404
535
  - lib/metanorma/document/components/tables.rb
536
+ - lib/metanorma/document/components/tables/col_element.rb
537
+ - lib/metanorma/document/components/tables/col_group_element.rb
405
538
  - lib/metanorma/document/components/tables/header_table_cell.rb
406
539
  - lib/metanorma/document/components/tables/paragraph_table_cell.rb
407
540
  - lib/metanorma/document/components/tables/table_block.rb
541
+ - lib/metanorma/document/components/tables/table_body_section.rb
408
542
  - lib/metanorma/document/components/tables/table_cell.rb
543
+ - lib/metanorma/document/components/tables/table_foot_section.rb
544
+ - lib/metanorma/document/components/tables/table_head_section.rb
409
545
  - lib/metanorma/document/components/tables/table_section.rb
410
546
  - lib/metanorma/document/components/tables/text_alignment.rb
411
547
  - lib/metanorma/document/components/tables/text_table_cell.rb
@@ -448,18 +584,21 @@ files:
448
584
  - lib/metanorma/document/relaton/contributor.rb
449
585
  - lib/metanorma/document/relaton/contributor_role.rb
450
586
  - lib/metanorma/document/relaton/copyright_association.rb
587
+ - lib/metanorma/document/relaton/copyright_owner.rb
451
588
  - lib/metanorma/document/relaton/date_time.rb
452
589
  - lib/metanorma/document/relaton/document_identifier.rb
453
590
  - lib/metanorma/document/relaton/document_relation.rb
454
591
  - lib/metanorma/document/relaton/document_relation_type.rb
455
592
  - lib/metanorma/document/relaton/document_status.rb
456
593
  - lib/metanorma/document/relaton/edition.rb
594
+ - lib/metanorma/document/relaton/formatted_address.rb
457
595
  - lib/metanorma/document/relaton/full_name.rb
458
596
  - lib/metanorma/document/relaton/iso4217_code.rb
459
597
  - lib/metanorma/document/relaton/iso8601_date.rb
460
598
  - lib/metanorma/document/relaton/keyword_type.rb
461
599
  - lib/metanorma/document/relaton/locality_stack.rb
462
600
  - lib/metanorma/document/relaton/localized_name.rb
601
+ - lib/metanorma/document/relaton/logo_element.rb
463
602
  - lib/metanorma/document/relaton/medium_type.rb
464
603
  - lib/metanorma/document/relaton/org_identifier.rb
465
604
  - lib/metanorma/document/relaton/org_subdivision.rb
@@ -471,6 +610,7 @@ files:
471
610
  - lib/metanorma/document/relaton/phone.rb
472
611
  - lib/metanorma/document/relaton/place_type.rb
473
612
  - lib/metanorma/document/relaton/price_type.rb
613
+ - lib/metanorma/document/relaton/region_element.rb
474
614
  - lib/metanorma/document/relaton/region_type.rb
475
615
  - lib/metanorma/document/relaton/relaton_collection.rb
476
616
  - lib/metanorma/document/relaton/series_type.rb
@@ -506,6 +646,7 @@ files:
506
646
  - lib/metanorma/html/component/index_term_collector.rb
507
647
  - lib/metanorma/html/drops.rb
508
648
  - lib/metanorma/html/drops/admonition_drop.rb
649
+ - lib/metanorma/html/drops/biblio_entry_drop.rb
509
650
  - lib/metanorma/html/drops/block_element_drop.rb
510
651
  - lib/metanorma/html/drops/example_drop.rb
511
652
  - lib/metanorma/html/drops/figure_drop.rb
@@ -515,6 +656,8 @@ files:
515
656
  - lib/metanorma/html/drops/note_drop.rb
516
657
  - lib/metanorma/html/drops/sourcecode_drop.rb
517
658
  - lib/metanorma/html/drops/toc_entry_drop.rb
659
+ - lib/metanorma/html/flavor.rb
660
+ - lib/metanorma/html/flavor_registry.rb
518
661
  - lib/metanorma/html/generator.rb
519
662
  - lib/metanorma/html/icc_renderer.rb
520
663
  - lib/metanorma/html/iec_renderer.rb
@@ -526,22 +669,65 @@ files:
526
669
  - lib/metanorma/html/ogc_renderer.rb
527
670
  - lib/metanorma/html/oiml_renderer.rb
528
671
  - lib/metanorma/html/pdfa_renderer.rb
672
+ - lib/metanorma/html/renderer_delegation.rb
673
+ - lib/metanorma/html/renderers.rb
674
+ - lib/metanorma/html/renderers/block_renderer.rb
675
+ - lib/metanorma/html/renderers/element_order_traversal.rb
676
+ - lib/metanorma/html/renderers/inline_renderer.rb
677
+ - lib/metanorma/html/renderers/pubid_renderer.rb
678
+ - lib/metanorma/html/renderers/section_renderer.rb
529
679
  - lib/metanorma/html/ribose_renderer.rb
530
680
  - lib/metanorma/html/standard_renderer.rb
531
681
  - lib/metanorma/html/templates/_admonition.html.liquid
682
+ - lib/metanorma/html/templates/_audio.html.liquid
683
+ - lib/metanorma/html/templates/_biblio_entry.html.liquid
684
+ - lib/metanorma/html/templates/_bipm_cover.html.liquid
685
+ - lib/metanorma/html/templates/_boilerplate.html.liquid
686
+ - lib/metanorma/html/templates/_bookmark.html.liquid
687
+ - lib/metanorma/html/templates/_br.html.liquid
532
688
  - lib/metanorma/html/templates/_cover.html.liquid
689
+ - lib/metanorma/html/templates/_definition_list.html.liquid
533
690
  - lib/metanorma/html/templates/_doc_title.html.liquid
691
+ - lib/metanorma/html/templates/_element.html.liquid
534
692
  - lib/metanorma/html/templates/_example.html.liquid
535
693
  - lib/metanorma/html/templates/_figure.html.liquid
694
+ - lib/metanorma/html/templates/_fn_marker.html.liquid
536
695
  - lib/metanorma/html/templates/_footer.html.liquid
537
696
  - lib/metanorma/html/templates/_footnotes.html.liquid
538
697
  - lib/metanorma/html/templates/_formula.html.liquid
539
698
  - lib/metanorma/html/templates/_header.html.liquid
699
+ - lib/metanorma/html/templates/_heading.html.liquid
700
+ - lib/metanorma/html/templates/_image.html.liquid
701
+ - lib/metanorma/html/templates/_inline_span.html.liquid
540
702
  - lib/metanorma/html/templates/_iso_cover.html.liquid
541
703
  - lib/metanorma/html/templates/_iso_doc_title.html.liquid
704
+ - lib/metanorma/html/templates/_link.html.liquid
705
+ - lib/metanorma/html/templates/_list.html.liquid
706
+ - lib/metanorma/html/templates/_list_item.html.liquid
707
+ - lib/metanorma/html/templates/_main_content.html.liquid
708
+ - lib/metanorma/html/templates/_math_container.html.liquid
542
709
  - lib/metanorma/html/templates/_note.html.liquid
710
+ - lib/metanorma/html/templates/_paragraph.html.liquid
711
+ - lib/metanorma/html/templates/_prefatory_section.html.liquid
712
+ - lib/metanorma/html/templates/_pubid_identifier.html.liquid
713
+ - lib/metanorma/html/templates/_quote.html.liquid
714
+ - lib/metanorma/html/templates/_ref_date.html.liquid
715
+ - lib/metanorma/html/templates/_ref_title.html.liquid
716
+ - lib/metanorma/html/templates/_section.html.liquid
543
717
  - lib/metanorma/html/templates/_sourcecode.html.liquid
718
+ - lib/metanorma/html/templates/_standard_cover.html.liquid
719
+ - lib/metanorma/html/templates/_standard_doc_title.html.liquid
720
+ - lib/metanorma/html/templates/_stem_span.html.liquid
721
+ - lib/metanorma/html/templates/_table.html.liquid
722
+ - lib/metanorma/html/templates/_term_domain.html.liquid
723
+ - lib/metanorma/html/templates/_term_example.html.liquid
724
+ - lib/metanorma/html/templates/_term_note.html.liquid
725
+ - lib/metanorma/html/templates/_term_number.html.liquid
726
+ - lib/metanorma/html/templates/_term_source.html.liquid
727
+ - lib/metanorma/html/templates/_term_text_note.html.liquid
544
728
  - lib/metanorma/html/templates/_toc.html.liquid
729
+ - lib/metanorma/html/templates/_video.html.liquid
730
+ - lib/metanorma/html/templates/_wrapped_preface.html.liquid
545
731
  - lib/metanorma/html/templates/document.html.liquid
546
732
  - lib/metanorma/html/theme.rb
547
733
  - lib/metanorma/iec_document.rb
@@ -559,6 +745,7 @@ files:
559
745
  - lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb
560
746
  - lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb
561
747
  - lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb
748
+ - lib/metanorma/ietf_document/metadata/pi_settings.rb
562
749
  - lib/metanorma/ietf_document/root.rb
563
750
  - lib/metanorma/ietf_document/sections.rb
564
751
  - lib/metanorma/ietf_document/sections/ietf_annex_section.rb
@@ -582,6 +769,7 @@ files:
582
769
  - lib/metanorma/iso_document/metadata.rb
583
770
  - lib/metanorma/iso_document/metadata/abstract_title.rb
584
771
  - lib/metanorma/iso_document/metadata/doc_identifier.rb
772
+ - lib/metanorma/iso_document/metadata/doctype_element.rb
585
773
  - lib/metanorma/iso_document/metadata/ics.rb
586
774
  - lib/metanorma/iso_document/metadata/iec_document_category.rb
587
775
  - lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb
@@ -594,7 +782,12 @@ files:
594
782
  - lib/metanorma/iso_document/metadata/iso_localized_title.rb
595
783
  - lib/metanorma/iso_document/metadata/iso_project_group.rb
596
784
  - lib/metanorma/iso_document/metadata/iso_sub_group.rb
785
+ - lib/metanorma/iso_document/metadata/language_element.rb
597
786
  - lib/metanorma/iso_document/metadata/metanorma_extension.rb
787
+ - lib/metanorma/iso_document/metadata/project_number.rb
788
+ - lib/metanorma/iso_document/metadata/script_element.rb
789
+ - lib/metanorma/iso_document/metadata/stage_element.rb
790
+ - lib/metanorma/iso_document/metadata/stagename_element.rb
598
791
  - lib/metanorma/iso_document/metadata/structured_identifier.rb
599
792
  - lib/metanorma/iso_document/metadata/title_amd.rb
600
793
  - lib/metanorma/iso_document/metadata/title_amendment_prefix.rb
@@ -620,6 +813,7 @@ files:
620
813
  - lib/metanorma/iso_document/terms/iso_term_collection.rb
621
814
  - lib/metanorma/iso_document/terms/term_definition.rb
622
815
  - lib/metanorma/iso_document/terms/term_designation.rb
816
+ - lib/metanorma/iso_document/terms/term_domain_element.rb
623
817
  - lib/metanorma/iso_document/terms/term_example.rb
624
818
  - lib/metanorma/iso_document/terms/term_expression.rb
625
819
  - lib/metanorma/iso_document/terms/term_note.rb
@@ -632,6 +826,9 @@ files:
632
826
  - lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb
633
827
  - lib/metanorma/itu_document/metadata/itu_series.rb
634
828
  - lib/metanorma/itu_document/metadata/itu_structured_identifier.rb
829
+ - lib/metanorma/itu_document/metadata/meeting_date.rb
830
+ - lib/metanorma/itu_document/metadata/meeting_element.rb
831
+ - lib/metanorma/itu_document/metadata/study_period.rb
635
832
  - lib/metanorma/itu_document/root.rb
636
833
  - lib/metanorma/jis_document.rb
637
834
  - lib/metanorma/jis_document/metadata.rb
@@ -645,6 +842,65 @@ files:
645
842
  - lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb
646
843
  - lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb
647
844
  - lib/metanorma/m3d_document/root.rb
845
+ - lib/metanorma/mirror.rb
846
+ - lib/metanorma/mirror/default_registry.rb
847
+ - lib/metanorma/mirror/handler_registry.rb
848
+ - lib/metanorma/mirror/handler_result.rb
849
+ - lib/metanorma/mirror/handlers.rb
850
+ - lib/metanorma/mirror/handlers/admonition.rb
851
+ - lib/metanorma/mirror/handlers/example.rb
852
+ - lib/metanorma/mirror/handlers/figure.rb
853
+ - lib/metanorma/mirror/handlers/formula.rb
854
+ - lib/metanorma/mirror/handlers/inline.rb
855
+ - lib/metanorma/mirror/handlers/inline/catalog.rb
856
+ - lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb
857
+ - lib/metanorma/mirror/handlers/inline/text_extractor.rb
858
+ - lib/metanorma/mirror/handlers/list.rb
859
+ - lib/metanorma/mirror/handlers/note.rb
860
+ - lib/metanorma/mirror/handlers/paragraph.rb
861
+ - lib/metanorma/mirror/handlers/quote.rb
862
+ - lib/metanorma/mirror/handlers/review.rb
863
+ - lib/metanorma/mirror/handlers/section.rb
864
+ - lib/metanorma/mirror/handlers/sourcecode.rb
865
+ - lib/metanorma/mirror/handlers/structural.rb
866
+ - lib/metanorma/mirror/handlers/table.rb
867
+ - lib/metanorma/mirror/handlers/term.rb
868
+ - lib/metanorma/mirror/id_strategy.rb
869
+ - lib/metanorma/mirror/id_strategy/positional.rb
870
+ - lib/metanorma/mirror/id_strategy/preserve.rb
871
+ - lib/metanorma/mirror/math_util.rb
872
+ - lib/metanorma/mirror/metadata.rb
873
+ - lib/metanorma/mirror/model.rb
874
+ - lib/metanorma/mirror/model/container.rb
875
+ - lib/metanorma/mirror/model/factory.rb
876
+ - lib/metanorma/mirror/model/guide.rb
877
+ - lib/metanorma/mirror/model/leaf.rb
878
+ - lib/metanorma/mirror/model/mark.rb
879
+ - lib/metanorma/mirror/model/node.rb
880
+ - lib/metanorma/mirror/model/soft_break.rb
881
+ - lib/metanorma/mirror/model/text.rb
882
+ - lib/metanorma/mirror/output.rb
883
+ - lib/metanorma/mirror/output/builder.rb
884
+ - lib/metanorma/mirror/output/formats.rb
885
+ - lib/metanorma/mirror/output/formats/base_format.rb
886
+ - lib/metanorma/mirror/output/formats/inline_format.rb
887
+ - lib/metanorma/mirror/output/html_renderer.rb
888
+ - lib/metanorma/mirror/output/html_renderers.rb
889
+ - lib/metanorma/mirror/output/html_renderers/block_renderers.rb
890
+ - lib/metanorma/mirror/output/html_renderers/inline_renderer.rb
891
+ - lib/metanorma/mirror/output/html_renderers/list_renderers.rb
892
+ - lib/metanorma/mirror/output/html_renderers/mark_renderers.rb
893
+ - lib/metanorma/mirror/output/html_renderers/section_renderers.rb
894
+ - lib/metanorma/mirror/output/html_renderers/structural_renderers.rb
895
+ - lib/metanorma/mirror/output/html_renderers/table_renderers.rb
896
+ - lib/metanorma/mirror/output/pipeline.rb
897
+ - lib/metanorma/mirror/output/pipeline_context.rb
898
+ - lib/metanorma/mirror/rewriter.rb
899
+ - lib/metanorma/mirror/safe_attr.rb
900
+ - lib/metanorma/mirror/serialization.rb
901
+ - lib/metanorma/mirror/serialization/json_serializer.rb
902
+ - lib/metanorma/mirror/serialization/yaml_serializer.rb
903
+ - lib/metanorma/mirror/transformer.rb
648
904
  - lib/metanorma/nist_document.rb
649
905
  - lib/metanorma/nist_document/metadata.rb
650
906
  - lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb
@@ -674,6 +930,7 @@ files:
674
930
  - lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb
675
931
  - lib/metanorma/ribose_document/root.rb
676
932
  - lib/metanorma/standard_document.rb
933
+ - lib/metanorma/standard_document/annotation.rb
677
934
  - lib/metanorma/standard_document/annotation_container.rb
678
935
  - lib/metanorma/standard_document/block_attributes.rb
679
936
  - lib/metanorma/standard_document/blocks.rb
@@ -692,6 +949,7 @@ files:
692
949
  - lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb
693
950
  - lib/metanorma/standard_document/blocks/passthrough.rb
694
951
  - lib/metanorma/standard_document/blocks/requirement_model.rb
952
+ - lib/metanorma/standard_document/blocks/source_origin_element.rb
695
953
  - lib/metanorma/standard_document/blocks/standard_admonition_block.rb
696
954
  - lib/metanorma/standard_document/blocks/standard_block.rb
697
955
  - lib/metanorma/standard_document/blocks/standard_block_no_notes.rb
@@ -788,6 +1046,7 @@ files:
788
1046
  - lib/metanorma/standard_document/terms/term_collection.rb
789
1047
  - lib/metanorma/standard_document/terms/term_definition.rb
790
1048
  - lib/metanorma/standard_document/terms/term_expression.rb
1049
+ - lib/metanorma/standard_document/terms/term_name_element.rb
791
1050
  - lib/metanorma/standard_document/terms/term_source.rb
792
1051
  - lib/metanorma/standard_document/terms/term_source_status.rb
793
1052
  - lib/metanorma/standard_document/terms/term_source_type.rb
@@ -800,7 +1059,7 @@ files:
800
1059
  - lib/metanorma/un_document/sections.rb
801
1060
  - lib/metanorma/un_document/sections/un_preface.rb
802
1061
  - lib/metanorma/un_document/sections/un_sections.rb
803
- - metanorma-document.gemspec
1062
+ - script/render_both.rb
804
1063
  - tasks/roundtrip_samples.rake
805
1064
  homepage: https://github.com/metanorma/metanorma-document
806
1065
  licenses:
@@ -1,21 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: rake
4
-
5
- on:
6
- push:
7
- branches: [ master, main ]
8
- tags: [ v* ]
9
- pull_request:
10
-
11
- permissions:
12
- contents: write
13
-
14
- jobs:
15
- rake:
16
- uses: metanorma/ci/.github/workflows/generic-rake.yml@main
17
- with:
18
- setup-tools: libreoffice
19
- submodules: false
20
- secrets:
21
- pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}