metanorma-document 0.2.9 → 0.2.12

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 (390) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -66
  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 +13 -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 +261 -1008
  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 -7
  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/generator.rb +2 -2
  228. data/lib/metanorma/html/icc_renderer.rb +0 -39
  229. data/lib/metanorma/html/iec_renderer.rb +1 -44
  230. data/lib/metanorma/html/ieee_renderer.rb +1 -45
  231. data/lib/metanorma/html/ietf_renderer.rb +1 -48
  232. data/lib/metanorma/html/iho_renderer.rb +1 -46
  233. data/lib/metanorma/html/iso_renderer.rb +290 -343
  234. data/lib/metanorma/html/itu_renderer.rb +1 -45
  235. data/lib/metanorma/html/ogc_renderer.rb +15 -76
  236. data/lib/metanorma/html/oiml_renderer.rb +18 -38
  237. data/lib/metanorma/html/pdfa_renderer.rb +0 -39
  238. data/lib/metanorma/html/renderers/block_renderer.rb +372 -0
  239. data/lib/metanorma/html/renderers/inline_renderer.rb +655 -0
  240. data/lib/metanorma/html/renderers/pubid_renderer.rb +69 -0
  241. data/lib/metanorma/html/renderers/section_renderer.rb +193 -0
  242. data/lib/metanorma/html/renderers.rb +8 -0
  243. data/lib/metanorma/html/ribose_renderer.rb +1 -45
  244. data/lib/metanorma/html/standard_renderer.rb +341 -229
  245. data/lib/metanorma/html/templates/_audio.html.liquid +1 -0
  246. data/lib/metanorma/html/templates/_biblio_entry.html.liquid +1 -0
  247. data/lib/metanorma/html/templates/_bipm_cover.html.liquid +27 -0
  248. data/lib/metanorma/html/templates/_boilerplate.html.liquid +1 -0
  249. data/lib/metanorma/html/templates/_bookmark.html.liquid +1 -0
  250. data/lib/metanorma/html/templates/_br.html.liquid +1 -0
  251. data/lib/metanorma/html/templates/_definition_list.html.liquid +6 -0
  252. data/lib/metanorma/html/templates/_element.html.liquid +1 -0
  253. data/lib/metanorma/html/templates/_fn_marker.html.liquid +1 -0
  254. data/lib/metanorma/html/templates/_footnotes.html.liquid +6 -6
  255. data/lib/metanorma/html/templates/_formula.html.liquid +1 -1
  256. data/lib/metanorma/html/templates/_header.html.liquid +1 -1
  257. data/lib/metanorma/html/templates/_heading.html.liquid +1 -0
  258. data/lib/metanorma/html/templates/_image.html.liquid +1 -0
  259. data/lib/metanorma/html/templates/_inline_span.html.liquid +1 -0
  260. data/lib/metanorma/html/templates/_iso_cover.html.liquid +1 -1
  261. data/lib/metanorma/html/templates/_link.html.liquid +1 -0
  262. data/lib/metanorma/html/templates/_list.html.liquid +3 -0
  263. data/lib/metanorma/html/templates/_list_item.html.liquid +1 -0
  264. data/lib/metanorma/html/templates/_main_content.html.liquid +1 -0
  265. data/lib/metanorma/html/templates/_math_container.html.liquid +1 -0
  266. data/lib/metanorma/html/templates/_paragraph.html.liquid +1 -0
  267. data/lib/metanorma/html/templates/_prefatory_section.html.liquid +1 -0
  268. data/lib/metanorma/html/templates/_pubid_identifier.html.liquid +1 -0
  269. data/lib/metanorma/html/templates/_quote.html.liquid +4 -0
  270. data/lib/metanorma/html/templates/_ref_date.html.liquid +1 -0
  271. data/lib/metanorma/html/templates/_ref_title.html.liquid +1 -0
  272. data/lib/metanorma/html/templates/_section.html.liquid +5 -0
  273. data/lib/metanorma/html/templates/_standard_cover.html.liquid +31 -0
  274. data/lib/metanorma/html/templates/_standard_doc_title.html.liquid +3 -0
  275. data/lib/metanorma/html/templates/_stem_span.html.liquid +1 -0
  276. data/lib/metanorma/html/templates/_table.html.liquid +9 -0
  277. data/lib/metanorma/html/templates/_term_domain.html.liquid +1 -0
  278. data/lib/metanorma/html/templates/_term_example.html.liquid +1 -0
  279. data/lib/metanorma/html/templates/_term_note.html.liquid +1 -0
  280. data/lib/metanorma/html/templates/_term_number.html.liquid +1 -0
  281. data/lib/metanorma/html/templates/_term_source.html.liquid +1 -0
  282. data/lib/metanorma/html/templates/_term_text_note.html.liquid +1 -0
  283. data/lib/metanorma/html/templates/_video.html.liquid +1 -0
  284. data/lib/metanorma/html/templates/_wrapped_preface.html.liquid +1 -0
  285. data/lib/metanorma/html/templates/document.html.liquid +4 -0
  286. data/lib/metanorma/html/theme.rb +180 -107
  287. data/lib/metanorma/html.rb +13 -0
  288. data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +0 -25
  289. data/lib/metanorma/ietf_document/metadata/pi_settings.rb +32 -0
  290. data/lib/metanorma/ietf_document/metadata.rb +2 -0
  291. data/lib/metanorma/iso_document/metadata/doctype_element.rb +20 -0
  292. data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +0 -48
  293. data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +0 -72
  294. data/lib/metanorma/iso_document/metadata/iso_document_status.rb +0 -30
  295. data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +4 -1
  296. data/lib/metanorma/iso_document/metadata/language_element.rb +18 -0
  297. data/lib/metanorma/iso_document/metadata/project_number.rb +22 -0
  298. data/lib/metanorma/iso_document/metadata/script_element.rb +18 -0
  299. data/lib/metanorma/iso_document/metadata/stage_element.rb +26 -0
  300. data/lib/metanorma/iso_document/metadata/stagename_element.rb +18 -0
  301. data/lib/metanorma/iso_document/metadata/structured_identifier.rb +0 -17
  302. data/lib/metanorma/iso_document/metadata/title_collection.rb +1 -0
  303. data/lib/metanorma/iso_document/metadata.rb +9 -4
  304. data/lib/metanorma/iso_document/terms/iso_term.rb +0 -13
  305. data/lib/metanorma/iso_document/terms/term_domain_element.rb +18 -0
  306. data/lib/metanorma/iso_document/terms.rb +1 -0
  307. data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +0 -37
  308. data/lib/metanorma/itu_document/metadata/meeting_date.rb +18 -0
  309. data/lib/metanorma/itu_document/metadata/meeting_element.rb +18 -0
  310. data/lib/metanorma/itu_document/metadata/study_period.rb +18 -0
  311. data/lib/metanorma/itu_document/metadata.rb +3 -4
  312. data/lib/metanorma/mirror/default_registry.rb +170 -0
  313. data/lib/metanorma/mirror/handler_registry.rb +60 -0
  314. data/lib/metanorma/mirror/handler_result.rb +37 -0
  315. data/lib/metanorma/mirror/handlers/admonition.rb +18 -0
  316. data/lib/metanorma/mirror/handlers/example.rb +21 -0
  317. data/lib/metanorma/mirror/handlers/figure.rb +53 -0
  318. data/lib/metanorma/mirror/handlers/formula.rb +35 -0
  319. data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +159 -0
  320. data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +116 -0
  321. data/lib/metanorma/mirror/handlers/inline.rb +225 -0
  322. data/lib/metanorma/mirror/handlers/list.rb +110 -0
  323. data/lib/metanorma/mirror/handlers/note.rb +26 -0
  324. data/lib/metanorma/mirror/handlers/paragraph.rb +19 -0
  325. data/lib/metanorma/mirror/handlers/quote.rb +16 -0
  326. data/lib/metanorma/mirror/handlers/review.rb +19 -0
  327. data/lib/metanorma/mirror/handlers/section.rb +149 -0
  328. data/lib/metanorma/mirror/handlers/sourcecode.rb +27 -0
  329. data/lib/metanorma/mirror/handlers/structural.rb +68 -0
  330. data/lib/metanorma/mirror/handlers/table.rb +81 -0
  331. data/lib/metanorma/mirror/handlers/term.rb +100 -0
  332. data/lib/metanorma/mirror/handlers.rb +60 -0
  333. data/lib/metanorma/mirror/id_strategy/positional.rb +166 -0
  334. data/lib/metanorma/mirror/id_strategy/preserve.rb +12 -0
  335. data/lib/metanorma/mirror/id_strategy.rb +34 -0
  336. data/lib/metanorma/mirror/math_util.rb +53 -0
  337. data/lib/metanorma/mirror/metadata.rb +37 -0
  338. data/lib/metanorma/mirror/metanorma_to_mirror.rb +101 -0
  339. data/lib/metanorma/mirror/model/container.rb +47 -0
  340. data/lib/metanorma/mirror/model/factory.rb +52 -0
  341. data/lib/metanorma/mirror/model/guide.rb +25 -0
  342. data/lib/metanorma/mirror/model/leaf.rb +17 -0
  343. data/lib/metanorma/mirror/model/mark.rb +53 -0
  344. data/lib/metanorma/mirror/model/node.rb +47 -0
  345. data/lib/metanorma/mirror/model/soft_break.rb +33 -0
  346. data/lib/metanorma/mirror/model/text.rb +34 -0
  347. data/lib/metanorma/mirror/model.rb +16 -0
  348. data/lib/metanorma/mirror/output/builder.rb +39 -0
  349. data/lib/metanorma/mirror/output/formats/base_format.rb +90 -0
  350. data/lib/metanorma/mirror/output/formats/inline_format.rb +81 -0
  351. data/lib/metanorma/mirror/output/formats.rb +53 -0
  352. data/lib/metanorma/mirror/output/html_renderer.rb +95 -0
  353. data/lib/metanorma/mirror/output/html_renderers/block_renderers.rb +178 -0
  354. data/lib/metanorma/mirror/output/html_renderers/inline_renderer.rb +61 -0
  355. data/lib/metanorma/mirror/output/html_renderers/list_renderers.rb +96 -0
  356. data/lib/metanorma/mirror/output/html_renderers/mark_renderers.rb +64 -0
  357. data/lib/metanorma/mirror/output/html_renderers/section_renderers.rb +129 -0
  358. data/lib/metanorma/mirror/output/html_renderers/structural_renderers.rb +80 -0
  359. data/lib/metanorma/mirror/output/html_renderers/table_renderers.rb +87 -0
  360. data/lib/metanorma/mirror/output/html_renderers.rb +76 -0
  361. data/lib/metanorma/mirror/output/pipeline.rb +92 -0
  362. data/lib/metanorma/mirror/output/pipeline_context.rb +22 -0
  363. data/lib/metanorma/mirror/output.rb +14 -0
  364. data/lib/metanorma/mirror/rewriter.rb +121 -0
  365. data/lib/metanorma/mirror/safe_attr.rb +16 -0
  366. data/lib/metanorma/mirror/serialization/json_serializer.rb +25 -0
  367. data/lib/metanorma/mirror/serialization/yaml_serializer.rb +20 -0
  368. data/lib/metanorma/mirror/serialization.rb +10 -0
  369. data/lib/metanorma/mirror/transformer.rb +22 -0
  370. data/lib/metanorma/mirror.rb +32 -0
  371. data/lib/metanorma/standard_document/annotation.rb +37 -0
  372. data/lib/metanorma/standard_document/block_attributes.rb +15 -2
  373. data/lib/metanorma/standard_document/blocks/block_source.rb +0 -23
  374. data/lib/metanorma/standard_document/blocks/source_origin_element.rb +23 -0
  375. data/lib/metanorma/standard_document/blocks.rb +1 -1
  376. data/lib/metanorma/standard_document/terms/term_expression.rb +0 -31
  377. data/lib/metanorma/standard_document/terms/term_name_element.rb +29 -0
  378. data/lib/metanorma/standard_document/terms.rb +1 -0
  379. data/script/render_both.rb +18 -0
  380. metadata +262 -13
  381. data/.github/workflows/rake.yml +0 -21
  382. data/.github/workflows/release.yml +0 -25
  383. data/.github/workflows/roundtrip-samples.yml +0 -132
  384. data/.gitignore +0 -19
  385. data/.rspec +0 -3
  386. data/.rubocop.yml +0 -22
  387. data/Gemfile +0 -28
  388. data/bin/console +0 -15
  389. data/bin/setup +0 -8
  390. 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.2.12
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-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model
@@ -24,30 +24,68 @@ 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.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.1'
27
55
  description: A Ruby library for representing and processing Metanorma document XML,
28
56
  providing a comprehensive model for standards documents with support for various
29
57
  metadata, content blocks, and structured markup.
30
58
  email:
31
59
  - open.source@ribose.com
32
- executables: []
60
+ executables:
61
+ - metanorma-document
33
62
  extensions: []
34
63
  extra_rdoc_files: []
35
64
  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
65
  - ".rubocop_todo.yml"
43
66
  - CHANGELOG.md
44
- - Gemfile
67
+ - CLAUDE.md
45
68
  - LICENSE.txt
46
69
  - README.adoc
47
70
  - Rakefile
48
- - bin/console
49
- - bin/setup
71
+ - TODO.finalize/01-split-multi-class-files.md
72
+ - TODO.finalize/02-remove-data-dist-iso-document-frontend.md
73
+ - TODO.finalize/03-align-frontend-iife-and-gha-build.md
74
+ - TODO.finalize/04-theme-per-flavor-config-driven.md
75
+ - TODO.finalize/05-migrate-all-html-to-liquid.md
76
+ - TODO.finalize/06-integrate-pubid-library.md
77
+ - TODO.finalize/07-replace-relaton-models-with-relaton-bib.md
78
+ - TODO.finalize/08-refactor-renderer-architecture.md
79
+ - TODO.finalize/09-eliminate-code-smells.md
80
+ - TODO.finalize/10-comprehensive-spec-coverage.md
81
+ - TODO.finalize/11-config-driven-flavor-metadata.md
82
+ - TODO.finalize/12-add-frozen-string-literal.md
83
+ - TODO.finalize/13-extract-composition-from-god-class.md
84
+ - TODO.finalize/14-config-driven-section-ordering.md
85
+ - TODO.finalize/15-theme-directories-per-flavor.md
86
+ - TODO.finalize/16-theme-lutaml-model-schema.md
50
87
  - data/javascripts/components/mn-code-copy.js
88
+ - data/javascripts/components/mn-footnotes.js
51
89
  - data/javascripts/components/mn-glossary.js
52
90
  - data/javascripts/components/mn-index-panel.js
53
91
  - data/javascripts/components/mn-lightbox.js
@@ -68,6 +106,11 @@ files:
68
106
  - data/logos/itu-logo.svg
69
107
  - data/logos/metanorma-logo.svg
70
108
  - data/logos/ogc-logo.svg
109
+ - data/logos/oiml-logo-full-dark.svg
110
+ - data/logos/oiml-logo-full-light.svg
111
+ - data/logos/oiml-logo-icon-dark.svg
112
+ - data/logos/oiml-logo-icon-light.svg
113
+ - data/logos/oiml-logo.svg
71
114
  - data/logos/pdfa-logo.svg
72
115
  - data/stylesheets/base/_dark.css
73
116
  - data/stylesheets/base/_layout.css
@@ -96,7 +139,69 @@ files:
96
139
  - data/stylesheets/components/table.css
97
140
  - data/stylesheets/components/term.css
98
141
  - data/stylesheets/components/toc.css
142
+ - data/themes/bipm.yaml
143
+ - data/themes/cc.yaml
144
+ - data/themes/icc.yaml
145
+ - data/themes/iec.yaml
146
+ - data/themes/ieee.yaml
147
+ - data/themes/ietf.yaml
148
+ - data/themes/iho.yaml
149
+ - data/themes/iso.yaml
150
+ - data/themes/itu.yaml
151
+ - data/themes/ogc.yaml
152
+ - data/themes/oiml.yaml
153
+ - data/themes/pdfa.yaml
154
+ - data/themes/ribose.yaml
99
155
  - docs/html-renderer.adoc
156
+ - exe/metanorma-document
157
+ - frontend/e2e/sample-html.test.ts
158
+ - frontend/index.html
159
+ - frontend/package-lock.json
160
+ - frontend/package.json
161
+ - frontend/postcss.config.js
162
+ - frontend/src/App.vue
163
+ - frontend/src/app.ts
164
+ - frontend/src/components/AppSidebar.vue
165
+ - frontend/src/components/DocumentReader.vue
166
+ - frontend/src/components/MirrorRenderer.vue
167
+ - frontend/src/components/ReadingProgressBar.vue
168
+ - frontend/src/components/TextRenderer.vue
169
+ - frontend/src/components/TocItem.vue
170
+ - frontend/src/components/TopBar.vue
171
+ - frontend/src/components/__tests__/MirrorRenderer.test.ts
172
+ - frontend/src/components/blocks/AdmonitionBlock.vue
173
+ - frontend/src/components/blocks/ClauseBlock.vue
174
+ - frontend/src/components/blocks/ExampleBlock.vue
175
+ - frontend/src/components/blocks/FallbackBlock.vue
176
+ - frontend/src/components/blocks/FigureBlock.vue
177
+ - frontend/src/components/blocks/FootnotesBlock.vue
178
+ - frontend/src/components/blocks/ListBlocks.vue
179
+ - frontend/src/components/blocks/NoteBlock.vue
180
+ - frontend/src/components/blocks/ParagraphBlock.vue
181
+ - frontend/src/components/blocks/QuoteBlock.vue
182
+ - frontend/src/components/blocks/ReviewBlock.vue
183
+ - frontend/src/components/blocks/SourcecodeBlock.vue
184
+ - frontend/src/components/blocks/TableBlock.vue
185
+ - frontend/src/components/blocks/index.ts
186
+ - frontend/src/stores/__tests__/documentStore.fixture.test.ts
187
+ - frontend/src/stores/__tests__/documentStore.test.ts
188
+ - frontend/src/stores/__tests__/ebookStore.test.ts
189
+ - frontend/src/stores/__tests__/uiStore.test.ts
190
+ - frontend/src/stores/documentStore.ts
191
+ - frontend/src/stores/ebookStore.ts
192
+ - frontend/src/stores/uiStore.ts
193
+ - frontend/src/styles.css
194
+ - frontend/src/types/__tests__/rendering-contract.test.ts
195
+ - frontend/src/types/rendering-contract.ts
196
+ - frontend/src/utils/__tests__/typeMetadata.test.ts
197
+ - frontend/src/utils/typeMetadata.ts
198
+ - frontend/tailwind.config.js
199
+ - frontend/test/fixtures/iso-document.json
200
+ - frontend/tmp/debug_e2e.cjs
201
+ - frontend/tsconfig.json
202
+ - frontend/tsconfig.node.json
203
+ - frontend/vite.config.ts
204
+ - frontend/vitest.e2e.config.ts
100
205
  - lib/data/dist/iso_document/frontend/assets/index-mwzbzmnK.js
101
206
  - lib/data/dist/iso_document/frontend/assets/index-pGvKTNid.css
102
207
  - lib/data/dist/iso_document/frontend/assets/iso-red.svg
@@ -229,6 +334,7 @@ files:
229
334
  - lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb
230
335
  - lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb
231
336
  - lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb
337
+ - lib/metanorma/bipm_document/metadata/depiction_element.rb
232
338
  - lib/metanorma/bipm_document/root.rb
233
339
  - lib/metanorma/bsi_document.rb
234
340
  - lib/metanorma/bsi_document/metadata.rb
@@ -250,14 +356,17 @@ files:
250
356
  - lib/metanorma/collection/entry.rb
251
357
  - lib/metanorma/collection/root.rb
252
358
  - lib/metanorma/document.rb
359
+ - lib/metanorma/document/cli.rb
253
360
  - lib/metanorma/document/components.rb
254
361
  - lib/metanorma/document/components/ancillary_blocks.rb
362
+ - lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb
255
363
  - lib/metanorma/document/components/ancillary_blocks/example_block.rb
256
364
  - lib/metanorma/document/components/ancillary_blocks/figure_block.rb
257
365
  - lib/metanorma/document/components/ancillary_blocks/formula_block.rb
258
366
  - lib/metanorma/document/components/ancillary_blocks/key_element.rb
259
367
  - lib/metanorma/document/components/ancillary_blocks/literal_block.rb
260
368
  - lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb
369
+ - lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb
261
370
  - lib/metanorma/document/components/ancillary_blocks/subfigure.rb
262
371
  - lib/metanorma/document/components/bib_data.rb
263
372
  - lib/metanorma/document/components/bib_data/bib_data.rb
@@ -267,8 +376,15 @@ files:
267
376
  - lib/metanorma/document/components/blocks.rb
268
377
  - lib/metanorma/document/components/blocks/basic_block.rb
269
378
  - lib/metanorma/document/components/blocks/basic_block_no_notes.rb
379
+ - lib/metanorma/document/components/blocks/classification_value.rb
270
380
  - lib/metanorma/document/components/blocks/note_block.rb
271
381
  - lib/metanorma/document/components/blocks/passthrough.rb
382
+ - lib/metanorma/document/components/blocks/permission_model.rb
383
+ - lib/metanorma/document/components/blocks/recommendation_model.rb
384
+ - lib/metanorma/document/components/blocks/requirement_base.rb
385
+ - lib/metanorma/document/components/blocks/requirement_classification.rb
386
+ - lib/metanorma/document/components/blocks/requirement_description.rb
387
+ - lib/metanorma/document/components/blocks/requirement_inherit.rb
272
388
  - lib/metanorma/document/components/blocks/requirement_model.rb
273
389
  - lib/metanorma/document/components/change.rb
274
390
  - lib/metanorma/document/components/change/attribute_change_action.rb
@@ -349,8 +465,13 @@ files:
349
465
  - lib/metanorma/document/components/inline/link_element.rb
350
466
  - lib/metanorma/document/components/inline/localized_string_element.rb
351
467
  - lib/metanorma/document/components/inline/localized_strings_element.rb
468
+ - lib/metanorma/document/components/inline/location_element.rb
352
469
  - lib/metanorma/document/components/inline/math_element.rb
353
470
  - lib/metanorma/document/components/inline/name_with_id_element.rb
471
+ - lib/metanorma/document/components/inline/rendered_display.rb
472
+ - lib/metanorma/document/components/inline/rendered_math_element.rb
473
+ - lib/metanorma/document/components/inline/semantic_content.rb
474
+ - lib/metanorma/document/components/inline/semantic_math_element.rb
354
475
  - lib/metanorma/document/components/inline/semx_child_element.rb
355
476
  - lib/metanorma/document/components/inline/semx_element.rb
356
477
  - lib/metanorma/document/components/inline/small_cap_element.rb
@@ -363,6 +484,7 @@ files:
363
484
  - lib/metanorma/document/components/inline/title_with_annotation_element.rb
364
485
  - lib/metanorma/document/components/inline/tt_element.rb
365
486
  - lib/metanorma/document/components/inline/variant_title_element.rb
487
+ - lib/metanorma/document/components/inline/vocabulary.rb
366
488
  - lib/metanorma/document/components/inline/xref_element.rb
367
489
  - lib/metanorma/document/components/lists.rb
368
490
  - lib/metanorma/document/components/lists/dd_element.rb
@@ -378,6 +500,7 @@ files:
378
500
  - lib/metanorma/document/components/multi_paragraph/admonition_block.rb
379
501
  - lib/metanorma/document/components/multi_paragraph/admonition_type.rb
380
502
  - lib/metanorma/document/components/multi_paragraph/paragraphs_block.rb
503
+ - lib/metanorma/document/components/multi_paragraph/quote_author_element.rb
381
504
  - lib/metanorma/document/components/multi_paragraph/quote_block.rb
382
505
  - lib/metanorma/document/components/multi_paragraph/review_block.rb
383
506
  - lib/metanorma/document/components/paragraphs.rb
@@ -396,16 +519,23 @@ files:
396
519
  - lib/metanorma/document/components/reference_elements/reference_to_id_with_paragraph_element.rb
397
520
  - lib/metanorma/document/components/reference_elements/reference_to_link_element.rb
398
521
  - lib/metanorma/document/components/reference_elements/source_element.rb
522
+ - lib/metanorma/document/components/reference_elements/source_modification.rb
523
+ - lib/metanorma/document/components/reference_elements/source_origin.rb
399
524
  - lib/metanorma/document/components/sections.rb
400
525
  - lib/metanorma/document/components/sections/basic_section.rb
401
526
  - lib/metanorma/document/components/sections/content_section.rb
402
527
  - lib/metanorma/document/components/sections/hierarchical_section.rb
403
528
  - lib/metanorma/document/components/sections/references_section.rb
404
529
  - lib/metanorma/document/components/tables.rb
530
+ - lib/metanorma/document/components/tables/col_element.rb
531
+ - lib/metanorma/document/components/tables/col_group_element.rb
405
532
  - lib/metanorma/document/components/tables/header_table_cell.rb
406
533
  - lib/metanorma/document/components/tables/paragraph_table_cell.rb
407
534
  - lib/metanorma/document/components/tables/table_block.rb
535
+ - lib/metanorma/document/components/tables/table_body_section.rb
408
536
  - lib/metanorma/document/components/tables/table_cell.rb
537
+ - lib/metanorma/document/components/tables/table_foot_section.rb
538
+ - lib/metanorma/document/components/tables/table_head_section.rb
409
539
  - lib/metanorma/document/components/tables/table_section.rb
410
540
  - lib/metanorma/document/components/tables/text_alignment.rb
411
541
  - lib/metanorma/document/components/tables/text_table_cell.rb
@@ -448,18 +578,21 @@ files:
448
578
  - lib/metanorma/document/relaton/contributor.rb
449
579
  - lib/metanorma/document/relaton/contributor_role.rb
450
580
  - lib/metanorma/document/relaton/copyright_association.rb
581
+ - lib/metanorma/document/relaton/copyright_owner.rb
451
582
  - lib/metanorma/document/relaton/date_time.rb
452
583
  - lib/metanorma/document/relaton/document_identifier.rb
453
584
  - lib/metanorma/document/relaton/document_relation.rb
454
585
  - lib/metanorma/document/relaton/document_relation_type.rb
455
586
  - lib/metanorma/document/relaton/document_status.rb
456
587
  - lib/metanorma/document/relaton/edition.rb
588
+ - lib/metanorma/document/relaton/formatted_address.rb
457
589
  - lib/metanorma/document/relaton/full_name.rb
458
590
  - lib/metanorma/document/relaton/iso4217_code.rb
459
591
  - lib/metanorma/document/relaton/iso8601_date.rb
460
592
  - lib/metanorma/document/relaton/keyword_type.rb
461
593
  - lib/metanorma/document/relaton/locality_stack.rb
462
594
  - lib/metanorma/document/relaton/localized_name.rb
595
+ - lib/metanorma/document/relaton/logo_element.rb
463
596
  - lib/metanorma/document/relaton/medium_type.rb
464
597
  - lib/metanorma/document/relaton/org_identifier.rb
465
598
  - lib/metanorma/document/relaton/org_subdivision.rb
@@ -471,6 +604,7 @@ files:
471
604
  - lib/metanorma/document/relaton/phone.rb
472
605
  - lib/metanorma/document/relaton/place_type.rb
473
606
  - lib/metanorma/document/relaton/price_type.rb
607
+ - lib/metanorma/document/relaton/region_element.rb
474
608
  - lib/metanorma/document/relaton/region_type.rb
475
609
  - lib/metanorma/document/relaton/relaton_collection.rb
476
610
  - lib/metanorma/document/relaton/series_type.rb
@@ -506,6 +640,7 @@ files:
506
640
  - lib/metanorma/html/component/index_term_collector.rb
507
641
  - lib/metanorma/html/drops.rb
508
642
  - lib/metanorma/html/drops/admonition_drop.rb
643
+ - lib/metanorma/html/drops/biblio_entry_drop.rb
509
644
  - lib/metanorma/html/drops/block_element_drop.rb
510
645
  - lib/metanorma/html/drops/example_drop.rb
511
646
  - lib/metanorma/html/drops/figure_drop.rb
@@ -526,22 +661,63 @@ files:
526
661
  - lib/metanorma/html/ogc_renderer.rb
527
662
  - lib/metanorma/html/oiml_renderer.rb
528
663
  - lib/metanorma/html/pdfa_renderer.rb
664
+ - lib/metanorma/html/renderers.rb
665
+ - lib/metanorma/html/renderers/block_renderer.rb
666
+ - lib/metanorma/html/renderers/inline_renderer.rb
667
+ - lib/metanorma/html/renderers/pubid_renderer.rb
668
+ - lib/metanorma/html/renderers/section_renderer.rb
529
669
  - lib/metanorma/html/ribose_renderer.rb
530
670
  - lib/metanorma/html/standard_renderer.rb
531
671
  - lib/metanorma/html/templates/_admonition.html.liquid
672
+ - lib/metanorma/html/templates/_audio.html.liquid
673
+ - lib/metanorma/html/templates/_biblio_entry.html.liquid
674
+ - lib/metanorma/html/templates/_bipm_cover.html.liquid
675
+ - lib/metanorma/html/templates/_boilerplate.html.liquid
676
+ - lib/metanorma/html/templates/_bookmark.html.liquid
677
+ - lib/metanorma/html/templates/_br.html.liquid
532
678
  - lib/metanorma/html/templates/_cover.html.liquid
679
+ - lib/metanorma/html/templates/_definition_list.html.liquid
533
680
  - lib/metanorma/html/templates/_doc_title.html.liquid
681
+ - lib/metanorma/html/templates/_element.html.liquid
534
682
  - lib/metanorma/html/templates/_example.html.liquid
535
683
  - lib/metanorma/html/templates/_figure.html.liquid
684
+ - lib/metanorma/html/templates/_fn_marker.html.liquid
536
685
  - lib/metanorma/html/templates/_footer.html.liquid
537
686
  - lib/metanorma/html/templates/_footnotes.html.liquid
538
687
  - lib/metanorma/html/templates/_formula.html.liquid
539
688
  - lib/metanorma/html/templates/_header.html.liquid
689
+ - lib/metanorma/html/templates/_heading.html.liquid
690
+ - lib/metanorma/html/templates/_image.html.liquid
691
+ - lib/metanorma/html/templates/_inline_span.html.liquid
540
692
  - lib/metanorma/html/templates/_iso_cover.html.liquid
541
693
  - lib/metanorma/html/templates/_iso_doc_title.html.liquid
694
+ - lib/metanorma/html/templates/_link.html.liquid
695
+ - lib/metanorma/html/templates/_list.html.liquid
696
+ - lib/metanorma/html/templates/_list_item.html.liquid
697
+ - lib/metanorma/html/templates/_main_content.html.liquid
698
+ - lib/metanorma/html/templates/_math_container.html.liquid
542
699
  - lib/metanorma/html/templates/_note.html.liquid
700
+ - lib/metanorma/html/templates/_paragraph.html.liquid
701
+ - lib/metanorma/html/templates/_prefatory_section.html.liquid
702
+ - lib/metanorma/html/templates/_pubid_identifier.html.liquid
703
+ - lib/metanorma/html/templates/_quote.html.liquid
704
+ - lib/metanorma/html/templates/_ref_date.html.liquid
705
+ - lib/metanorma/html/templates/_ref_title.html.liquid
706
+ - lib/metanorma/html/templates/_section.html.liquid
543
707
  - lib/metanorma/html/templates/_sourcecode.html.liquid
708
+ - lib/metanorma/html/templates/_standard_cover.html.liquid
709
+ - lib/metanorma/html/templates/_standard_doc_title.html.liquid
710
+ - lib/metanorma/html/templates/_stem_span.html.liquid
711
+ - lib/metanorma/html/templates/_table.html.liquid
712
+ - lib/metanorma/html/templates/_term_domain.html.liquid
713
+ - lib/metanorma/html/templates/_term_example.html.liquid
714
+ - lib/metanorma/html/templates/_term_note.html.liquid
715
+ - lib/metanorma/html/templates/_term_number.html.liquid
716
+ - lib/metanorma/html/templates/_term_source.html.liquid
717
+ - lib/metanorma/html/templates/_term_text_note.html.liquid
544
718
  - lib/metanorma/html/templates/_toc.html.liquid
719
+ - lib/metanorma/html/templates/_video.html.liquid
720
+ - lib/metanorma/html/templates/_wrapped_preface.html.liquid
545
721
  - lib/metanorma/html/templates/document.html.liquid
546
722
  - lib/metanorma/html/theme.rb
547
723
  - lib/metanorma/iec_document.rb
@@ -559,6 +735,7 @@ files:
559
735
  - lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb
560
736
  - lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb
561
737
  - lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb
738
+ - lib/metanorma/ietf_document/metadata/pi_settings.rb
562
739
  - lib/metanorma/ietf_document/root.rb
563
740
  - lib/metanorma/ietf_document/sections.rb
564
741
  - lib/metanorma/ietf_document/sections/ietf_annex_section.rb
@@ -582,6 +759,7 @@ files:
582
759
  - lib/metanorma/iso_document/metadata.rb
583
760
  - lib/metanorma/iso_document/metadata/abstract_title.rb
584
761
  - lib/metanorma/iso_document/metadata/doc_identifier.rb
762
+ - lib/metanorma/iso_document/metadata/doctype_element.rb
585
763
  - lib/metanorma/iso_document/metadata/ics.rb
586
764
  - lib/metanorma/iso_document/metadata/iec_document_category.rb
587
765
  - lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb
@@ -594,7 +772,12 @@ files:
594
772
  - lib/metanorma/iso_document/metadata/iso_localized_title.rb
595
773
  - lib/metanorma/iso_document/metadata/iso_project_group.rb
596
774
  - lib/metanorma/iso_document/metadata/iso_sub_group.rb
775
+ - lib/metanorma/iso_document/metadata/language_element.rb
597
776
  - lib/metanorma/iso_document/metadata/metanorma_extension.rb
777
+ - lib/metanorma/iso_document/metadata/project_number.rb
778
+ - lib/metanorma/iso_document/metadata/script_element.rb
779
+ - lib/metanorma/iso_document/metadata/stage_element.rb
780
+ - lib/metanorma/iso_document/metadata/stagename_element.rb
598
781
  - lib/metanorma/iso_document/metadata/structured_identifier.rb
599
782
  - lib/metanorma/iso_document/metadata/title_amd.rb
600
783
  - lib/metanorma/iso_document/metadata/title_amendment_prefix.rb
@@ -620,6 +803,7 @@ files:
620
803
  - lib/metanorma/iso_document/terms/iso_term_collection.rb
621
804
  - lib/metanorma/iso_document/terms/term_definition.rb
622
805
  - lib/metanorma/iso_document/terms/term_designation.rb
806
+ - lib/metanorma/iso_document/terms/term_domain_element.rb
623
807
  - lib/metanorma/iso_document/terms/term_example.rb
624
808
  - lib/metanorma/iso_document/terms/term_expression.rb
625
809
  - lib/metanorma/iso_document/terms/term_note.rb
@@ -632,6 +816,9 @@ files:
632
816
  - lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb
633
817
  - lib/metanorma/itu_document/metadata/itu_series.rb
634
818
  - lib/metanorma/itu_document/metadata/itu_structured_identifier.rb
819
+ - lib/metanorma/itu_document/metadata/meeting_date.rb
820
+ - lib/metanorma/itu_document/metadata/meeting_element.rb
821
+ - lib/metanorma/itu_document/metadata/study_period.rb
635
822
  - lib/metanorma/itu_document/root.rb
636
823
  - lib/metanorma/jis_document.rb
637
824
  - lib/metanorma/jis_document/metadata.rb
@@ -645,6 +832,65 @@ files:
645
832
  - lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb
646
833
  - lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb
647
834
  - lib/metanorma/m3d_document/root.rb
835
+ - lib/metanorma/mirror.rb
836
+ - lib/metanorma/mirror/default_registry.rb
837
+ - lib/metanorma/mirror/handler_registry.rb
838
+ - lib/metanorma/mirror/handler_result.rb
839
+ - lib/metanorma/mirror/handlers.rb
840
+ - lib/metanorma/mirror/handlers/admonition.rb
841
+ - lib/metanorma/mirror/handlers/example.rb
842
+ - lib/metanorma/mirror/handlers/figure.rb
843
+ - lib/metanorma/mirror/handlers/formula.rb
844
+ - lib/metanorma/mirror/handlers/inline.rb
845
+ - lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb
846
+ - lib/metanorma/mirror/handlers/inline/text_extractor.rb
847
+ - lib/metanorma/mirror/handlers/list.rb
848
+ - lib/metanorma/mirror/handlers/note.rb
849
+ - lib/metanorma/mirror/handlers/paragraph.rb
850
+ - lib/metanorma/mirror/handlers/quote.rb
851
+ - lib/metanorma/mirror/handlers/review.rb
852
+ - lib/metanorma/mirror/handlers/section.rb
853
+ - lib/metanorma/mirror/handlers/sourcecode.rb
854
+ - lib/metanorma/mirror/handlers/structural.rb
855
+ - lib/metanorma/mirror/handlers/table.rb
856
+ - lib/metanorma/mirror/handlers/term.rb
857
+ - lib/metanorma/mirror/id_strategy.rb
858
+ - lib/metanorma/mirror/id_strategy/positional.rb
859
+ - lib/metanorma/mirror/id_strategy/preserve.rb
860
+ - lib/metanorma/mirror/math_util.rb
861
+ - lib/metanorma/mirror/metadata.rb
862
+ - lib/metanorma/mirror/metanorma_to_mirror.rb
863
+ - lib/metanorma/mirror/model.rb
864
+ - lib/metanorma/mirror/model/container.rb
865
+ - lib/metanorma/mirror/model/factory.rb
866
+ - lib/metanorma/mirror/model/guide.rb
867
+ - lib/metanorma/mirror/model/leaf.rb
868
+ - lib/metanorma/mirror/model/mark.rb
869
+ - lib/metanorma/mirror/model/node.rb
870
+ - lib/metanorma/mirror/model/soft_break.rb
871
+ - lib/metanorma/mirror/model/text.rb
872
+ - lib/metanorma/mirror/output.rb
873
+ - lib/metanorma/mirror/output/builder.rb
874
+ - lib/metanorma/mirror/output/formats.rb
875
+ - lib/metanorma/mirror/output/formats/base_format.rb
876
+ - lib/metanorma/mirror/output/formats/inline_format.rb
877
+ - lib/metanorma/mirror/output/html_renderer.rb
878
+ - lib/metanorma/mirror/output/html_renderers.rb
879
+ - lib/metanorma/mirror/output/html_renderers/block_renderers.rb
880
+ - lib/metanorma/mirror/output/html_renderers/inline_renderer.rb
881
+ - lib/metanorma/mirror/output/html_renderers/list_renderers.rb
882
+ - lib/metanorma/mirror/output/html_renderers/mark_renderers.rb
883
+ - lib/metanorma/mirror/output/html_renderers/section_renderers.rb
884
+ - lib/metanorma/mirror/output/html_renderers/structural_renderers.rb
885
+ - lib/metanorma/mirror/output/html_renderers/table_renderers.rb
886
+ - lib/metanorma/mirror/output/pipeline.rb
887
+ - lib/metanorma/mirror/output/pipeline_context.rb
888
+ - lib/metanorma/mirror/rewriter.rb
889
+ - lib/metanorma/mirror/safe_attr.rb
890
+ - lib/metanorma/mirror/serialization.rb
891
+ - lib/metanorma/mirror/serialization/json_serializer.rb
892
+ - lib/metanorma/mirror/serialization/yaml_serializer.rb
893
+ - lib/metanorma/mirror/transformer.rb
648
894
  - lib/metanorma/nist_document.rb
649
895
  - lib/metanorma/nist_document/metadata.rb
650
896
  - lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb
@@ -674,6 +920,7 @@ files:
674
920
  - lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb
675
921
  - lib/metanorma/ribose_document/root.rb
676
922
  - lib/metanorma/standard_document.rb
923
+ - lib/metanorma/standard_document/annotation.rb
677
924
  - lib/metanorma/standard_document/annotation_container.rb
678
925
  - lib/metanorma/standard_document/block_attributes.rb
679
926
  - lib/metanorma/standard_document/blocks.rb
@@ -692,6 +939,7 @@ files:
692
939
  - lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb
693
940
  - lib/metanorma/standard_document/blocks/passthrough.rb
694
941
  - lib/metanorma/standard_document/blocks/requirement_model.rb
942
+ - lib/metanorma/standard_document/blocks/source_origin_element.rb
695
943
  - lib/metanorma/standard_document/blocks/standard_admonition_block.rb
696
944
  - lib/metanorma/standard_document/blocks/standard_block.rb
697
945
  - lib/metanorma/standard_document/blocks/standard_block_no_notes.rb
@@ -788,6 +1036,7 @@ files:
788
1036
  - lib/metanorma/standard_document/terms/term_collection.rb
789
1037
  - lib/metanorma/standard_document/terms/term_definition.rb
790
1038
  - lib/metanorma/standard_document/terms/term_expression.rb
1039
+ - lib/metanorma/standard_document/terms/term_name_element.rb
791
1040
  - lib/metanorma/standard_document/terms/term_source.rb
792
1041
  - lib/metanorma/standard_document/terms/term_source_status.rb
793
1042
  - lib/metanorma/standard_document/terms/term_source_type.rb
@@ -800,7 +1049,7 @@ files:
800
1049
  - lib/metanorma/un_document/sections.rb
801
1050
  - lib/metanorma/un_document/sections/un_preface.rb
802
1051
  - lib/metanorma/un_document/sections/un_sections.rb
803
- - metanorma-document.gemspec
1052
+ - script/render_both.rb
804
1053
  - tasks/roundtrip_samples.rake
805
1054
  homepage: https://github.com/metanorma/metanorma-document
806
1055
  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 }}
@@ -1,25 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: release
4
-
5
- on:
6
- workflow_dispatch:
7
- inputs:
8
- next_version:
9
- description: |
10
- Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
11
- Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
12
- required: true
13
- default: 'skip'
14
- repository_dispatch:
15
- types: [ do-release ]
16
-
17
- jobs:
18
- release:
19
- uses: metanorma/ci/.github/workflows/rubygems-release.yml@main
20
- with:
21
- next_version: ${{ github.event.inputs.next_version }}
22
- secrets:
23
- rubygems-api-key: ${{ secrets.METANORMA_CI_RUBYGEMS_API_KEY }}
24
- pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
25
-