metanorma-document 0.2.12 → 0.2.13

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 (391) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +21 -0
  3. data/.github/workflows/release.yml +25 -0
  4. data/.github/workflows/roundtrip-samples.yml +132 -0
  5. data/.gitignore +19 -0
  6. data/.rspec +3 -0
  7. data/.rubocop.yml +22 -0
  8. data/.rubocop_todo.yml +66 -164
  9. data/CHANGELOG.md +1 -0
  10. data/Gemfile +32 -0
  11. data/README.adoc +0 -144
  12. data/Rakefile +2 -14
  13. data/bin/console +15 -0
  14. data/bin/setup +8 -0
  15. data/data/javascripts/components/mn-lightbox.js +2 -18
  16. data/data/javascripts/components/mn-shortcuts.js +0 -2
  17. data/data/javascripts/core/mn-navigation.js +0 -8
  18. data/data/javascripts/core/mn-theme.js +9 -9
  19. data/data/logos/pdfa-logo.svg +94 -31
  20. data/data/stylesheets/base/_layout.css +0 -3
  21. data/data/stylesheets/base/_reset.css +3 -3
  22. data/data/stylesheets/base/_typography.css +5 -0
  23. data/data/stylesheets/components/bibliography.css +3 -3
  24. data/data/stylesheets/components/cover.css +1 -3
  25. data/data/stylesheets/components/figure.css +1 -13
  26. data/data/stylesheets/components/footnote.css +5 -65
  27. data/data/stylesheets/components/formula.css +0 -44
  28. data/data/stylesheets/components/header.css +2 -17
  29. data/data/stylesheets/components/inline.css +1 -1
  30. data/data/stylesheets/components/table.css +2 -15
  31. data/data/stylesheets/components/term.css +1 -0
  32. data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +14 -0
  33. data/lib/metanorma/bipm_document/metadata.rb +1 -1
  34. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +65 -0
  35. data/lib/metanorma/document/components/ancillary_blocks.rb +0 -4
  36. data/lib/metanorma/document/components/bib_data/bib_data.rb +0 -7
  37. data/lib/metanorma/document/components/blocks/requirement_model.rb +131 -0
  38. data/lib/metanorma/document/components/blocks.rb +7 -8
  39. data/lib/metanorma/document/components/id_elements/image.rb +0 -2
  40. data/lib/metanorma/document/components/inline/asciimath_element.rb +0 -2
  41. data/lib/metanorma/document/components/inline/attribution_element.rb +0 -2
  42. data/lib/metanorma/document/components/inline/bcp14_element.rb +0 -2
  43. data/lib/metanorma/document/components/inline/biblio_tag_element.rb +0 -2
  44. data/lib/metanorma/document/components/inline/br_element.rb +0 -2
  45. data/lib/metanorma/document/components/inline/comma_element.rb +0 -2
  46. data/lib/metanorma/document/components/inline/concept_element.rb +0 -2
  47. data/lib/metanorma/document/components/inline/display_text_element.rb +0 -2
  48. data/lib/metanorma/document/components/inline/em_raw_element.rb +0 -2
  49. data/lib/metanorma/document/components/inline/enum_comma_element.rb +0 -2
  50. data/lib/metanorma/document/components/inline/eref_element.rb +0 -2
  51. data/lib/metanorma/document/components/inline/fmt_admitted_element.rb +0 -4
  52. data/lib/metanorma/document/components/inline/fmt_annotation_body_element.rb +0 -4
  53. data/lib/metanorma/document/components/inline/fmt_annotation_end_element.rb +0 -4
  54. data/lib/metanorma/document/components/inline/fmt_annotation_start_element.rb +0 -4
  55. data/lib/metanorma/document/components/inline/fmt_concept_element.rb +0 -4
  56. data/lib/metanorma/document/components/inline/fmt_definition_element.rb +0 -4
  57. data/lib/metanorma/document/components/inline/fmt_fn_body_element.rb +0 -4
  58. data/lib/metanorma/document/components/inline/fmt_fn_label_element.rb +0 -4
  59. data/lib/metanorma/document/components/inline/fmt_footnote_container_element.rb +0 -4
  60. data/lib/metanorma/document/components/inline/fmt_identifier_element.rb +0 -4
  61. data/lib/metanorma/document/components/inline/fmt_name_element.rb +0 -4
  62. data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +0 -4
  63. data/lib/metanorma/document/components/inline/fmt_sourcecode_element.rb +0 -4
  64. data/lib/metanorma/document/components/inline/fmt_stem_element.rb +0 -10
  65. data/lib/metanorma/document/components/inline/fmt_termsource_element.rb +0 -4
  66. data/lib/metanorma/document/components/inline/fmt_title_element.rb +0 -4
  67. data/lib/metanorma/document/components/inline/fmt_xref_element.rb +0 -4
  68. data/lib/metanorma/document/components/inline/fmt_xref_label_element.rb +0 -4
  69. data/lib/metanorma/document/components/inline/fn_element.rb +0 -2
  70. data/lib/metanorma/document/components/inline/link_element.rb +0 -2
  71. data/lib/metanorma/document/components/inline/localized_string_element.rb +0 -2
  72. data/lib/metanorma/document/components/inline/localized_strings_element.rb +0 -2
  73. data/lib/metanorma/document/components/inline/math_element.rb +0 -2
  74. data/lib/metanorma/document/components/inline/name_with_id_element.rb +0 -4
  75. data/lib/metanorma/document/components/inline/semx_child_element.rb +0 -2
  76. data/lib/metanorma/document/components/inline/semx_element.rb +1 -13
  77. data/lib/metanorma/document/components/inline/small_cap_element.rb +0 -2
  78. data/lib/metanorma/document/components/inline/span_element.rb +15 -10
  79. data/lib/metanorma/document/components/inline/stem_inline_element.rb +1 -7
  80. data/lib/metanorma/document/components/inline/strong_raw_element.rb +0 -2
  81. data/lib/metanorma/document/components/inline/sub_element.rb +0 -2
  82. data/lib/metanorma/document/components/inline/sup_element.rb +0 -2
  83. data/lib/metanorma/document/components/inline/tab_element.rb +0 -2
  84. data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +0 -4
  85. data/lib/metanorma/document/components/inline/tt_element.rb +0 -2
  86. data/lib/metanorma/document/components/inline/variant_title_element.rb +0 -2
  87. data/lib/metanorma/document/components/inline/xref_element.rb +0 -10
  88. data/lib/metanorma/document/components/inline.rb +0 -12
  89. data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +29 -0
  90. data/lib/metanorma/document/components/multi_paragraph.rb +0 -2
  91. data/lib/metanorma/document/components/reference_elements/source_element.rb +31 -0
  92. data/lib/metanorma/document/components/reference_elements.rb +2 -2
  93. data/lib/metanorma/document/components/tables/table_block.rb +22 -0
  94. data/lib/metanorma/document/components/tables/table_section.rb +25 -0
  95. data/lib/metanorma/document/components/tables.rb +3 -5
  96. data/lib/metanorma/document/relaton/address.rb +27 -0
  97. data/lib/metanorma/document/relaton/bib_item_locality.rb +12 -3
  98. data/lib/metanorma/document/relaton/copyright_association.rb +10 -0
  99. data/lib/metanorma/document/relaton/edition.rb +7 -4
  100. data/lib/metanorma/document/relaton/organization.rb +14 -0
  101. data/lib/metanorma/document/relaton/phone.rb +9 -3
  102. data/lib/metanorma/document/relaton/place_type.rb +13 -0
  103. data/lib/metanorma/document/relaton/price_type.rb +9 -3
  104. data/lib/metanorma/document/relaton.rb +1 -6
  105. data/lib/metanorma/document/version.rb +1 -1
  106. data/lib/metanorma/document.rb +0 -2
  107. data/lib/metanorma/html/asset_pipeline.rb +0 -1
  108. data/lib/metanorma/html/base_renderer.rb +1008 -261
  109. data/lib/metanorma/html/bipm_renderer.rb +144 -15
  110. data/lib/metanorma/html/cc_renderer.rb +45 -1
  111. data/lib/metanorma/html/component/base.rb +7 -2
  112. data/lib/metanorma/html/component/index_section.rb +43 -41
  113. data/lib/metanorma/html/drops/admonition_drop.rb +4 -1
  114. data/lib/metanorma/html/drops/block_element_drop.rb +2 -7
  115. data/lib/metanorma/html/drops/example_drop.rb +4 -1
  116. data/lib/metanorma/html/drops/figure_drop.rb +22 -31
  117. data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
  118. data/lib/metanorma/html/drops/formula_drop.rb +16 -45
  119. data/lib/metanorma/html/drops/note_drop.rb +7 -9
  120. data/lib/metanorma/html/drops/sourcecode_drop.rb +5 -12
  121. data/lib/metanorma/html/drops.rb +0 -2
  122. data/lib/metanorma/html/generator.rb +2 -2
  123. data/lib/metanorma/html/icc_renderer.rb +39 -0
  124. data/lib/metanorma/html/iec_renderer.rb +44 -1
  125. data/lib/metanorma/html/ieee_renderer.rb +45 -1
  126. data/lib/metanorma/html/ietf_renderer.rb +48 -1
  127. data/lib/metanorma/html/iho_renderer.rb +46 -1
  128. data/lib/metanorma/html/iso_renderer.rb +343 -290
  129. data/lib/metanorma/html/itu_renderer.rb +45 -1
  130. data/lib/metanorma/html/ogc_renderer.rb +76 -15
  131. data/lib/metanorma/html/oiml_renderer.rb +38 -18
  132. data/lib/metanorma/html/pdfa_renderer.rb +39 -0
  133. data/lib/metanorma/html/ribose_renderer.rb +45 -1
  134. data/lib/metanorma/html/standard_renderer.rb +229 -341
  135. data/lib/metanorma/html/templates/_footnotes.html.liquid +6 -6
  136. data/lib/metanorma/html/templates/_formula.html.liquid +1 -1
  137. data/lib/metanorma/html/templates/_header.html.liquid +1 -1
  138. data/lib/metanorma/html/templates/_iso_cover.html.liquid +1 -1
  139. data/lib/metanorma/html/templates/document.html.liquid +0 -4
  140. data/lib/metanorma/html/theme.rb +107 -180
  141. data/lib/metanorma/html.rb +3 -14
  142. data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +25 -0
  143. data/lib/metanorma/ietf_document/metadata.rb +0 -2
  144. data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +48 -0
  145. data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +72 -0
  146. data/lib/metanorma/iso_document/metadata/iso_document_status.rb +30 -0
  147. data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +1 -4
  148. data/lib/metanorma/iso_document/metadata/structured_identifier.rb +17 -0
  149. data/lib/metanorma/iso_document/metadata/title_collection.rb +0 -1
  150. data/lib/metanorma/iso_document/metadata.rb +4 -9
  151. data/lib/metanorma/iso_document/terms/iso_term.rb +13 -0
  152. data/lib/metanorma/iso_document/terms.rb +0 -1
  153. data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +37 -0
  154. data/lib/metanorma/itu_document/metadata.rb +4 -3
  155. data/lib/metanorma/standard_document/block_attributes.rb +9 -5
  156. data/lib/metanorma/standard_document/blocks/block_source.rb +23 -0
  157. data/lib/metanorma/standard_document/blocks.rb +1 -1
  158. data/lib/metanorma/standard_document/terms/term_expression.rb +31 -0
  159. data/lib/metanorma/standard_document/terms.rb +0 -1
  160. data/metanorma-document.gemspec +35 -0
  161. metadata +13 -262
  162. data/CLAUDE.md +0 -26
  163. data/TODO.finalize/01-split-multi-class-files.md +0 -8
  164. data/TODO.finalize/02-remove-data-dist-iso-document-frontend.md +0 -6
  165. data/TODO.finalize/03-align-frontend-iife-and-gha-build.md +0 -11
  166. data/TODO.finalize/04-theme-per-flavor-config-driven.md +0 -9
  167. data/TODO.finalize/05-migrate-all-html-to-liquid.md +0 -16
  168. data/TODO.finalize/06-integrate-pubid-library.md +0 -16
  169. data/TODO.finalize/07-replace-relaton-models-with-relaton-bib.md +0 -39
  170. data/TODO.finalize/08-refactor-renderer-architecture.md +0 -25
  171. data/TODO.finalize/09-eliminate-code-smells.md +0 -14
  172. data/TODO.finalize/10-comprehensive-spec-coverage.md +0 -24
  173. data/TODO.finalize/11-config-driven-flavor-metadata.md +0 -20
  174. data/TODO.finalize/12-add-frozen-string-literal.md +0 -6
  175. data/TODO.finalize/13-extract-composition-from-god-class.md +0 -96
  176. data/TODO.finalize/14-config-driven-section-ordering.md +0 -31
  177. data/TODO.finalize/15-theme-directories-per-flavor.md +0 -46
  178. data/TODO.finalize/16-theme-lutaml-model-schema.md +0 -44
  179. data/data/javascripts/components/mn-footnotes.js +0 -68
  180. data/data/logos/oiml-logo-full-dark.svg +0 -1
  181. data/data/logos/oiml-logo-full-light.svg +0 -1
  182. data/data/logos/oiml-logo-icon-dark.svg +0 -1
  183. data/data/logos/oiml-logo-icon-light.svg +0 -1
  184. data/data/logos/oiml-logo.svg +0 -1
  185. data/data/themes/bipm.yaml +0 -60
  186. data/data/themes/cc.yaml +0 -43
  187. data/data/themes/icc.yaml +0 -39
  188. data/data/themes/iec.yaml +0 -44
  189. data/data/themes/ieee.yaml +0 -43
  190. data/data/themes/ietf.yaml +0 -45
  191. data/data/themes/iho.yaml +0 -46
  192. data/data/themes/iso.yaml +0 -40
  193. data/data/themes/itu.yaml +0 -45
  194. data/data/themes/ogc.yaml +0 -51
  195. data/data/themes/oiml.yaml +0 -56
  196. data/data/themes/pdfa.yaml +0 -44
  197. data/data/themes/ribose.yaml +0 -43
  198. data/exe/metanorma-document +0 -11
  199. data/frontend/e2e/sample-html.test.ts +0 -256
  200. data/frontend/index.html +0 -12
  201. data/frontend/package-lock.json +0 -4725
  202. data/frontend/package.json +0 -32
  203. data/frontend/postcss.config.js +0 -6
  204. data/frontend/src/App.vue +0 -79
  205. data/frontend/src/app.ts +0 -21
  206. data/frontend/src/components/AppSidebar.vue +0 -77
  207. data/frontend/src/components/DocumentReader.vue +0 -180
  208. data/frontend/src/components/MirrorRenderer.vue +0 -23
  209. data/frontend/src/components/ReadingProgressBar.vue +0 -29
  210. data/frontend/src/components/TextRenderer.vue +0 -131
  211. data/frontend/src/components/TocItem.vue +0 -57
  212. data/frontend/src/components/TopBar.vue +0 -49
  213. data/frontend/src/components/__tests__/MirrorRenderer.test.ts +0 -178
  214. data/frontend/src/components/blocks/AdmonitionBlock.vue +0 -74
  215. data/frontend/src/components/blocks/ClauseBlock.vue +0 -53
  216. data/frontend/src/components/blocks/ExampleBlock.vue +0 -21
  217. data/frontend/src/components/blocks/FallbackBlock.vue +0 -18
  218. data/frontend/src/components/blocks/FigureBlock.vue +0 -26
  219. data/frontend/src/components/blocks/FootnotesBlock.vue +0 -25
  220. data/frontend/src/components/blocks/ListBlocks.vue +0 -62
  221. data/frontend/src/components/blocks/NoteBlock.vue +0 -21
  222. data/frontend/src/components/blocks/ParagraphBlock.vue +0 -25
  223. data/frontend/src/components/blocks/QuoteBlock.vue +0 -25
  224. data/frontend/src/components/blocks/ReviewBlock.vue +0 -39
  225. data/frontend/src/components/blocks/SourcecodeBlock.vue +0 -52
  226. data/frontend/src/components/blocks/TableBlock.vue +0 -48
  227. data/frontend/src/components/blocks/index.ts +0 -36
  228. data/frontend/src/stores/__tests__/documentStore.fixture.test.ts +0 -272
  229. data/frontend/src/stores/__tests__/documentStore.test.ts +0 -143
  230. data/frontend/src/stores/__tests__/ebookStore.test.ts +0 -145
  231. data/frontend/src/stores/__tests__/uiStore.test.ts +0 -42
  232. data/frontend/src/stores/documentStore.ts +0 -153
  233. data/frontend/src/stores/ebookStore.ts +0 -179
  234. data/frontend/src/stores/uiStore.ts +0 -32
  235. data/frontend/src/styles.css +0 -156
  236. data/frontend/src/types/__tests__/rendering-contract.test.ts +0 -172
  237. data/frontend/src/types/rendering-contract.ts +0 -209
  238. data/frontend/src/utils/__tests__/typeMetadata.test.ts +0 -102
  239. data/frontend/src/utils/typeMetadata.ts +0 -121
  240. data/frontend/tailwind.config.js +0 -18
  241. data/frontend/test/fixtures/iso-document.json +0 -271
  242. data/frontend/tmp/debug_e2e.cjs +0 -46
  243. data/frontend/tsconfig.json +0 -25
  244. data/frontend/tsconfig.node.json +0 -11
  245. data/frontend/vite.config.ts +0 -37
  246. data/frontend/vitest.e2e.config.ts +0 -9
  247. data/lib/metanorma/bipm_document/metadata/depiction_element.rb +0 -18
  248. data/lib/metanorma/document/cli.rb +0 -116
  249. data/lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb +0 -27
  250. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb +0 -18
  251. data/lib/metanorma/document/components/blocks/classification_value.rb +0 -21
  252. data/lib/metanorma/document/components/blocks/permission_model.rb +0 -28
  253. data/lib/metanorma/document/components/blocks/recommendation_model.rb +0 -28
  254. data/lib/metanorma/document/components/blocks/requirement_base.rb +0 -30
  255. data/lib/metanorma/document/components/blocks/requirement_classification.rb +0 -20
  256. data/lib/metanorma/document/components/blocks/requirement_description.rb +0 -43
  257. data/lib/metanorma/document/components/blocks/requirement_inherit.rb +0 -24
  258. data/lib/metanorma/document/components/inline/location_element.rb +0 -24
  259. data/lib/metanorma/document/components/inline/rendered_display.rb +0 -23
  260. data/lib/metanorma/document/components/inline/rendered_math_element.rb +0 -21
  261. data/lib/metanorma/document/components/inline/semantic_content.rb +0 -51
  262. data/lib/metanorma/document/components/inline/semantic_math_element.rb +0 -20
  263. data/lib/metanorma/document/components/inline/vocabulary.rb +0 -184
  264. data/lib/metanorma/document/components/multi_paragraph/quote_author_element.rb +0 -20
  265. data/lib/metanorma/document/components/reference_elements/source_modification.rb +0 -21
  266. data/lib/metanorma/document/components/reference_elements/source_origin.rb +0 -28
  267. data/lib/metanorma/document/components/tables/col_element.rb +0 -18
  268. data/lib/metanorma/document/components/tables/col_group_element.rb +0 -18
  269. data/lib/metanorma/document/components/tables/table_body_section.rb +0 -16
  270. data/lib/metanorma/document/components/tables/table_foot_section.rb +0 -16
  271. data/lib/metanorma/document/components/tables/table_head_section.rb +0 -16
  272. data/lib/metanorma/document/relaton/copyright_owner.rb +0 -16
  273. data/lib/metanorma/document/relaton/formatted_address.rb +0 -29
  274. data/lib/metanorma/document/relaton/logo_element.rb +0 -18
  275. data/lib/metanorma/document/relaton/region_element.rb +0 -18
  276. data/lib/metanorma/html/drops/biblio_entry_drop.rb +0 -50
  277. data/lib/metanorma/html/renderers/block_renderer.rb +0 -372
  278. data/lib/metanorma/html/renderers/inline_renderer.rb +0 -655
  279. data/lib/metanorma/html/renderers/pubid_renderer.rb +0 -69
  280. data/lib/metanorma/html/renderers/section_renderer.rb +0 -193
  281. data/lib/metanorma/html/renderers.rb +0 -8
  282. data/lib/metanorma/html/templates/_audio.html.liquid +0 -1
  283. data/lib/metanorma/html/templates/_biblio_entry.html.liquid +0 -1
  284. data/lib/metanorma/html/templates/_bipm_cover.html.liquid +0 -27
  285. data/lib/metanorma/html/templates/_boilerplate.html.liquid +0 -1
  286. data/lib/metanorma/html/templates/_bookmark.html.liquid +0 -1
  287. data/lib/metanorma/html/templates/_br.html.liquid +0 -1
  288. data/lib/metanorma/html/templates/_definition_list.html.liquid +0 -6
  289. data/lib/metanorma/html/templates/_element.html.liquid +0 -1
  290. data/lib/metanorma/html/templates/_fn_marker.html.liquid +0 -1
  291. data/lib/metanorma/html/templates/_heading.html.liquid +0 -1
  292. data/lib/metanorma/html/templates/_image.html.liquid +0 -1
  293. data/lib/metanorma/html/templates/_inline_span.html.liquid +0 -1
  294. data/lib/metanorma/html/templates/_link.html.liquid +0 -1
  295. data/lib/metanorma/html/templates/_list.html.liquid +0 -3
  296. data/lib/metanorma/html/templates/_list_item.html.liquid +0 -1
  297. data/lib/metanorma/html/templates/_main_content.html.liquid +0 -1
  298. data/lib/metanorma/html/templates/_math_container.html.liquid +0 -1
  299. data/lib/metanorma/html/templates/_paragraph.html.liquid +0 -1
  300. data/lib/metanorma/html/templates/_prefatory_section.html.liquid +0 -1
  301. data/lib/metanorma/html/templates/_pubid_identifier.html.liquid +0 -1
  302. data/lib/metanorma/html/templates/_quote.html.liquid +0 -4
  303. data/lib/metanorma/html/templates/_ref_date.html.liquid +0 -1
  304. data/lib/metanorma/html/templates/_ref_title.html.liquid +0 -1
  305. data/lib/metanorma/html/templates/_section.html.liquid +0 -5
  306. data/lib/metanorma/html/templates/_standard_cover.html.liquid +0 -31
  307. data/lib/metanorma/html/templates/_standard_doc_title.html.liquid +0 -3
  308. data/lib/metanorma/html/templates/_stem_span.html.liquid +0 -1
  309. data/lib/metanorma/html/templates/_table.html.liquid +0 -9
  310. data/lib/metanorma/html/templates/_term_domain.html.liquid +0 -1
  311. data/lib/metanorma/html/templates/_term_example.html.liquid +0 -1
  312. data/lib/metanorma/html/templates/_term_note.html.liquid +0 -1
  313. data/lib/metanorma/html/templates/_term_number.html.liquid +0 -1
  314. data/lib/metanorma/html/templates/_term_source.html.liquid +0 -1
  315. data/lib/metanorma/html/templates/_term_text_note.html.liquid +0 -1
  316. data/lib/metanorma/html/templates/_video.html.liquid +0 -1
  317. data/lib/metanorma/html/templates/_wrapped_preface.html.liquid +0 -1
  318. data/lib/metanorma/ietf_document/metadata/pi_settings.rb +0 -32
  319. data/lib/metanorma/iso_document/metadata/doctype_element.rb +0 -20
  320. data/lib/metanorma/iso_document/metadata/language_element.rb +0 -18
  321. data/lib/metanorma/iso_document/metadata/project_number.rb +0 -22
  322. data/lib/metanorma/iso_document/metadata/script_element.rb +0 -18
  323. data/lib/metanorma/iso_document/metadata/stage_element.rb +0 -26
  324. data/lib/metanorma/iso_document/metadata/stagename_element.rb +0 -18
  325. data/lib/metanorma/iso_document/terms/term_domain_element.rb +0 -18
  326. data/lib/metanorma/itu_document/metadata/meeting_date.rb +0 -18
  327. data/lib/metanorma/itu_document/metadata/meeting_element.rb +0 -18
  328. data/lib/metanorma/itu_document/metadata/study_period.rb +0 -18
  329. data/lib/metanorma/mirror/default_registry.rb +0 -170
  330. data/lib/metanorma/mirror/handler_registry.rb +0 -60
  331. data/lib/metanorma/mirror/handler_result.rb +0 -37
  332. data/lib/metanorma/mirror/handlers/admonition.rb +0 -18
  333. data/lib/metanorma/mirror/handlers/example.rb +0 -21
  334. data/lib/metanorma/mirror/handlers/figure.rb +0 -53
  335. data/lib/metanorma/mirror/handlers/formula.rb +0 -35
  336. data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +0 -159
  337. data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +0 -116
  338. data/lib/metanorma/mirror/handlers/inline.rb +0 -225
  339. data/lib/metanorma/mirror/handlers/list.rb +0 -110
  340. data/lib/metanorma/mirror/handlers/note.rb +0 -26
  341. data/lib/metanorma/mirror/handlers/paragraph.rb +0 -19
  342. data/lib/metanorma/mirror/handlers/quote.rb +0 -16
  343. data/lib/metanorma/mirror/handlers/review.rb +0 -19
  344. data/lib/metanorma/mirror/handlers/section.rb +0 -149
  345. data/lib/metanorma/mirror/handlers/sourcecode.rb +0 -27
  346. data/lib/metanorma/mirror/handlers/structural.rb +0 -68
  347. data/lib/metanorma/mirror/handlers/table.rb +0 -81
  348. data/lib/metanorma/mirror/handlers/term.rb +0 -100
  349. data/lib/metanorma/mirror/handlers.rb +0 -60
  350. data/lib/metanorma/mirror/id_strategy/positional.rb +0 -166
  351. data/lib/metanorma/mirror/id_strategy/preserve.rb +0 -12
  352. data/lib/metanorma/mirror/id_strategy.rb +0 -34
  353. data/lib/metanorma/mirror/math_util.rb +0 -53
  354. data/lib/metanorma/mirror/metadata.rb +0 -37
  355. data/lib/metanorma/mirror/metanorma_to_mirror.rb +0 -101
  356. data/lib/metanorma/mirror/model/container.rb +0 -47
  357. data/lib/metanorma/mirror/model/factory.rb +0 -52
  358. data/lib/metanorma/mirror/model/guide.rb +0 -25
  359. data/lib/metanorma/mirror/model/leaf.rb +0 -17
  360. data/lib/metanorma/mirror/model/mark.rb +0 -53
  361. data/lib/metanorma/mirror/model/node.rb +0 -47
  362. data/lib/metanorma/mirror/model/soft_break.rb +0 -33
  363. data/lib/metanorma/mirror/model/text.rb +0 -34
  364. data/lib/metanorma/mirror/model.rb +0 -16
  365. data/lib/metanorma/mirror/output/builder.rb +0 -39
  366. data/lib/metanorma/mirror/output/formats/base_format.rb +0 -90
  367. data/lib/metanorma/mirror/output/formats/inline_format.rb +0 -81
  368. data/lib/metanorma/mirror/output/formats.rb +0 -53
  369. data/lib/metanorma/mirror/output/html_renderer.rb +0 -95
  370. data/lib/metanorma/mirror/output/html_renderers/block_renderers.rb +0 -178
  371. data/lib/metanorma/mirror/output/html_renderers/inline_renderer.rb +0 -61
  372. data/lib/metanorma/mirror/output/html_renderers/list_renderers.rb +0 -96
  373. data/lib/metanorma/mirror/output/html_renderers/mark_renderers.rb +0 -64
  374. data/lib/metanorma/mirror/output/html_renderers/section_renderers.rb +0 -129
  375. data/lib/metanorma/mirror/output/html_renderers/structural_renderers.rb +0 -80
  376. data/lib/metanorma/mirror/output/html_renderers/table_renderers.rb +0 -87
  377. data/lib/metanorma/mirror/output/html_renderers.rb +0 -76
  378. data/lib/metanorma/mirror/output/pipeline.rb +0 -92
  379. data/lib/metanorma/mirror/output/pipeline_context.rb +0 -22
  380. data/lib/metanorma/mirror/output.rb +0 -14
  381. data/lib/metanorma/mirror/rewriter.rb +0 -121
  382. data/lib/metanorma/mirror/safe_attr.rb +0 -16
  383. data/lib/metanorma/mirror/serialization/json_serializer.rb +0 -25
  384. data/lib/metanorma/mirror/serialization/yaml_serializer.rb +0 -20
  385. data/lib/metanorma/mirror/serialization.rb +0 -10
  386. data/lib/metanorma/mirror/transformer.rb +0 -22
  387. data/lib/metanorma/mirror.rb +0 -32
  388. data/lib/metanorma/standard_document/annotation.rb +0 -37
  389. data/lib/metanorma/standard_document/blocks/source_origin_element.rb +0 -23
  390. data/lib/metanorma/standard_document/terms/term_name_element.rb +0 -29
  391. data/script/render_both.rb +0 -18
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.12
4
+ version: 0.2.13
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-07-17 00:00:00.000000000 Z
11
+ date: 2026-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model
@@ -24,68 +24,30 @@ 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'
55
27
  description: A Ruby library for representing and processing Metanorma document XML,
56
28
  providing a comprehensive model for standards documents with support for various
57
29
  metadata, content blocks, and structured markup.
58
30
  email:
59
31
  - open.source@ribose.com
60
- executables:
61
- - metanorma-document
32
+ executables: []
62
33
  extensions: []
63
34
  extra_rdoc_files: []
64
35
  files:
36
+ - ".github/workflows/rake.yml"
37
+ - ".github/workflows/release.yml"
38
+ - ".github/workflows/roundtrip-samples.yml"
39
+ - ".gitignore"
40
+ - ".rspec"
41
+ - ".rubocop.yml"
65
42
  - ".rubocop_todo.yml"
66
43
  - CHANGELOG.md
67
- - CLAUDE.md
44
+ - Gemfile
68
45
  - LICENSE.txt
69
46
  - README.adoc
70
47
  - Rakefile
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
48
+ - bin/console
49
+ - bin/setup
87
50
  - data/javascripts/components/mn-code-copy.js
88
- - data/javascripts/components/mn-footnotes.js
89
51
  - data/javascripts/components/mn-glossary.js
90
52
  - data/javascripts/components/mn-index-panel.js
91
53
  - data/javascripts/components/mn-lightbox.js
@@ -106,11 +68,6 @@ files:
106
68
  - data/logos/itu-logo.svg
107
69
  - data/logos/metanorma-logo.svg
108
70
  - 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
114
71
  - data/logos/pdfa-logo.svg
115
72
  - data/stylesheets/base/_dark.css
116
73
  - data/stylesheets/base/_layout.css
@@ -139,69 +96,7 @@ files:
139
96
  - data/stylesheets/components/table.css
140
97
  - data/stylesheets/components/term.css
141
98
  - 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
155
99
  - 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
205
100
  - lib/data/dist/iso_document/frontend/assets/index-mwzbzmnK.js
206
101
  - lib/data/dist/iso_document/frontend/assets/index-pGvKTNid.css
207
102
  - lib/data/dist/iso_document/frontend/assets/iso-red.svg
@@ -334,7 +229,6 @@ files:
334
229
  - lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb
335
230
  - lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb
336
231
  - lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb
337
- - lib/metanorma/bipm_document/metadata/depiction_element.rb
338
232
  - lib/metanorma/bipm_document/root.rb
339
233
  - lib/metanorma/bsi_document.rb
340
234
  - lib/metanorma/bsi_document/metadata.rb
@@ -356,17 +250,14 @@ files:
356
250
  - lib/metanorma/collection/entry.rb
357
251
  - lib/metanorma/collection/root.rb
358
252
  - lib/metanorma/document.rb
359
- - lib/metanorma/document/cli.rb
360
253
  - lib/metanorma/document/components.rb
361
254
  - lib/metanorma/document/components/ancillary_blocks.rb
362
- - lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb
363
255
  - lib/metanorma/document/components/ancillary_blocks/example_block.rb
364
256
  - lib/metanorma/document/components/ancillary_blocks/figure_block.rb
365
257
  - lib/metanorma/document/components/ancillary_blocks/formula_block.rb
366
258
  - lib/metanorma/document/components/ancillary_blocks/key_element.rb
367
259
  - lib/metanorma/document/components/ancillary_blocks/literal_block.rb
368
260
  - lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb
369
- - lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb
370
261
  - lib/metanorma/document/components/ancillary_blocks/subfigure.rb
371
262
  - lib/metanorma/document/components/bib_data.rb
372
263
  - lib/metanorma/document/components/bib_data/bib_data.rb
@@ -376,15 +267,8 @@ files:
376
267
  - lib/metanorma/document/components/blocks.rb
377
268
  - lib/metanorma/document/components/blocks/basic_block.rb
378
269
  - lib/metanorma/document/components/blocks/basic_block_no_notes.rb
379
- - lib/metanorma/document/components/blocks/classification_value.rb
380
270
  - lib/metanorma/document/components/blocks/note_block.rb
381
271
  - 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
388
272
  - lib/metanorma/document/components/blocks/requirement_model.rb
389
273
  - lib/metanorma/document/components/change.rb
390
274
  - lib/metanorma/document/components/change/attribute_change_action.rb
@@ -465,13 +349,8 @@ files:
465
349
  - lib/metanorma/document/components/inline/link_element.rb
466
350
  - lib/metanorma/document/components/inline/localized_string_element.rb
467
351
  - lib/metanorma/document/components/inline/localized_strings_element.rb
468
- - lib/metanorma/document/components/inline/location_element.rb
469
352
  - lib/metanorma/document/components/inline/math_element.rb
470
353
  - 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
475
354
  - lib/metanorma/document/components/inline/semx_child_element.rb
476
355
  - lib/metanorma/document/components/inline/semx_element.rb
477
356
  - lib/metanorma/document/components/inline/small_cap_element.rb
@@ -484,7 +363,6 @@ files:
484
363
  - lib/metanorma/document/components/inline/title_with_annotation_element.rb
485
364
  - lib/metanorma/document/components/inline/tt_element.rb
486
365
  - lib/metanorma/document/components/inline/variant_title_element.rb
487
- - lib/metanorma/document/components/inline/vocabulary.rb
488
366
  - lib/metanorma/document/components/inline/xref_element.rb
489
367
  - lib/metanorma/document/components/lists.rb
490
368
  - lib/metanorma/document/components/lists/dd_element.rb
@@ -500,7 +378,6 @@ files:
500
378
  - lib/metanorma/document/components/multi_paragraph/admonition_block.rb
501
379
  - lib/metanorma/document/components/multi_paragraph/admonition_type.rb
502
380
  - lib/metanorma/document/components/multi_paragraph/paragraphs_block.rb
503
- - lib/metanorma/document/components/multi_paragraph/quote_author_element.rb
504
381
  - lib/metanorma/document/components/multi_paragraph/quote_block.rb
505
382
  - lib/metanorma/document/components/multi_paragraph/review_block.rb
506
383
  - lib/metanorma/document/components/paragraphs.rb
@@ -519,23 +396,16 @@ files:
519
396
  - lib/metanorma/document/components/reference_elements/reference_to_id_with_paragraph_element.rb
520
397
  - lib/metanorma/document/components/reference_elements/reference_to_link_element.rb
521
398
  - 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
524
399
  - lib/metanorma/document/components/sections.rb
525
400
  - lib/metanorma/document/components/sections/basic_section.rb
526
401
  - lib/metanorma/document/components/sections/content_section.rb
527
402
  - lib/metanorma/document/components/sections/hierarchical_section.rb
528
403
  - lib/metanorma/document/components/sections/references_section.rb
529
404
  - 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
532
405
  - lib/metanorma/document/components/tables/header_table_cell.rb
533
406
  - lib/metanorma/document/components/tables/paragraph_table_cell.rb
534
407
  - lib/metanorma/document/components/tables/table_block.rb
535
- - lib/metanorma/document/components/tables/table_body_section.rb
536
408
  - 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
539
409
  - lib/metanorma/document/components/tables/table_section.rb
540
410
  - lib/metanorma/document/components/tables/text_alignment.rb
541
411
  - lib/metanorma/document/components/tables/text_table_cell.rb
@@ -578,21 +448,18 @@ files:
578
448
  - lib/metanorma/document/relaton/contributor.rb
579
449
  - lib/metanorma/document/relaton/contributor_role.rb
580
450
  - lib/metanorma/document/relaton/copyright_association.rb
581
- - lib/metanorma/document/relaton/copyright_owner.rb
582
451
  - lib/metanorma/document/relaton/date_time.rb
583
452
  - lib/metanorma/document/relaton/document_identifier.rb
584
453
  - lib/metanorma/document/relaton/document_relation.rb
585
454
  - lib/metanorma/document/relaton/document_relation_type.rb
586
455
  - lib/metanorma/document/relaton/document_status.rb
587
456
  - lib/metanorma/document/relaton/edition.rb
588
- - lib/metanorma/document/relaton/formatted_address.rb
589
457
  - lib/metanorma/document/relaton/full_name.rb
590
458
  - lib/metanorma/document/relaton/iso4217_code.rb
591
459
  - lib/metanorma/document/relaton/iso8601_date.rb
592
460
  - lib/metanorma/document/relaton/keyword_type.rb
593
461
  - lib/metanorma/document/relaton/locality_stack.rb
594
462
  - lib/metanorma/document/relaton/localized_name.rb
595
- - lib/metanorma/document/relaton/logo_element.rb
596
463
  - lib/metanorma/document/relaton/medium_type.rb
597
464
  - lib/metanorma/document/relaton/org_identifier.rb
598
465
  - lib/metanorma/document/relaton/org_subdivision.rb
@@ -604,7 +471,6 @@ files:
604
471
  - lib/metanorma/document/relaton/phone.rb
605
472
  - lib/metanorma/document/relaton/place_type.rb
606
473
  - lib/metanorma/document/relaton/price_type.rb
607
- - lib/metanorma/document/relaton/region_element.rb
608
474
  - lib/metanorma/document/relaton/region_type.rb
609
475
  - lib/metanorma/document/relaton/relaton_collection.rb
610
476
  - lib/metanorma/document/relaton/series_type.rb
@@ -640,7 +506,6 @@ files:
640
506
  - lib/metanorma/html/component/index_term_collector.rb
641
507
  - lib/metanorma/html/drops.rb
642
508
  - lib/metanorma/html/drops/admonition_drop.rb
643
- - lib/metanorma/html/drops/biblio_entry_drop.rb
644
509
  - lib/metanorma/html/drops/block_element_drop.rb
645
510
  - lib/metanorma/html/drops/example_drop.rb
646
511
  - lib/metanorma/html/drops/figure_drop.rb
@@ -661,63 +526,22 @@ files:
661
526
  - lib/metanorma/html/ogc_renderer.rb
662
527
  - lib/metanorma/html/oiml_renderer.rb
663
528
  - 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
669
529
  - lib/metanorma/html/ribose_renderer.rb
670
530
  - lib/metanorma/html/standard_renderer.rb
671
531
  - 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
678
532
  - lib/metanorma/html/templates/_cover.html.liquid
679
- - lib/metanorma/html/templates/_definition_list.html.liquid
680
533
  - lib/metanorma/html/templates/_doc_title.html.liquid
681
- - lib/metanorma/html/templates/_element.html.liquid
682
534
  - lib/metanorma/html/templates/_example.html.liquid
683
535
  - lib/metanorma/html/templates/_figure.html.liquid
684
- - lib/metanorma/html/templates/_fn_marker.html.liquid
685
536
  - lib/metanorma/html/templates/_footer.html.liquid
686
537
  - lib/metanorma/html/templates/_footnotes.html.liquid
687
538
  - lib/metanorma/html/templates/_formula.html.liquid
688
539
  - 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
692
540
  - lib/metanorma/html/templates/_iso_cover.html.liquid
693
541
  - 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
699
542
  - 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
707
543
  - 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
718
544
  - lib/metanorma/html/templates/_toc.html.liquid
719
- - lib/metanorma/html/templates/_video.html.liquid
720
- - lib/metanorma/html/templates/_wrapped_preface.html.liquid
721
545
  - lib/metanorma/html/templates/document.html.liquid
722
546
  - lib/metanorma/html/theme.rb
723
547
  - lib/metanorma/iec_document.rb
@@ -735,7 +559,6 @@ files:
735
559
  - lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb
736
560
  - lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb
737
561
  - lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb
738
- - lib/metanorma/ietf_document/metadata/pi_settings.rb
739
562
  - lib/metanorma/ietf_document/root.rb
740
563
  - lib/metanorma/ietf_document/sections.rb
741
564
  - lib/metanorma/ietf_document/sections/ietf_annex_section.rb
@@ -759,7 +582,6 @@ files:
759
582
  - lib/metanorma/iso_document/metadata.rb
760
583
  - lib/metanorma/iso_document/metadata/abstract_title.rb
761
584
  - lib/metanorma/iso_document/metadata/doc_identifier.rb
762
- - lib/metanorma/iso_document/metadata/doctype_element.rb
763
585
  - lib/metanorma/iso_document/metadata/ics.rb
764
586
  - lib/metanorma/iso_document/metadata/iec_document_category.rb
765
587
  - lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb
@@ -772,12 +594,7 @@ files:
772
594
  - lib/metanorma/iso_document/metadata/iso_localized_title.rb
773
595
  - lib/metanorma/iso_document/metadata/iso_project_group.rb
774
596
  - lib/metanorma/iso_document/metadata/iso_sub_group.rb
775
- - lib/metanorma/iso_document/metadata/language_element.rb
776
597
  - 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
781
598
  - lib/metanorma/iso_document/metadata/structured_identifier.rb
782
599
  - lib/metanorma/iso_document/metadata/title_amd.rb
783
600
  - lib/metanorma/iso_document/metadata/title_amendment_prefix.rb
@@ -803,7 +620,6 @@ files:
803
620
  - lib/metanorma/iso_document/terms/iso_term_collection.rb
804
621
  - lib/metanorma/iso_document/terms/term_definition.rb
805
622
  - lib/metanorma/iso_document/terms/term_designation.rb
806
- - lib/metanorma/iso_document/terms/term_domain_element.rb
807
623
  - lib/metanorma/iso_document/terms/term_example.rb
808
624
  - lib/metanorma/iso_document/terms/term_expression.rb
809
625
  - lib/metanorma/iso_document/terms/term_note.rb
@@ -816,9 +632,6 @@ files:
816
632
  - lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb
817
633
  - lib/metanorma/itu_document/metadata/itu_series.rb
818
634
  - 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
822
635
  - lib/metanorma/itu_document/root.rb
823
636
  - lib/metanorma/jis_document.rb
824
637
  - lib/metanorma/jis_document/metadata.rb
@@ -832,65 +645,6 @@ files:
832
645
  - lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb
833
646
  - lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb
834
647
  - 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
894
648
  - lib/metanorma/nist_document.rb
895
649
  - lib/metanorma/nist_document/metadata.rb
896
650
  - lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb
@@ -920,7 +674,6 @@ files:
920
674
  - lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb
921
675
  - lib/metanorma/ribose_document/root.rb
922
676
  - lib/metanorma/standard_document.rb
923
- - lib/metanorma/standard_document/annotation.rb
924
677
  - lib/metanorma/standard_document/annotation_container.rb
925
678
  - lib/metanorma/standard_document/block_attributes.rb
926
679
  - lib/metanorma/standard_document/blocks.rb
@@ -939,7 +692,6 @@ files:
939
692
  - lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb
940
693
  - lib/metanorma/standard_document/blocks/passthrough.rb
941
694
  - lib/metanorma/standard_document/blocks/requirement_model.rb
942
- - lib/metanorma/standard_document/blocks/source_origin_element.rb
943
695
  - lib/metanorma/standard_document/blocks/standard_admonition_block.rb
944
696
  - lib/metanorma/standard_document/blocks/standard_block.rb
945
697
  - lib/metanorma/standard_document/blocks/standard_block_no_notes.rb
@@ -1036,7 +788,6 @@ files:
1036
788
  - lib/metanorma/standard_document/terms/term_collection.rb
1037
789
  - lib/metanorma/standard_document/terms/term_definition.rb
1038
790
  - lib/metanorma/standard_document/terms/term_expression.rb
1039
- - lib/metanorma/standard_document/terms/term_name_element.rb
1040
791
  - lib/metanorma/standard_document/terms/term_source.rb
1041
792
  - lib/metanorma/standard_document/terms/term_source_status.rb
1042
793
  - lib/metanorma/standard_document/terms/term_source_type.rb
@@ -1049,7 +800,7 @@ files:
1049
800
  - lib/metanorma/un_document/sections.rb
1050
801
  - lib/metanorma/un_document/sections/un_preface.rb
1051
802
  - lib/metanorma/un_document/sections/un_sections.rb
1052
- - script/render_both.rb
803
+ - metanorma-document.gemspec
1053
804
  - tasks/roundtrip_samples.rake
1054
805
  homepage: https://github.com/metanorma/metanorma-document
1055
806
  licenses:
data/CLAUDE.md DELETED
@@ -1,26 +0,0 @@
1
- # metanorma-document — Project Rules
2
-
3
- ## ABSOLUTE RULE: NEVER use Nokogiri on document model XML
4
-
5
- Document XML (presentation XML) is parsed into lutaml-model objects. All access to document content MUST go through the model object graph — typed attributes, `element_order`, `each_mixed_content`, etc.
6
-
7
- NEVER:
8
- - Call `to_xml` on a model object and then parse that XML with Nokogiri
9
- - Use Nokogiri to strip, transform, or manipulate document XML content
10
- - Use Nokogiri CSS selectors on document XML to find elements
11
-
12
- The HTML renderer must use the model's typed attributes and the rendering pipeline (`render_paragraph`, `render_mixed_inline`, etc.) to produce HTML. Nokogiri is only acceptable for processing non-document strings (e.g., SVG logo files).
13
-
14
- ## ABSOLUTE RULE: Use `each_mixed_content` for mixed content nodes
15
-
16
- For any node with `mixed? == true`, you MUST use `each_mixed_content` to iterate children. This provides the full sequence of text nodes and elements in correct order.
17
-
18
- Do NOT:
19
- - Use only typed attributes (like `paragraphs`, `title`) for rendering — these only give mapped elements, not text nodes
20
- - Use `element_order` for inline content — it only shows element children, not interleaved text
21
-
22
- `render_ordered_content` uses `element_order` and is acceptable for block-level sections (which contain only element children like paragraphs and lists). But for paragraphs and inline content containers, `each_mixed_content` is mandatory.
23
-
24
- ## ABSOLUTE RULE: No regex for HTML stripping
25
-
26
- Never use regex (`/<[^>]+>/`) to strip HTML tags from rendered output. Text extraction must work directly on model objects via `extract_plain_text` (which walks `element_order` and typed attributes). If you need plain text from a model element, use `extract_plain_text(element)`, not `strip_html(render(element))`.
@@ -1,8 +0,0 @@
1
- # 01 — Split multi-class files into one-class-per-file — DONE
2
-
3
- All model files now contain exactly one class per file. Verified: every file under `lib/metanorma/document/`, `lib/metanorma/standard_document/`, `lib/metanorma/iso_document/`, `lib/metanorma/bipm_document/`, `lib/metanorma/itu_document/`, `lib/metanorma/ietf_document/`, `lib/metanorma/cc_document/` is single-class.
4
-
5
- Nested classes that are only used internally by their parent (e.g. `AnnotationContainer::Annotation`) are legitimate and NOT split.
6
-
7
- ## Code quality requirements
8
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).
@@ -1,6 +0,0 @@
1
- # 02 — Remove misplaced `data/dist/iso_document/frontend/` artifacts — DONE
2
-
3
- `data/dist/iso_document/frontend/` directory no longer exists. Frontend build artifacts are correctly placed in `frontend/dist/` and included in gemspec via `Dir.glob("frontend/dist/*")`.
4
-
5
- ## Code quality requirements
6
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).
@@ -1,11 +0,0 @@
1
- # 03 — Align frontend IIFE build and GHA gem release with docbook pattern — DONE
2
-
3
- Aligned with docbook project:
4
- - `Rakefile` has `build_frontend` task + release hook
5
- - `gemspec` includes `frontend/dist/*`
6
- - `.github/workflows/rake.yml` has `after-setup-ruby: cd frontend && npm install && npm run build`
7
- - `frontend/vite.config.ts` produces `app.iife.js` + `app.css`
8
- - `.gitignore` has `frontend/node_modules/` and `frontend/dist/`
9
-
10
- ## Code quality requirements
11
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).
@@ -1,9 +0,0 @@
1
- # 04 — Data-centric theme system: config files per flavor — DONE
2
-
3
- All 13 flavor themes extracted to `data/themes/{flavor}.yaml`. `Theme.load(:iso)` reads YAML and applies overrides. BaseRenderer provides default `Theme.new`. Every flavor renderer uses `Theme.load(:flavor_name)`.
4
-
5
- ### Remaining enhancement
6
- Publisher metadata (publishers, publisher_name, logo_map, font_url) still hardcoded in flavor renderers. These should move into theme YAML config so flavor renderers can be auto-generated from config alone.
7
-
8
- ## Code quality requirements
9
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).
@@ -1,16 +0,0 @@
1
- # 05 — Migrate all HTML generation to Liquid templates — DONE
2
-
3
- All HTML element generation uses Liquid templates. Zero raw HTML string injection via `@output <<` remains. The `tag()` helper has been removed from `base_renderer.rb`. All remaining `@output <<` calls are text streaming (`escape_html`, whitespace, raw content passthrough) — not HTML element generation.
4
-
5
- 32+ Liquid templates exist in `lib/metanorma/html/templates/`. The generic `_element.html.liquid` handles most tag wrapping. Specialized templates exist for tables, lists, figures, headings, math, links, etc.
6
-
7
- ### OOP Liquid pattern
8
- All rendering uses the `capture_output` + `render_liquid` pattern:
9
- 1. Capture child content into a Ruby string via `capture_output`
10
- 2. Pass captured content to `render_liquid("_template.html.liquid", assigns)`
11
- 3. Result is appended to `@output` by the caller
12
-
13
- Drop classes (`Drops::*`) are used for complex objects that need pre-rendered HTML fields (e.g. `BiblioEntryDrop`, `FigureDrop`).
14
-
15
- ## Code quality requirements
16
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).
@@ -1,16 +0,0 @@
1
- # 06 — Integrate pubid library for publication identifier handling — DONE
2
-
3
- ## What was done
4
- 1. Added `pubid ~> 2.0` to gemspec dependency
5
- 2. Added `gem "pubid", path: "../../mn/pubid"` to Gemfile for local dev
6
- 3. Created `lib/metanorma/html/concerns/pubid_rendering.rb` — `PubidRendering` module with:
7
- - `FLAVOR_PUBID_MAP` mapping document class names to pubid modules
8
- - `parse_pubid(docidentifier_string)` — flavor-aware pubid parsing
9
- - `pubid_to_html(identifier)` — renders to semantic HTML with CSS classes
10
- - `resolve_pubid_module` — auto-detects flavor from renderer class
11
- 4. Wired into `BaseRenderer` via `include PubidRendering`
12
- 5. Refactored `render_bibitem_content` in `standard_renderer.rb` to try pubid first
13
- 6. Created specs in `pubid_rendering_spec.rb`
14
-
15
- ## Code quality requirements
16
- Ensure code cleanliness and OOP and MECE and fully model-driven, semantically-driven and open/closed principle, DRY, performance. ultrathink. Always think about what can we improve here in architecture and code? Make sure we have good specs throughout. Never use private send methods (breaks encapsulation), instance_variable_set/get, and never use respond_to? (poor typing).