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.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +21 -0
- data/.github/workflows/release.yml +25 -0
- data/.github/workflows/roundtrip-samples.yml +132 -0
- data/.gitignore +19 -0
- data/.rspec +3 -0
- data/.rubocop.yml +22 -0
- data/.rubocop_todo.yml +66 -164
- data/CHANGELOG.md +1 -0
- data/Gemfile +32 -0
- data/README.adoc +0 -144
- data/Rakefile +2 -14
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/data/javascripts/components/mn-lightbox.js +2 -18
- data/data/javascripts/components/mn-shortcuts.js +0 -2
- data/data/javascripts/core/mn-navigation.js +0 -8
- data/data/javascripts/core/mn-theme.js +9 -9
- data/data/logos/pdfa-logo.svg +94 -31
- data/data/stylesheets/base/_layout.css +0 -3
- data/data/stylesheets/base/_reset.css +3 -3
- data/data/stylesheets/base/_typography.css +5 -0
- data/data/stylesheets/components/bibliography.css +3 -3
- data/data/stylesheets/components/cover.css +1 -3
- data/data/stylesheets/components/figure.css +1 -13
- data/data/stylesheets/components/footnote.css +5 -65
- data/data/stylesheets/components/formula.css +0 -44
- data/data/stylesheets/components/header.css +2 -17
- data/data/stylesheets/components/inline.css +1 -1
- data/data/stylesheets/components/table.css +2 -15
- data/data/stylesheets/components/term.css +1 -0
- data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +14 -0
- data/lib/metanorma/bipm_document/metadata.rb +1 -1
- data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +65 -0
- data/lib/metanorma/document/components/ancillary_blocks.rb +0 -4
- data/lib/metanorma/document/components/bib_data/bib_data.rb +0 -7
- data/lib/metanorma/document/components/blocks/requirement_model.rb +131 -0
- data/lib/metanorma/document/components/blocks.rb +7 -8
- data/lib/metanorma/document/components/id_elements/image.rb +0 -2
- data/lib/metanorma/document/components/inline/asciimath_element.rb +0 -2
- data/lib/metanorma/document/components/inline/attribution_element.rb +0 -2
- data/lib/metanorma/document/components/inline/bcp14_element.rb +0 -2
- data/lib/metanorma/document/components/inline/biblio_tag_element.rb +0 -2
- data/lib/metanorma/document/components/inline/br_element.rb +0 -2
- data/lib/metanorma/document/components/inline/comma_element.rb +0 -2
- data/lib/metanorma/document/components/inline/concept_element.rb +0 -2
- data/lib/metanorma/document/components/inline/display_text_element.rb +0 -2
- data/lib/metanorma/document/components/inline/em_raw_element.rb +0 -2
- data/lib/metanorma/document/components/inline/enum_comma_element.rb +0 -2
- data/lib/metanorma/document/components/inline/eref_element.rb +0 -2
- data/lib/metanorma/document/components/inline/fmt_admitted_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_annotation_body_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_annotation_end_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_annotation_start_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_concept_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_definition_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_fn_body_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_fn_label_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_footnote_container_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_identifier_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_name_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_sourcecode_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_stem_element.rb +0 -10
- data/lib/metanorma/document/components/inline/fmt_termsource_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_title_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_xref_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fmt_xref_label_element.rb +0 -4
- data/lib/metanorma/document/components/inline/fn_element.rb +0 -2
- data/lib/metanorma/document/components/inline/link_element.rb +0 -2
- data/lib/metanorma/document/components/inline/localized_string_element.rb +0 -2
- data/lib/metanorma/document/components/inline/localized_strings_element.rb +0 -2
- data/lib/metanorma/document/components/inline/math_element.rb +0 -2
- data/lib/metanorma/document/components/inline/name_with_id_element.rb +0 -4
- data/lib/metanorma/document/components/inline/semx_child_element.rb +0 -2
- data/lib/metanorma/document/components/inline/semx_element.rb +1 -13
- data/lib/metanorma/document/components/inline/small_cap_element.rb +0 -2
- data/lib/metanorma/document/components/inline/span_element.rb +15 -10
- data/lib/metanorma/document/components/inline/stem_inline_element.rb +1 -7
- data/lib/metanorma/document/components/inline/strong_raw_element.rb +0 -2
- data/lib/metanorma/document/components/inline/sub_element.rb +0 -2
- data/lib/metanorma/document/components/inline/sup_element.rb +0 -2
- data/lib/metanorma/document/components/inline/tab_element.rb +0 -2
- data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +0 -4
- data/lib/metanorma/document/components/inline/tt_element.rb +0 -2
- data/lib/metanorma/document/components/inline/variant_title_element.rb +0 -2
- data/lib/metanorma/document/components/inline/xref_element.rb +0 -10
- data/lib/metanorma/document/components/inline.rb +0 -12
- data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +29 -0
- data/lib/metanorma/document/components/multi_paragraph.rb +0 -2
- data/lib/metanorma/document/components/reference_elements/source_element.rb +31 -0
- data/lib/metanorma/document/components/reference_elements.rb +2 -2
- data/lib/metanorma/document/components/tables/table_block.rb +22 -0
- data/lib/metanorma/document/components/tables/table_section.rb +25 -0
- data/lib/metanorma/document/components/tables.rb +3 -5
- data/lib/metanorma/document/relaton/address.rb +27 -0
- data/lib/metanorma/document/relaton/bib_item_locality.rb +12 -3
- data/lib/metanorma/document/relaton/copyright_association.rb +10 -0
- data/lib/metanorma/document/relaton/edition.rb +7 -4
- data/lib/metanorma/document/relaton/organization.rb +14 -0
- data/lib/metanorma/document/relaton/phone.rb +9 -3
- data/lib/metanorma/document/relaton/place_type.rb +13 -0
- data/lib/metanorma/document/relaton/price_type.rb +9 -3
- data/lib/metanorma/document/relaton.rb +1 -6
- data/lib/metanorma/document/version.rb +1 -1
- data/lib/metanorma/document.rb +0 -2
- data/lib/metanorma/html/asset_pipeline.rb +0 -1
- data/lib/metanorma/html/base_renderer.rb +1008 -261
- data/lib/metanorma/html/bipm_renderer.rb +144 -15
- data/lib/metanorma/html/cc_renderer.rb +45 -1
- data/lib/metanorma/html/component/base.rb +7 -2
- data/lib/metanorma/html/component/index_section.rb +43 -41
- data/lib/metanorma/html/drops/admonition_drop.rb +4 -1
- data/lib/metanorma/html/drops/block_element_drop.rb +2 -7
- data/lib/metanorma/html/drops/example_drop.rb +4 -1
- data/lib/metanorma/html/drops/figure_drop.rb +22 -31
- data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
- data/lib/metanorma/html/drops/formula_drop.rb +16 -45
- data/lib/metanorma/html/drops/note_drop.rb +7 -9
- data/lib/metanorma/html/drops/sourcecode_drop.rb +5 -12
- data/lib/metanorma/html/drops.rb +0 -2
- data/lib/metanorma/html/generator.rb +2 -2
- data/lib/metanorma/html/icc_renderer.rb +39 -0
- data/lib/metanorma/html/iec_renderer.rb +44 -1
- data/lib/metanorma/html/ieee_renderer.rb +45 -1
- data/lib/metanorma/html/ietf_renderer.rb +48 -1
- data/lib/metanorma/html/iho_renderer.rb +46 -1
- data/lib/metanorma/html/iso_renderer.rb +343 -290
- data/lib/metanorma/html/itu_renderer.rb +45 -1
- data/lib/metanorma/html/ogc_renderer.rb +76 -15
- data/lib/metanorma/html/oiml_renderer.rb +38 -18
- data/lib/metanorma/html/pdfa_renderer.rb +39 -0
- data/lib/metanorma/html/ribose_renderer.rb +45 -1
- data/lib/metanorma/html/standard_renderer.rb +229 -341
- data/lib/metanorma/html/templates/_footnotes.html.liquid +6 -6
- data/lib/metanorma/html/templates/_formula.html.liquid +1 -1
- data/lib/metanorma/html/templates/_header.html.liquid +1 -1
- data/lib/metanorma/html/templates/_iso_cover.html.liquid +1 -1
- data/lib/metanorma/html/templates/document.html.liquid +0 -4
- data/lib/metanorma/html/theme.rb +107 -180
- data/lib/metanorma/html.rb +3 -14
- data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +25 -0
- data/lib/metanorma/ietf_document/metadata.rb +0 -2
- data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +48 -0
- data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +72 -0
- data/lib/metanorma/iso_document/metadata/iso_document_status.rb +30 -0
- data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +1 -4
- data/lib/metanorma/iso_document/metadata/structured_identifier.rb +17 -0
- data/lib/metanorma/iso_document/metadata/title_collection.rb +0 -1
- data/lib/metanorma/iso_document/metadata.rb +4 -9
- data/lib/metanorma/iso_document/terms/iso_term.rb +13 -0
- data/lib/metanorma/iso_document/terms.rb +0 -1
- data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +37 -0
- data/lib/metanorma/itu_document/metadata.rb +4 -3
- data/lib/metanorma/standard_document/block_attributes.rb +9 -5
- data/lib/metanorma/standard_document/blocks/block_source.rb +23 -0
- data/lib/metanorma/standard_document/blocks.rb +1 -1
- data/lib/metanorma/standard_document/terms/term_expression.rb +31 -0
- data/lib/metanorma/standard_document/terms.rb +0 -1
- data/metanorma-document.gemspec +35 -0
- metadata +13 -262
- data/CLAUDE.md +0 -26
- data/TODO.finalize/01-split-multi-class-files.md +0 -8
- data/TODO.finalize/02-remove-data-dist-iso-document-frontend.md +0 -6
- data/TODO.finalize/03-align-frontend-iife-and-gha-build.md +0 -11
- data/TODO.finalize/04-theme-per-flavor-config-driven.md +0 -9
- data/TODO.finalize/05-migrate-all-html-to-liquid.md +0 -16
- data/TODO.finalize/06-integrate-pubid-library.md +0 -16
- data/TODO.finalize/07-replace-relaton-models-with-relaton-bib.md +0 -39
- data/TODO.finalize/08-refactor-renderer-architecture.md +0 -25
- data/TODO.finalize/09-eliminate-code-smells.md +0 -14
- data/TODO.finalize/10-comprehensive-spec-coverage.md +0 -24
- data/TODO.finalize/11-config-driven-flavor-metadata.md +0 -20
- data/TODO.finalize/12-add-frozen-string-literal.md +0 -6
- data/TODO.finalize/13-extract-composition-from-god-class.md +0 -96
- data/TODO.finalize/14-config-driven-section-ordering.md +0 -31
- data/TODO.finalize/15-theme-directories-per-flavor.md +0 -46
- data/TODO.finalize/16-theme-lutaml-model-schema.md +0 -44
- data/data/javascripts/components/mn-footnotes.js +0 -68
- data/data/logos/oiml-logo-full-dark.svg +0 -1
- data/data/logos/oiml-logo-full-light.svg +0 -1
- data/data/logos/oiml-logo-icon-dark.svg +0 -1
- data/data/logos/oiml-logo-icon-light.svg +0 -1
- data/data/logos/oiml-logo.svg +0 -1
- data/data/themes/bipm.yaml +0 -60
- data/data/themes/cc.yaml +0 -43
- data/data/themes/icc.yaml +0 -39
- data/data/themes/iec.yaml +0 -44
- data/data/themes/ieee.yaml +0 -43
- data/data/themes/ietf.yaml +0 -45
- data/data/themes/iho.yaml +0 -46
- data/data/themes/iso.yaml +0 -40
- data/data/themes/itu.yaml +0 -45
- data/data/themes/ogc.yaml +0 -51
- data/data/themes/oiml.yaml +0 -56
- data/data/themes/pdfa.yaml +0 -44
- data/data/themes/ribose.yaml +0 -43
- data/exe/metanorma-document +0 -11
- data/frontend/e2e/sample-html.test.ts +0 -256
- data/frontend/index.html +0 -12
- data/frontend/package-lock.json +0 -4725
- data/frontend/package.json +0 -32
- data/frontend/postcss.config.js +0 -6
- data/frontend/src/App.vue +0 -79
- data/frontend/src/app.ts +0 -21
- data/frontend/src/components/AppSidebar.vue +0 -77
- data/frontend/src/components/DocumentReader.vue +0 -180
- data/frontend/src/components/MirrorRenderer.vue +0 -23
- data/frontend/src/components/ReadingProgressBar.vue +0 -29
- data/frontend/src/components/TextRenderer.vue +0 -131
- data/frontend/src/components/TocItem.vue +0 -57
- data/frontend/src/components/TopBar.vue +0 -49
- data/frontend/src/components/__tests__/MirrorRenderer.test.ts +0 -178
- data/frontend/src/components/blocks/AdmonitionBlock.vue +0 -74
- data/frontend/src/components/blocks/ClauseBlock.vue +0 -53
- data/frontend/src/components/blocks/ExampleBlock.vue +0 -21
- data/frontend/src/components/blocks/FallbackBlock.vue +0 -18
- data/frontend/src/components/blocks/FigureBlock.vue +0 -26
- data/frontend/src/components/blocks/FootnotesBlock.vue +0 -25
- data/frontend/src/components/blocks/ListBlocks.vue +0 -62
- data/frontend/src/components/blocks/NoteBlock.vue +0 -21
- data/frontend/src/components/blocks/ParagraphBlock.vue +0 -25
- data/frontend/src/components/blocks/QuoteBlock.vue +0 -25
- data/frontend/src/components/blocks/ReviewBlock.vue +0 -39
- data/frontend/src/components/blocks/SourcecodeBlock.vue +0 -52
- data/frontend/src/components/blocks/TableBlock.vue +0 -48
- data/frontend/src/components/blocks/index.ts +0 -36
- data/frontend/src/stores/__tests__/documentStore.fixture.test.ts +0 -272
- data/frontend/src/stores/__tests__/documentStore.test.ts +0 -143
- data/frontend/src/stores/__tests__/ebookStore.test.ts +0 -145
- data/frontend/src/stores/__tests__/uiStore.test.ts +0 -42
- data/frontend/src/stores/documentStore.ts +0 -153
- data/frontend/src/stores/ebookStore.ts +0 -179
- data/frontend/src/stores/uiStore.ts +0 -32
- data/frontend/src/styles.css +0 -156
- data/frontend/src/types/__tests__/rendering-contract.test.ts +0 -172
- data/frontend/src/types/rendering-contract.ts +0 -209
- data/frontend/src/utils/__tests__/typeMetadata.test.ts +0 -102
- data/frontend/src/utils/typeMetadata.ts +0 -121
- data/frontend/tailwind.config.js +0 -18
- data/frontend/test/fixtures/iso-document.json +0 -271
- data/frontend/tmp/debug_e2e.cjs +0 -46
- data/frontend/tsconfig.json +0 -25
- data/frontend/tsconfig.node.json +0 -11
- data/frontend/vite.config.ts +0 -37
- data/frontend/vitest.e2e.config.ts +0 -9
- data/lib/metanorma/bipm_document/metadata/depiction_element.rb +0 -18
- data/lib/metanorma/document/cli.rb +0 -116
- data/lib/metanorma/document/components/ancillary_blocks/callout_annotation.rb +0 -27
- data/lib/metanorma/document/components/ancillary_blocks/sourcecode_body.rb +0 -18
- data/lib/metanorma/document/components/blocks/classification_value.rb +0 -21
- data/lib/metanorma/document/components/blocks/permission_model.rb +0 -28
- data/lib/metanorma/document/components/blocks/recommendation_model.rb +0 -28
- data/lib/metanorma/document/components/blocks/requirement_base.rb +0 -30
- data/lib/metanorma/document/components/blocks/requirement_classification.rb +0 -20
- data/lib/metanorma/document/components/blocks/requirement_description.rb +0 -43
- data/lib/metanorma/document/components/blocks/requirement_inherit.rb +0 -24
- data/lib/metanorma/document/components/inline/location_element.rb +0 -24
- data/lib/metanorma/document/components/inline/rendered_display.rb +0 -23
- data/lib/metanorma/document/components/inline/rendered_math_element.rb +0 -21
- data/lib/metanorma/document/components/inline/semantic_content.rb +0 -51
- data/lib/metanorma/document/components/inline/semantic_math_element.rb +0 -20
- data/lib/metanorma/document/components/inline/vocabulary.rb +0 -184
- data/lib/metanorma/document/components/multi_paragraph/quote_author_element.rb +0 -20
- data/lib/metanorma/document/components/reference_elements/source_modification.rb +0 -21
- data/lib/metanorma/document/components/reference_elements/source_origin.rb +0 -28
- data/lib/metanorma/document/components/tables/col_element.rb +0 -18
- data/lib/metanorma/document/components/tables/col_group_element.rb +0 -18
- data/lib/metanorma/document/components/tables/table_body_section.rb +0 -16
- data/lib/metanorma/document/components/tables/table_foot_section.rb +0 -16
- data/lib/metanorma/document/components/tables/table_head_section.rb +0 -16
- data/lib/metanorma/document/relaton/copyright_owner.rb +0 -16
- data/lib/metanorma/document/relaton/formatted_address.rb +0 -29
- data/lib/metanorma/document/relaton/logo_element.rb +0 -18
- data/lib/metanorma/document/relaton/region_element.rb +0 -18
- data/lib/metanorma/html/drops/biblio_entry_drop.rb +0 -50
- data/lib/metanorma/html/renderers/block_renderer.rb +0 -372
- data/lib/metanorma/html/renderers/inline_renderer.rb +0 -655
- data/lib/metanorma/html/renderers/pubid_renderer.rb +0 -69
- data/lib/metanorma/html/renderers/section_renderer.rb +0 -193
- data/lib/metanorma/html/renderers.rb +0 -8
- data/lib/metanorma/html/templates/_audio.html.liquid +0 -1
- data/lib/metanorma/html/templates/_biblio_entry.html.liquid +0 -1
- data/lib/metanorma/html/templates/_bipm_cover.html.liquid +0 -27
- data/lib/metanorma/html/templates/_boilerplate.html.liquid +0 -1
- data/lib/metanorma/html/templates/_bookmark.html.liquid +0 -1
- data/lib/metanorma/html/templates/_br.html.liquid +0 -1
- data/lib/metanorma/html/templates/_definition_list.html.liquid +0 -6
- data/lib/metanorma/html/templates/_element.html.liquid +0 -1
- data/lib/metanorma/html/templates/_fn_marker.html.liquid +0 -1
- data/lib/metanorma/html/templates/_heading.html.liquid +0 -1
- data/lib/metanorma/html/templates/_image.html.liquid +0 -1
- data/lib/metanorma/html/templates/_inline_span.html.liquid +0 -1
- data/lib/metanorma/html/templates/_link.html.liquid +0 -1
- data/lib/metanorma/html/templates/_list.html.liquid +0 -3
- data/lib/metanorma/html/templates/_list_item.html.liquid +0 -1
- data/lib/metanorma/html/templates/_main_content.html.liquid +0 -1
- data/lib/metanorma/html/templates/_math_container.html.liquid +0 -1
- data/lib/metanorma/html/templates/_paragraph.html.liquid +0 -1
- data/lib/metanorma/html/templates/_prefatory_section.html.liquid +0 -1
- data/lib/metanorma/html/templates/_pubid_identifier.html.liquid +0 -1
- data/lib/metanorma/html/templates/_quote.html.liquid +0 -4
- data/lib/metanorma/html/templates/_ref_date.html.liquid +0 -1
- data/lib/metanorma/html/templates/_ref_title.html.liquid +0 -1
- data/lib/metanorma/html/templates/_section.html.liquid +0 -5
- data/lib/metanorma/html/templates/_standard_cover.html.liquid +0 -31
- data/lib/metanorma/html/templates/_standard_doc_title.html.liquid +0 -3
- data/lib/metanorma/html/templates/_stem_span.html.liquid +0 -1
- data/lib/metanorma/html/templates/_table.html.liquid +0 -9
- data/lib/metanorma/html/templates/_term_domain.html.liquid +0 -1
- data/lib/metanorma/html/templates/_term_example.html.liquid +0 -1
- data/lib/metanorma/html/templates/_term_note.html.liquid +0 -1
- data/lib/metanorma/html/templates/_term_number.html.liquid +0 -1
- data/lib/metanorma/html/templates/_term_source.html.liquid +0 -1
- data/lib/metanorma/html/templates/_term_text_note.html.liquid +0 -1
- data/lib/metanorma/html/templates/_video.html.liquid +0 -1
- data/lib/metanorma/html/templates/_wrapped_preface.html.liquid +0 -1
- data/lib/metanorma/ietf_document/metadata/pi_settings.rb +0 -32
- data/lib/metanorma/iso_document/metadata/doctype_element.rb +0 -20
- data/lib/metanorma/iso_document/metadata/language_element.rb +0 -18
- data/lib/metanorma/iso_document/metadata/project_number.rb +0 -22
- data/lib/metanorma/iso_document/metadata/script_element.rb +0 -18
- data/lib/metanorma/iso_document/metadata/stage_element.rb +0 -26
- data/lib/metanorma/iso_document/metadata/stagename_element.rb +0 -18
- data/lib/metanorma/iso_document/terms/term_domain_element.rb +0 -18
- data/lib/metanorma/itu_document/metadata/meeting_date.rb +0 -18
- data/lib/metanorma/itu_document/metadata/meeting_element.rb +0 -18
- data/lib/metanorma/itu_document/metadata/study_period.rb +0 -18
- data/lib/metanorma/mirror/default_registry.rb +0 -170
- data/lib/metanorma/mirror/handler_registry.rb +0 -60
- data/lib/metanorma/mirror/handler_result.rb +0 -37
- data/lib/metanorma/mirror/handlers/admonition.rb +0 -18
- data/lib/metanorma/mirror/handlers/example.rb +0 -21
- data/lib/metanorma/mirror/handlers/figure.rb +0 -53
- data/lib/metanorma/mirror/handlers/formula.rb +0 -35
- data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +0 -159
- data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +0 -116
- data/lib/metanorma/mirror/handlers/inline.rb +0 -225
- data/lib/metanorma/mirror/handlers/list.rb +0 -110
- data/lib/metanorma/mirror/handlers/note.rb +0 -26
- data/lib/metanorma/mirror/handlers/paragraph.rb +0 -19
- data/lib/metanorma/mirror/handlers/quote.rb +0 -16
- data/lib/metanorma/mirror/handlers/review.rb +0 -19
- data/lib/metanorma/mirror/handlers/section.rb +0 -149
- data/lib/metanorma/mirror/handlers/sourcecode.rb +0 -27
- data/lib/metanorma/mirror/handlers/structural.rb +0 -68
- data/lib/metanorma/mirror/handlers/table.rb +0 -81
- data/lib/metanorma/mirror/handlers/term.rb +0 -100
- data/lib/metanorma/mirror/handlers.rb +0 -60
- data/lib/metanorma/mirror/id_strategy/positional.rb +0 -166
- data/lib/metanorma/mirror/id_strategy/preserve.rb +0 -12
- data/lib/metanorma/mirror/id_strategy.rb +0 -34
- data/lib/metanorma/mirror/math_util.rb +0 -53
- data/lib/metanorma/mirror/metadata.rb +0 -37
- data/lib/metanorma/mirror/metanorma_to_mirror.rb +0 -101
- data/lib/metanorma/mirror/model/container.rb +0 -47
- data/lib/metanorma/mirror/model/factory.rb +0 -52
- data/lib/metanorma/mirror/model/guide.rb +0 -25
- data/lib/metanorma/mirror/model/leaf.rb +0 -17
- data/lib/metanorma/mirror/model/mark.rb +0 -53
- data/lib/metanorma/mirror/model/node.rb +0 -47
- data/lib/metanorma/mirror/model/soft_break.rb +0 -33
- data/lib/metanorma/mirror/model/text.rb +0 -34
- data/lib/metanorma/mirror/model.rb +0 -16
- data/lib/metanorma/mirror/output/builder.rb +0 -39
- data/lib/metanorma/mirror/output/formats/base_format.rb +0 -90
- data/lib/metanorma/mirror/output/formats/inline_format.rb +0 -81
- data/lib/metanorma/mirror/output/formats.rb +0 -53
- data/lib/metanorma/mirror/output/html_renderer.rb +0 -95
- data/lib/metanorma/mirror/output/html_renderers/block_renderers.rb +0 -178
- data/lib/metanorma/mirror/output/html_renderers/inline_renderer.rb +0 -61
- data/lib/metanorma/mirror/output/html_renderers/list_renderers.rb +0 -96
- data/lib/metanorma/mirror/output/html_renderers/mark_renderers.rb +0 -64
- data/lib/metanorma/mirror/output/html_renderers/section_renderers.rb +0 -129
- data/lib/metanorma/mirror/output/html_renderers/structural_renderers.rb +0 -80
- data/lib/metanorma/mirror/output/html_renderers/table_renderers.rb +0 -87
- data/lib/metanorma/mirror/output/html_renderers.rb +0 -76
- data/lib/metanorma/mirror/output/pipeline.rb +0 -92
- data/lib/metanorma/mirror/output/pipeline_context.rb +0 -22
- data/lib/metanorma/mirror/output.rb +0 -14
- data/lib/metanorma/mirror/rewriter.rb +0 -121
- data/lib/metanorma/mirror/safe_attr.rb +0 -16
- data/lib/metanorma/mirror/serialization/json_serializer.rb +0 -25
- data/lib/metanorma/mirror/serialization/yaml_serializer.rb +0 -20
- data/lib/metanorma/mirror/serialization.rb +0 -10
- data/lib/metanorma/mirror/transformer.rb +0 -22
- data/lib/metanorma/mirror.rb +0 -32
- data/lib/metanorma/standard_document/annotation.rb +0 -37
- data/lib/metanorma/standard_document/blocks/source_origin_element.rb +0 -23
- data/lib/metanorma/standard_document/terms/term_name_element.rb +0 -29
- 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.
|
|
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-
|
|
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
|
-
-
|
|
44
|
+
- Gemfile
|
|
68
45
|
- LICENSE.txt
|
|
69
46
|
- README.adoc
|
|
70
47
|
- Rakefile
|
|
71
|
-
-
|
|
72
|
-
-
|
|
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
|
-
-
|
|
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).
|