metanorma-document 0.5.0 → 0.5.2.pre.alpha.1
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/README.adoc +81 -0
- data/Rakefile +3 -7
- data/data/stylesheets/base/_dark.css +3 -3
- data/data/stylesheets/base/_print.css +1 -1
- data/data/stylesheets/components/term.css +4 -2
- data/data/themes/ogc.yaml +5 -0
- data/lib/metanorma/basic_document/ancillary_blocks/figure_block.rb +2 -2
- data/lib/metanorma/basic_document/multi_paragraph/admonition_block.rb +2 -2
- data/lib/metanorma/document/cli.rb +134 -0
- data/lib/metanorma/document/components/ancillary_blocks/figure_block.rb +5 -0
- data/lib/metanorma/document/components/ancillary_blocks/fmt_figure_element.rb +47 -0
- data/lib/metanorma/document/components/ancillary_blocks/formula_block.rb +2 -0
- data/lib/metanorma/document/components/ancillary_blocks/imagemap_element.rb +73 -0
- data/lib/metanorma/document/components/ancillary_blocks/literal_block.rb +2 -0
- data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +2 -0
- data/lib/metanorma/document/components/ancillary_blocks/svg_target_element.rb +27 -0
- data/lib/metanorma/document/components/ancillary_blocks/svgmap_element.rb +28 -0
- data/lib/metanorma/document/components/ancillary_blocks.rb +4 -0
- data/lib/metanorma/document/components/bib_data/bibliographic_item.rb +4 -0
- data/lib/metanorma/document/components/blocks/fmt_provision.rb +25 -0
- data/lib/metanorma/document/components/blocks/note_block.rb +8 -0
- data/lib/metanorma/document/components/blocks/permission_model.rb +9 -0
- data/lib/metanorma/document/components/blocks/recommendation_model.rb +9 -0
- data/lib/metanorma/document/components/blocks/requirement_base.rb +12 -0
- data/lib/metanorma/document/components/blocks/requirement_import.rb +23 -0
- data/lib/metanorma/document/components/blocks/requirement_measurement_target.rb +23 -0
- data/lib/metanorma/document/components/blocks/requirement_model.rb +9 -0
- data/lib/metanorma/document/components/blocks/requirement_specification.rb +23 -0
- data/lib/metanorma/document/components/blocks/requirement_verification.rb +23 -0
- data/lib/metanorma/document/components/blocks.rb +8 -0
- data/lib/metanorma/document/components/data_types/formatted_string.rb +9 -0
- data/lib/metanorma/document/components/id_elements/image.rb +4 -0
- data/lib/metanorma/document/components/inline/columnbreak_element.rb +17 -0
- data/lib/metanorma/document/components/inline/concept_element.rb +18 -0
- data/lib/metanorma/document/components/inline/date_element.rb +29 -0
- data/lib/metanorma/document/components/inline/display_text_element.rb +2 -0
- data/lib/metanorma/document/components/inline/em_raw_element.rb +6 -7
- data/lib/metanorma/document/components/inline/eref_element.rb +48 -22
- data/lib/metanorma/document/components/inline/eref_stack.rb +23 -0
- data/lib/metanorma/document/components/inline/error_message.rb +28 -0
- data/lib/metanorma/document/components/inline/fmt_date_element.rb +28 -0
- data/lib/metanorma/document/components/inline/fmt_date_inline_element.rb +26 -0
- data/lib/metanorma/document/components/inline/fmt_eref_element.rb +25 -0
- data/lib/metanorma/document/components/inline/fmt_origin_element.rb +24 -0
- data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +3 -0
- data/lib/metanorma/document/components/inline/fmt_source_element.rb +31 -0
- data/lib/metanorma/document/components/inline/fn_element.rb +11 -0
- data/lib/metanorma/document/components/inline/link_element.rb +8 -0
- data/lib/metanorma/document/components/inline/name_with_id_element.rb +2 -0
- data/lib/metanorma/document/components/inline/refterm_element.rb +21 -0
- data/lib/metanorma/document/components/inline/semx_element.rb +22 -0
- data/lib/metanorma/document/components/inline/sourcelocality_stack_element.rb +27 -0
- data/lib/metanorma/document/components/inline/span_element.rb +2 -0
- data/lib/metanorma/document/components/inline/stem_inline_element.rb +2 -0
- data/lib/metanorma/document/components/inline/strong_raw_element.rb +6 -9
- data/lib/metanorma/document/components/inline/sub_element.rb +2 -0
- data/lib/metanorma/document/components/inline/termref_element.rb +24 -0
- data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +10 -31
- data/lib/metanorma/document/components/inline/variant_title_element.rb +2 -0
- data/lib/metanorma/document/components/inline/vocabulary.rb +36 -0
- data/lib/metanorma/document/components/inline.rb +23 -0
- data/lib/metanorma/document/components/lists/dd_element.rb +6 -1
- data/lib/metanorma/document/components/lists/definition.rb +2 -0
- data/lib/metanorma/document/components/lists/definition_list.rb +3 -0
- data/lib/metanorma/document/components/lists/dt_element.rb +3 -0
- data/lib/metanorma/document/components/lists/fmt_list_element.rb +73 -0
- data/lib/metanorma/document/components/lists/list_item.rb +3 -0
- data/lib/metanorma/document/components/lists/ordered_list.rb +4 -2
- data/lib/metanorma/document/components/lists/unordered_list.rb +2 -0
- data/lib/metanorma/document/components/lists.rb +2 -0
- data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +16 -0
- data/lib/metanorma/document/components/multi_paragraph/review_block.rb +2 -2
- data/lib/metanorma/document/components/paragraphs/paragraph_block.rb +15 -0
- data/lib/metanorma/document/components/reference_elements/citation.rb +7 -0
- data/lib/metanorma/document/components/reference_elements/source_element.rb +4 -0
- data/lib/metanorma/document/components/semantic/node.rb +46 -0
- data/lib/metanorma/document/components/semantic.rb +11 -0
- data/lib/metanorma/document/components/tables/header_table_cell.rb +1 -0
- data/lib/metanorma/document/components/tables/table_cell.rb +70 -44
- data/lib/metanorma/document/components/tables/text_table_cell.rb +1 -0
- data/lib/metanorma/document/components/tables/text_table_row.rb +2 -0
- data/lib/metanorma/document/components/text_elements/ruby_annotation_element.rb +26 -0
- data/lib/metanorma/document/components/text_elements/ruby_element.rb +41 -6
- data/lib/metanorma/document/components/text_elements/ruby_pronunciation_element.rb +25 -0
- data/lib/metanorma/document/components/text_elements/strike_element.rb +3 -0
- data/lib/metanorma/document/components/text_elements/underline_element.rb +3 -0
- data/lib/metanorma/document/components/text_elements.rb +2 -0
- data/lib/metanorma/document/components.rb +1 -0
- data/lib/metanorma/document/grammar_vocabulary.rb +109 -0
- data/lib/metanorma/document/mirror_seed.rb +253 -0
- data/lib/metanorma/document/mko/collection.rb +168 -0
- data/lib/metanorma/document/mko/exporter.rb +17 -0
- data/lib/metanorma/document/mko/project.rb +1110 -0
- data/lib/metanorma/document/mko.rb +122 -0
- data/lib/metanorma/document/model_access.rb +44 -0
- data/lib/metanorma/document/native_models.rb +319 -0
- data/lib/metanorma/document/plain_text.rb +39 -0
- data/lib/metanorma/document/relaton/version_info.rb +4 -0
- data/lib/metanorma/document/version.rb +1 -1
- data/lib/metanorma/document.rb +19 -26
- data/lib/metanorma/{collection → document_collection}/directive.rb +1 -1
- data/lib/metanorma/{collection → document_collection}/doc_container.rb +6 -2
- data/lib/metanorma/{collection → document_collection}/entry.rb +2 -2
- data/lib/metanorma/{collection → document_collection}/root.rb +2 -2
- data/lib/metanorma/document_collection.rb +10 -0
- data/lib/metanorma/html/base_renderer.rb +105 -28
- data/lib/metanorma/html/component/footnote_collector.rb +21 -20
- data/lib/metanorma/html/concerns/metadata_extraction.rb +8 -3
- data/lib/metanorma/html/concerns/presentation_validation.rb +1 -2
- data/lib/metanorma/html/concerns/text_extraction.rb +154 -35
- data/lib/metanorma/html/concerns.rb +19 -0
- data/lib/metanorma/html/drops/admonition_drop.rb +1 -1
- data/lib/metanorma/html/drops/example_drop.rb +8 -1
- data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
- data/lib/metanorma/html/drops/note_drop.rb +31 -4
- data/lib/metanorma/html/drops/sourcecode_drop.rb +22 -4
- data/lib/metanorma/html/generator.rb +11 -187
- data/lib/metanorma/html/renderer_delegation.rb +2 -2
- data/lib/metanorma/html/renderers/block_renderer.rb +246 -51
- data/lib/metanorma/html/renderers/inline_renderer.rb +144 -17
- data/lib/metanorma/html/renderers/section_renderer.rb +12 -2
- data/lib/metanorma/html/renderers/semantic_renderer.rb +487 -0
- data/lib/metanorma/html/renderers.rb +2 -0
- data/lib/metanorma/html/standard_renderer.rb +743 -81
- data/lib/metanorma/html/templates/_agency_cover.html.liquid +30 -0
- data/lib/metanorma/html/templates/_columnbreak.html.liquid +1 -0
- data/lib/metanorma/html/templates/_cover.html.liquid +3 -0
- data/lib/metanorma/html/templates/_example.html.liquid +1 -1
- data/lib/metanorma/html/templates/_main_content.html.liquid +1 -1
- data/lib/metanorma/html/templates/_note.html.liquid +1 -1
- data/lib/metanorma/html/templates/_paragraph.html.liquid +1 -1
- data/lib/metanorma/html/templates/_ruby.html.liquid +1 -0
- data/lib/metanorma/html/templates/_sourcecode.html.liquid +4 -3
- data/lib/metanorma/html/templates/_standard_cover.html.liquid +54 -3
- data/lib/metanorma/html/templates/_term_number.html.liquid +1 -1
- data/lib/metanorma/html.rb +30 -15
- data/tasks/flavors.rake +116 -0
- data/tasks/grammar.rake +28 -0
- data/tasks/roundtrip_samples.rake +48 -34
- metadata +121 -416
- data/frontend/dist/app.css +0 -1
- data/frontend/dist/app.iife.js +0 -24
- data/lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb +0 -20
- data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +0 -17
- data/lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb +0 -21
- data/lib/metanorma/bipm_document/metadata/depiction_element.rb +0 -18
- data/lib/metanorma/bipm_document/metadata.rb +0 -15
- data/lib/metanorma/bipm_document/root.rb +0 -25
- data/lib/metanorma/bipm_document.rb +0 -8
- data/lib/metanorma/bsi_document/metadata/bsi_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/bsi_document/metadata/bsi_bibliographic_item.rb +0 -15
- data/lib/metanorma/bsi_document/metadata.rb +0 -12
- data/lib/metanorma/bsi_document/root.rb +0 -29
- data/lib/metanorma/bsi_document/sections/bsi_annex_section.rb +0 -25
- data/lib/metanorma/bsi_document/sections/bsi_clause_section.rb +0 -25
- data/lib/metanorma/bsi_document/sections/bsi_sections.rb +0 -27
- data/lib/metanorma/bsi_document/sections.rb +0 -11
- data/lib/metanorma/bsi_document.rb +0 -11
- data/lib/metanorma/cc_document/metadata/cc_bib_data_extension_type.rb +0 -12
- data/lib/metanorma/cc_document/metadata/cc_bibliographic_item.rb +0 -17
- data/lib/metanorma/cc_document/metadata.rb +0 -11
- data/lib/metanorma/cc_document/root.rb +0 -25
- data/lib/metanorma/cc_document.rb +0 -8
- data/lib/metanorma/collection.rb +0 -10
- data/lib/metanorma/csa_document/root.rb +0 -27
- data/lib/metanorma/csa_document.rb +0 -9
- data/lib/metanorma/gb_document/metadata/gb_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/gb_document/metadata/gb_bibliographic_item.rb +0 -15
- data/lib/metanorma/gb_document/metadata.rb +0 -12
- data/lib/metanorma/gb_document/root.rb +0 -29
- data/lib/metanorma/gb_document.rb +0 -10
- data/lib/metanorma/generic_document/root.rb +0 -31
- data/lib/metanorma/generic_document.rb +0 -7
- data/lib/metanorma/html/bipm_renderer.rb +0 -23
- data/lib/metanorma/html/cc_renderer.rb +0 -9
- data/lib/metanorma/html/csa_renderer.rb +0 -9
- data/lib/metanorma/html/flavor.rb +0 -50
- data/lib/metanorma/html/flavor_registry.rb +0 -49
- data/lib/metanorma/html/icc_renderer.rb +0 -10
- data/lib/metanorma/html/iec_renderer.rb +0 -9
- data/lib/metanorma/html/ieee_renderer.rb +0 -9
- data/lib/metanorma/html/ietf_renderer.rb +0 -9
- data/lib/metanorma/html/iho_renderer.rb +0 -9
- data/lib/metanorma/html/iso_renderer.rb +0 -535
- data/lib/metanorma/html/itu_renderer.rb +0 -9
- data/lib/metanorma/html/ogc_renderer.rb +0 -23
- data/lib/metanorma/html/pdfa_renderer.rb +0 -10
- data/lib/metanorma/html/ribose_renderer.rb +0 -9
- data/lib/metanorma/html/templates/_bipm_cover.html.liquid +0 -27
- data/lib/metanorma/html/templates/_iso_cover.html.liquid +0 -31
- data/lib/metanorma/html/templates/_iso_doc_title.html.liquid +0 -3
- data/lib/metanorma/iec_document/root.rb +0 -27
- data/lib/metanorma/iec_document.rb +0 -9
- data/lib/metanorma/ieee_document/metadata/ieee_bib_data_extension_type.rb +0 -18
- data/lib/metanorma/ieee_document/metadata/ieee_bibliographic_item.rb +0 -20
- data/lib/metanorma/ieee_document/metadata/ieee_structured_identifier.rb +0 -25
- data/lib/metanorma/ieee_document/metadata.rb +0 -14
- data/lib/metanorma/ieee_document/root.rb +0 -29
- data/lib/metanorma/ieee_document/sections/ieee_sections.rb +0 -31
- data/lib/metanorma/ieee_document/sections.rb +0 -9
- data/lib/metanorma/ieee_document.rb +0 -11
- data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +0 -31
- data/lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb +0 -51
- data/lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb +0 -17
- data/lib/metanorma/ietf_document/metadata/pi_settings.rb +0 -32
- data/lib/metanorma/ietf_document/metadata.rb +0 -16
- data/lib/metanorma/ietf_document/root.rb +0 -30
- data/lib/metanorma/ietf_document/sections/ietf_annex_section.rb +0 -26
- data/lib/metanorma/ietf_document/sections/ietf_clause_section.rb +0 -26
- data/lib/metanorma/ietf_document/sections/ietf_content_section.rb +0 -25
- data/lib/metanorma/ietf_document/sections/ietf_sections.rb +0 -35
- data/lib/metanorma/ietf_document/sections.rb +0 -12
- data/lib/metanorma/ietf_document.rb +0 -11
- data/lib/metanorma/iho_document/metadata/iho_bib_data_extension_type.rb +0 -23
- data/lib/metanorma/iho_document/metadata/iho_bibliographic_item.rb +0 -20
- data/lib/metanorma/iho_document/metadata/iho_editorial_group.rb +0 -19
- data/lib/metanorma/iho_document/metadata/iho_series.rb +0 -22
- data/lib/metanorma/iho_document/metadata/iho_sub_group.rb +0 -18
- data/lib/metanorma/iho_document/metadata.rb +0 -15
- data/lib/metanorma/iho_document/root.rb +0 -25
- data/lib/metanorma/iho_document.rb +0 -8
- data/lib/metanorma/iso_document/annotation_container.rb +0 -7
- data/lib/metanorma/iso_document/blocks/iso_admonition_block.rb +0 -27
- data/lib/metanorma/iso_document/blocks/iso_admonition_type.rb +0 -25
- data/lib/metanorma/iso_document/blocks.rb +0 -12
- data/lib/metanorma/iso_document/boilerplate.rb +0 -7
- data/lib/metanorma/iso_document/metadata/abstract_title.rb +0 -36
- data/lib/metanorma/iso_document/metadata/doc_identifier.rb +0 -26
- data/lib/metanorma/iso_document/metadata/doctype_element.rb +0 -20
- data/lib/metanorma/iso_document/metadata/ics.rb +0 -19
- data/lib/metanorma/iso_document/metadata/iec_document_category.rb +0 -23
- data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +0 -38
- data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +0 -103
- data/lib/metanorma/iso_document/metadata/iso_document_id.rb +0 -46
- data/lib/metanorma/iso_document/metadata/iso_document_stage_codes.rb +0 -26
- data/lib/metanorma/iso_document/metadata/iso_document_status.rb +0 -26
- data/lib/metanorma/iso_document/metadata/iso_document_substage_codes.rb +0 -26
- data/lib/metanorma/iso_document/metadata/iso_document_type.rb +0 -25
- data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +0 -61
- data/lib/metanorma/iso_document/metadata/iso_project_group.rb +0 -32
- data/lib/metanorma/iso_document/metadata/iso_sub_group.rb +0 -38
- data/lib/metanorma/iso_document/metadata/language_element.rb +0 -18
- data/lib/metanorma/iso_document/metadata/metanorma_extension.rb +0 -9
- 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/metadata/structured_identifier.rb +0 -16
- data/lib/metanorma/iso_document/metadata/title_amd.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_amendment_prefix.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_collection.rb +0 -47
- data/lib/metanorma/iso_document/metadata/title_full.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_intro.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_main.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_part.rb +0 -12
- data/lib/metanorma/iso_document/metadata/title_part_prefix.rb +0 -12
- data/lib/metanorma/iso_document/metadata.rb +0 -44
- data/lib/metanorma/iso_document/root.rb +0 -26
- data/lib/metanorma/iso_document/sections/colophon.rb +0 -3
- data/lib/metanorma/iso_document/sections/iso_abstract_section.rb +0 -15
- data/lib/metanorma/iso_document/sections/iso_amendment_clause.rb +0 -24
- data/lib/metanorma/iso_document/sections/iso_annex_section.rb +0 -50
- data/lib/metanorma/iso_document/sections/iso_clause_section.rb +0 -49
- data/lib/metanorma/iso_document/sections/iso_foreword_section.rb +0 -33
- data/lib/metanorma/iso_document/sections/iso_preface.rb +0 -51
- data/lib/metanorma/iso_document/sections/iso_sections.rb +0 -51
- data/lib/metanorma/iso_document/sections/iso_terms_section.rb +0 -76
- data/lib/metanorma/iso_document/sections.rb +0 -17
- data/lib/metanorma/iso_document/terms/iso_term.rb +0 -71
- data/lib/metanorma/iso_document/terms/iso_term_collection.rb +0 -20
- data/lib/metanorma/iso_document/terms/term_definition.rb +0 -30
- data/lib/metanorma/iso_document/terms/term_designation.rb +0 -44
- data/lib/metanorma/iso_document/terms/term_domain_element.rb +0 -18
- data/lib/metanorma/iso_document/terms/term_example.rb +0 -40
- data/lib/metanorma/iso_document/terms/term_expression.rb +0 -10
- data/lib/metanorma/iso_document/terms/term_note.rb +0 -42
- data/lib/metanorma/iso_document/terms/term_origin.rb +0 -4
- data/lib/metanorma/iso_document/terms/term_source.rb +0 -21
- data/lib/metanorma/iso_document/terms/verbal_definition.rb +0 -42
- data/lib/metanorma/iso_document/terms.rb +0 -21
- data/lib/metanorma/iso_document.rb +0 -15
- data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +0 -26
- data/lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb +0 -21
- data/lib/metanorma/itu_document/metadata/itu_series.rb +0 -22
- data/lib/metanorma/itu_document/metadata/itu_structured_identifier.rb +0 -23
- 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/itu_document/metadata.rb +0 -18
- data/lib/metanorma/itu_document/root.rb +0 -25
- data/lib/metanorma/itu_document.rb +0 -8
- data/lib/metanorma/jis_document/metadata/jis_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/jis_document/metadata/jis_bibliographic_item.rb +0 -15
- data/lib/metanorma/jis_document/metadata.rb +0 -12
- data/lib/metanorma/jis_document/root.rb +0 -29
- data/lib/metanorma/jis_document/sections/jis_annex_section.rb +0 -20
- data/lib/metanorma/jis_document/sections.rb +0 -9
- data/lib/metanorma/jis_document.rb +0 -11
- data/lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb +0 -15
- data/lib/metanorma/m3d_document/metadata.rb +0 -12
- data/lib/metanorma/m3d_document/root.rb +0 -29
- data/lib/metanorma/m3d_document.rb +0 -10
- data/lib/metanorma/mirror/default_registry.rb +0 -191
- 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/catalog.rb +0 -52
- data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +0 -158
- data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +0 -116
- data/lib/metanorma/mirror/handlers/inline.rb +0 -226
- 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/model/container.rb +0 -47
- data/lib/metanorma/mirror/model/factory.rb +0 -52
- data/lib/metanorma/mirror/model/guide.rb +0 -26
- 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 -142
- data/lib/metanorma/mirror/output/formats.rb +0 -53
- data/lib/metanorma/mirror/output/pipeline.rb +0 -93
- data/lib/metanorma/mirror/output/pipeline_context.rb +0 -22
- data/lib/metanorma/mirror/output.rb +0 -12
- data/lib/metanorma/mirror/rewriter.rb +0 -123
- 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 -110
- data/lib/metanorma/mirror.rb +0 -31
- data/lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/nist_document/metadata/nist_bibliographic_item.rb +0 -15
- data/lib/metanorma/nist_document/metadata.rb +0 -12
- data/lib/metanorma/nist_document/root.rb +0 -29
- data/lib/metanorma/nist_document/sections/errata.rb +0 -16
- data/lib/metanorma/nist_document/sections/errata_clause.rb +0 -20
- data/lib/metanorma/nist_document/sections/errata_row.rb +0 -22
- data/lib/metanorma/nist_document/sections/nist_preface.rb +0 -30
- data/lib/metanorma/nist_document/sections.rb +0 -12
- data/lib/metanorma/nist_document.rb +0 -11
- data/lib/metanorma/ogc_document/metadata/ogc_bib_data_extension_type.rb +0 -12
- data/lib/metanorma/ogc_document/metadata/ogc_bibliographic_item.rb +0 -19
- data/lib/metanorma/ogc_document/metadata.rb +0 -12
- data/lib/metanorma/ogc_document/root.rb +0 -25
- data/lib/metanorma/ogc_document.rb +0 -8
- data/lib/metanorma/plateau_document/metadata/plateau_bibliographic_item.rb +0 -13
- data/lib/metanorma/plateau_document/metadata.rb +0 -10
- data/lib/metanorma/plateau_document/root.rb +0 -29
- data/lib/metanorma/plateau_document.rb +0 -10
- data/lib/metanorma/registers/setup.rb +0 -166
- data/lib/metanorma/registers.rb +0 -7
- data/lib/metanorma/ribose_document/metadata/ribose_bib_data_extension_type.rb +0 -20
- data/lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb +0 -18
- data/lib/metanorma/ribose_document/metadata.rb +0 -12
- data/lib/metanorma/ribose_document/root.rb +0 -26
- data/lib/metanorma/ribose_document.rb +0 -8
- data/lib/metanorma/standard_document/annotation_container.rb +0 -39
- data/lib/metanorma/standard_document/block_attributes.rb +0 -281
- data/lib/metanorma/standard_document/blocks/amend_block.rb +0 -50
- data/lib/metanorma/standard_document/blocks/amend_content_block.rb +0 -35
- data/lib/metanorma/standard_document/blocks/auto_number.rb +0 -20
- data/lib/metanorma/standard_document/blocks/block_source.rb +0 -22
- data/lib/metanorma/standard_document/blocks/change_type.rb +0 -21
- data/lib/metanorma/standard_document/blocks/element_name.rb +0 -22
- data/lib/metanorma/standard_document/blocks/form.rb +0 -38
- data/lib/metanorma/standard_document/blocks/image_map_area_type.rb +0 -24
- data/lib/metanorma/standard_document/blocks/image_map_area_type_type.rb +0 -21
- data/lib/metanorma/standard_document/blocks/image_map_block.rb +0 -32
- data/lib/metanorma/standard_document/blocks/image_map_coords.rb +0 -19
- data/lib/metanorma/standard_document/blocks/image_map_radius.rb +0 -19
- data/lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb +0 -21
- data/lib/metanorma/standard_document/blocks/passthrough.rb +0 -3
- data/lib/metanorma/standard_document/blocks/requirement_model.rb +0 -20
- data/lib/metanorma/standard_document/blocks/source_origin_element.rb +0 -23
- data/lib/metanorma/standard_document/blocks/standard_admonition_block.rb +0 -32
- data/lib/metanorma/standard_document/blocks/standard_block.rb +0 -28
- data/lib/metanorma/standard_document/blocks/standard_block_no_notes.rb +0 -34
- data/lib/metanorma/standard_document/blocks/standard_example_block.rb +0 -30
- data/lib/metanorma/standard_document/blocks/standard_figure_block.rb +0 -32
- data/lib/metanorma/standard_document/blocks/standard_formula_block.rb +0 -30
- data/lib/metanorma/standard_document/blocks/standard_note_block.rb +0 -64
- data/lib/metanorma/standard_document/blocks/standard_paragraph_block.rb +0 -25
- data/lib/metanorma/standard_document/blocks/standard_quote_block.rb +0 -29
- data/lib/metanorma/standard_document/blocks/standard_sourcecode_block.rb +0 -32
- data/lib/metanorma/standard_document/blocks/standard_table_block.rb +0 -39
- data/lib/metanorma/standard_document/blocks/svg_map_block.rb +0 -23
- data/lib/metanorma/standard_document/blocks/svg_target_type.rb +0 -20
- data/lib/metanorma/standard_document/blocks/table_col.rb +0 -16
- data/lib/metanorma/standard_document/blocks/to_c.rb +0 -17
- data/lib/metanorma/standard_document/blocks.rb +0 -60
- data/lib/metanorma/standard_document/boilerplate.rb +0 -32
- data/lib/metanorma/standard_document/elements/add.rb +0 -3
- data/lib/metanorma/standard_document/elements/del.rb +0 -3
- data/lib/metanorma/standard_document/elements/form_input.rb +0 -27
- data/lib/metanorma/standard_document/elements/input.rb +0 -12
- data/lib/metanorma/standard_document/elements/input_type.rb +0 -27
- data/lib/metanorma/standard_document/elements/label.rb +0 -19
- data/lib/metanorma/standard_document/elements/option.rb +0 -27
- data/lib/metanorma/standard_document/elements/orientation_type.rb +0 -27
- data/lib/metanorma/standard_document/elements/select.rb +0 -32
- data/lib/metanorma/standard_document/elements/standard_page_break_element.rb +0 -22
- data/lib/metanorma/standard_document/elements/textarea.rb +0 -25
- data/lib/metanorma/standard_document/elements.rb +0 -20
- data/lib/metanorma/standard_document/lists/standard_definition.rb +0 -24
- data/lib/metanorma/standard_document/lists/standard_definition_list.rb +0 -30
- data/lib/metanorma/standard_document/lists/standard_definition_term.rb +0 -27
- data/lib/metanorma/standard_document/lists/standard_unordered_list.rb +0 -28
- data/lib/metanorma/standard_document/lists/unordered_checkable_list_item.rb +0 -26
- data/lib/metanorma/standard_document/lists.rb +0 -17
- data/lib/metanorma/standard_document/metadata/editorial_group_type.rb +0 -25
- data/lib/metanorma/standard_document/metadata/ics_type.rb +0 -26
- data/lib/metanorma/standard_document/metadata/metanorma_extension.rb +0 -26
- data/lib/metanorma/standard_document/metadata/presentation_metadata.rb +0 -107
- data/lib/metanorma/standard_document/metadata/semantic_metadata.rb +0 -18
- data/lib/metanorma/standard_document/metadata/standard_bib_data.rb +0 -25
- data/lib/metanorma/standard_document/metadata/standard_bib_data_extension_type.rb +0 -37
- data/lib/metanorma/standard_document/metadata/structured_identifier_type.rb +0 -48
- data/lib/metanorma/standard_document/metadata/technical_committee_type.rb +0 -27
- data/lib/metanorma/standard_document/metadata/unitsml/amount_of_substance.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/base_quantity.rb +0 -34
- data/lib/metanorma/standard_document/metadata/unitsml/dimension.rb +0 -39
- data/lib/metanorma/standard_document/metadata/unitsml/dimension_set.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/electric_current.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/enumerated_root_unit.rb +0 -23
- data/lib/metanorma/standard_document/metadata/unitsml/length.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/luminous_intensity.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/mass.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/namespace.rb +0 -17
- data/lib/metanorma/standard_document/metadata/unitsml/plane_angle.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/prefix.rb +0 -30
- data/lib/metanorma/standard_document/metadata/unitsml/prefix_name.rb +0 -21
- data/lib/metanorma/standard_document/metadata/unitsml/prefix_set.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/prefix_symbol.rb +0 -21
- data/lib/metanorma/standard_document/metadata/unitsml/quantity.rb +0 -28
- data/lib/metanorma/standard_document/metadata/unitsml/quantity_name.rb +0 -21
- data/lib/metanorma/standard_document/metadata/unitsml/quantity_set.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/root_units.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/thermodynamic_temperature.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/time.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/unit.rb +0 -32
- data/lib/metanorma/standard_document/metadata/unitsml/unit_name.rb +0 -21
- data/lib/metanorma/standard_document/metadata/unitsml/unit_set.rb +0 -19
- data/lib/metanorma/standard_document/metadata/unitsml/unit_symbol.rb +0 -36
- data/lib/metanorma/standard_document/metadata/unitsml/unit_system.rb +0 -23
- data/lib/metanorma/standard_document/metadata/unitsml/unitsml_root.rb +0 -28
- data/lib/metanorma/standard_document/metadata/unitsml.rb +0 -39
- data/lib/metanorma/standard_document/metadata.rb +0 -23
- data/lib/metanorma/standard_document/namespace.rb +0 -11
- data/lib/metanorma/standard_document/refs/reference_to_term.rb +0 -26
- data/lib/metanorma/standard_document/refs/reference_to_termbase.rb +0 -27
- data/lib/metanorma/standard_document/refs/standoc_locality_stack.rb +0 -24
- data/lib/metanorma/standard_document/refs/standoc_reference_to_citation_element.rb +0 -27
- data/lib/metanorma/standard_document/refs/standoc_reference_to_id_element.rb +0 -36
- data/lib/metanorma/standard_document/refs/xref_case_type.rb +0 -27
- data/lib/metanorma/standard_document/refs/xref_connective_type.rb +0 -27
- data/lib/metanorma/standard_document/refs/xref_target_type.rb +0 -25
- data/lib/metanorma/standard_document/refs.rb +0 -18
- data/lib/metanorma/standard_document/root.rb +0 -10
- data/lib/metanorma/standard_document/root_attributes.rb +0 -78
- data/lib/metanorma/standard_document/sections/abstract.rb +0 -19
- data/lib/metanorma/standard_document/sections/acknowledgements.rb +0 -19
- data/lib/metanorma/standard_document/sections/annex_section.rb +0 -69
- data/lib/metanorma/standard_document/sections/bibliography_section.rb +0 -20
- data/lib/metanorma/standard_document/sections/boilerplate_type.rb +0 -32
- data/lib/metanorma/standard_document/sections/clause_hierarchical_section.rb +0 -32
- data/lib/metanorma/standard_document/sections/clause_section.rb +0 -91
- data/lib/metanorma/standard_document/sections/colophon.rb +0 -16
- data/lib/metanorma/standard_document/sections/definition_section.rb +0 -72
- data/lib/metanorma/standard_document/sections/floating_section_title.rb +0 -23
- data/lib/metanorma/standard_document/sections/floating_title.rb +0 -27
- data/lib/metanorma/standard_document/sections/foreword.rb +0 -19
- data/lib/metanorma/standard_document/sections/introduction.rb +0 -20
- data/lib/metanorma/standard_document/sections/misc_container.rb +0 -31
- data/lib/metanorma/standard_document/sections/normative_type.rb +0 -29
- data/lib/metanorma/standard_document/sections/preface.rb +0 -36
- data/lib/metanorma/standard_document/sections/sections.rb +0 -47
- data/lib/metanorma/standard_document/sections/standard_content_section.rb +0 -41
- data/lib/metanorma/standard_document/sections/standard_hierarchical_section.rb +0 -30
- data/lib/metanorma/standard_document/sections/standard_references_section.rb +0 -74
- data/lib/metanorma/standard_document/sections/standard_section.rb +0 -39
- data/lib/metanorma/standard_document/sections/terms_section.rb +0 -61
- data/lib/metanorma/standard_document/sections.rb +0 -34
- data/lib/metanorma/standard_document/standard_document_type.rb +0 -15
- data/lib/metanorma/standard_document/terms/abbreviation_type.rb +0 -27
- data/lib/metanorma/standard_document/terms/concept.rb +0 -42
- data/lib/metanorma/standard_document/terms/definition_collection.rb +0 -24
- data/lib/metanorma/standard_document/terms/designation.rb +0 -31
- data/lib/metanorma/standard_document/terms/expression_designation.rb +0 -38
- data/lib/metanorma/standard_document/terms/expression_type.rb +0 -27
- data/lib/metanorma/standard_document/terms/grammar_gender.rb +0 -27
- data/lib/metanorma/standard_document/terms/grammar_info.rb +0 -36
- data/lib/metanorma/standard_document/terms/graphical_symbol_designation.rb +0 -25
- data/lib/metanorma/standard_document/terms/letter_symbol_designation.rb +0 -27
- data/lib/metanorma/standard_document/terms/non_verbal_representation.rb +0 -33
- data/lib/metanorma/standard_document/terms/related_term.rb +0 -31
- data/lib/metanorma/standard_document/terms/related_term_type.rb +0 -28
- data/lib/metanorma/standard_document/terms/term.rb +0 -66
- data/lib/metanorma/standard_document/terms/term_collection.rb +0 -24
- data/lib/metanorma/standard_document/terms/term_definition.rb +0 -29
- data/lib/metanorma/standard_document/terms/term_expression.rb +0 -20
- data/lib/metanorma/standard_document/terms/term_name_element.rb +0 -29
- data/lib/metanorma/standard_document/terms/term_source.rb +0 -29
- data/lib/metanorma/standard_document/terms/term_source_status.rb +0 -29
- data/lib/metanorma/standard_document/terms/term_source_type.rb +0 -21
- data/lib/metanorma/standard_document/terms/verbal_expression.rb +0 -35
- data/lib/metanorma/standard_document/terms.rb +0 -33
- data/lib/metanorma/standard_document.rb +0 -27
- data/lib/metanorma/un_document/blocks/un_admonition_block.rb +0 -86
- data/lib/metanorma/un_document/blocks.rb +0 -9
- data/lib/metanorma/un_document/metadata/un_bib_data_extension_type.rb +0 -10
- data/lib/metanorma/un_document/metadata/un_bibliographic_item.rb +0 -15
- data/lib/metanorma/un_document/metadata.rb +0 -12
- data/lib/metanorma/un_document/root.rb +0 -37
- data/lib/metanorma/un_document/sections/un_abstract_section.rb +0 -48
- data/lib/metanorma/un_document/sections/un_preface.rb +0 -40
- data/lib/metanorma/un_document/sections/un_sections.rb +0 -24
- data/lib/metanorma/un_document/sections.rb +0 -11
- data/lib/metanorma/un_document/un_text_element.rb +0 -116
- data/lib/metanorma/un_document.rb +0 -13
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Paragraph
|
|
7
|
-
EXTRA = { alignment: nil, keep_with_next: nil,
|
|
8
|
-
keep_with_previous: nil }.freeze
|
|
9
|
-
|
|
10
|
-
def self.call(element, context:)
|
|
11
|
-
attrs = Handlers.extract_attrs(element, extra_attrs: EXTRA)
|
|
12
|
-
content = Inline.extract_inline(element, context:)
|
|
13
|
-
|
|
14
|
-
Handlers.build_node("paragraph", attrs: attrs, content: content)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Quote
|
|
7
|
-
def self.call(element, context:)
|
|
8
|
-
attrs = Handlers.extract_attrs(element)
|
|
9
|
-
content = context.extract_blocks(element)
|
|
10
|
-
|
|
11
|
-
Handlers.build_node("quote", attrs: attrs, content: content)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Review
|
|
7
|
-
EXTRA = { date: nil, from: nil, to: nil, reviewer: nil,
|
|
8
|
-
display: nil }.freeze
|
|
9
|
-
|
|
10
|
-
def self.call(element, context:)
|
|
11
|
-
attrs = Handlers.extract_attrs(element, extra_attrs: EXTRA)
|
|
12
|
-
content = context.extract_blocks(element)
|
|
13
|
-
|
|
14
|
-
Handlers.build_node("review", attrs: attrs, content: content)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Section
|
|
7
|
-
def self.clause(element, context:)
|
|
8
|
-
attrs = section_attrs(element, context:)
|
|
9
|
-
content = context.extract_blocks(element)
|
|
10
|
-
|
|
11
|
-
Handlers.build_node("clause", attrs: attrs, content: content)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def self.annex(element, context:)
|
|
15
|
-
attrs = section_attrs(element, context:)
|
|
16
|
-
attrs[:commentary] = SafeAttr.read(element, :commentary)
|
|
17
|
-
attrs[:language] = SafeAttr.read(element, :language)
|
|
18
|
-
attrs[:script] = SafeAttr.read(element, :script)
|
|
19
|
-
|
|
20
|
-
content = context.extract_blocks(element)
|
|
21
|
-
|
|
22
|
-
Handlers.build_node("annex", attrs: attrs.compact, content: content)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def self.content_section(element, context:)
|
|
26
|
-
attrs = section_attrs(element, context:)
|
|
27
|
-
content = context.extract_blocks(element)
|
|
28
|
-
|
|
29
|
-
subsection = SafeAttr.read(element, :subsection)
|
|
30
|
-
subsection&.each do |sub|
|
|
31
|
-
result = context.registry.handle(sub, context: context)
|
|
32
|
-
result.append_to(content)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
Handlers.build_node("content_section", attrs: attrs, content: content)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def self.terms(element, context:)
|
|
39
|
-
attrs = section_attrs(element, context:)
|
|
40
|
-
content = context.extract_named_collections(element,
|
|
41
|
-
%i[p term dl example
|
|
42
|
-
admonition])
|
|
43
|
-
children = context.extract_section_children(element)
|
|
44
|
-
|
|
45
|
-
Handlers.build_node("terms", attrs: attrs,
|
|
46
|
-
content: content + children)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def self.definitions(element, context:)
|
|
50
|
-
attrs = section_attrs(element, context:)
|
|
51
|
-
content = context.extract_blocks(element)
|
|
52
|
-
|
|
53
|
-
Handlers.build_node("definitions", attrs: attrs, content: content)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def self.references(element, context:)
|
|
57
|
-
attrs = section_attrs(element, context:)
|
|
58
|
-
attrs[:normative] = SafeAttr.read(element, :normative)
|
|
59
|
-
attrs[:hidden] = SafeAttr.read(element, :hidden)
|
|
60
|
-
|
|
61
|
-
# Prefatory paragraphs (e.g. "The following documents are referred to...")
|
|
62
|
-
content = context.extract_named_collections(element,
|
|
63
|
-
%i[p])
|
|
64
|
-
|
|
65
|
-
# Bibliographic items
|
|
66
|
-
refs = SafeAttr.read(element, :references)
|
|
67
|
-
refs&.each do |ref|
|
|
68
|
-
text = extract_biblio_text(ref)
|
|
69
|
-
next if text.strip.empty?
|
|
70
|
-
|
|
71
|
-
content << Handlers.build_node("paragraph",
|
|
72
|
-
attrs: { id: SafeAttr.read(ref,
|
|
73
|
-
:id) }.compact,
|
|
74
|
-
content: [context.text_node(text)])
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
Handlers.build_node("references", attrs: attrs, content: content)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def self.extract_biblio_text(ref)
|
|
81
|
-
parts = []
|
|
82
|
-
|
|
83
|
-
tag = SafeAttr.read(ref, :biblio_tag)
|
|
84
|
-
if tag
|
|
85
|
-
tag_text = Inline.extract_formatted_text(tag).strip
|
|
86
|
-
parts << tag_text unless tag_text.empty?
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
formatted = SafeAttr.read(ref, :formatted_ref)
|
|
90
|
-
if formatted
|
|
91
|
-
fmt_text = Inline.extract_formatted_text(formatted).strip
|
|
92
|
-
parts << fmt_text unless fmt_text.empty?
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
return parts.join(" ") unless parts.empty?
|
|
96
|
-
|
|
97
|
-
docid = SafeAttr.read(ref, :docidentifier)
|
|
98
|
-
if docid
|
|
99
|
-
text = Inline.extract_formatted_text(docid)
|
|
100
|
-
return text unless text.strip.empty?
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
""
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
def self.floating_title(element, context:)
|
|
107
|
-
attrs = {}
|
|
108
|
-
attrs[:id] = context.id_strategy.assign_id(element)
|
|
109
|
-
attrs[:depth] = SafeAttr.read(element, :depth)
|
|
110
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
111
|
-
|
|
112
|
-
title = extract_title(element)
|
|
113
|
-
attrs[:title] = title if title
|
|
114
|
-
|
|
115
|
-
Handlers.build_node("floating_title", attrs: attrs.compact)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def self.section_attrs(element, context:)
|
|
119
|
-
attrs = {}
|
|
120
|
-
attrs[:id] = context.id_strategy.assign_id(element)
|
|
121
|
-
attrs[:number] = SafeAttr.read(element, :number)
|
|
122
|
-
attrs[:obligation] = SafeAttr.read(element, :obligation)
|
|
123
|
-
attrs[:unnumbered] = SafeAttr.read(element, :unnumbered)
|
|
124
|
-
attrs[:toc] = SafeAttr.read(element, :toc)
|
|
125
|
-
attrs[:type] = SafeAttr.read(element, :type)
|
|
126
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
127
|
-
attrs[:autonum] = SafeAttr.read(element, :autonum)
|
|
128
|
-
attrs[:displayorder] = SafeAttr.read(element, :displayorder)
|
|
129
|
-
|
|
130
|
-
title = extract_title(element)
|
|
131
|
-
attrs[:title] = title if title
|
|
132
|
-
attrs.compact
|
|
133
|
-
end
|
|
134
|
-
|
|
135
|
-
def self.extract_title(element)
|
|
136
|
-
title = SafeAttr.read(element, :title)
|
|
137
|
-
return nil unless title
|
|
138
|
-
|
|
139
|
-
case title
|
|
140
|
-
when String then title
|
|
141
|
-
else
|
|
142
|
-
rich = Inline.extract_rich_html(title)
|
|
143
|
-
rich.empty? ? Inline.extract_element_text(title) : rich
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
end
|
|
147
|
-
end
|
|
148
|
-
end
|
|
149
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Sourcecode
|
|
7
|
-
EXTRA = { language: :lang, filename: nil, linenums: nil }.freeze
|
|
8
|
-
|
|
9
|
-
def self.call(element, context:)
|
|
10
|
-
attrs = Handlers.extract_attrs(element, extra_attrs: EXTRA)
|
|
11
|
-
|
|
12
|
-
body = SafeAttr.read(element, :body)
|
|
13
|
-
text = if body
|
|
14
|
-
body.decoded_content
|
|
15
|
-
elsif SafeAttr.read(element, :content).is_a?(String)
|
|
16
|
-
SafeAttr.read(element, :content)
|
|
17
|
-
else
|
|
18
|
-
""
|
|
19
|
-
end
|
|
20
|
-
attrs[:text] = text
|
|
21
|
-
|
|
22
|
-
Handlers.build_node("sourcecode", attrs: attrs.compact)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Structural
|
|
7
|
-
def self.preface(element, context:)
|
|
8
|
-
attrs = {}
|
|
9
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
10
|
-
attrs[:displayorder] = SafeAttr.read(element, :displayorder)
|
|
11
|
-
|
|
12
|
-
content = []
|
|
13
|
-
%i[abstract foreword introduction acknowledgements
|
|
14
|
-
executivesummary].each do |attr|
|
|
15
|
-
child = SafeAttr.read(element, attr)
|
|
16
|
-
next unless child
|
|
17
|
-
|
|
18
|
-
result = context.registry.handle(child, context: context)
|
|
19
|
-
result.append_to(content)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
element_content = SafeAttr.read(element, :content)
|
|
23
|
-
Array(element_content).each do |child|
|
|
24
|
-
result = context.registry.handle(child, context: context)
|
|
25
|
-
result.append_to(content)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
Handlers.build_node("preface", attrs: attrs.compact, content: content)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def self.sections(element, context:)
|
|
32
|
-
attrs = {}
|
|
33
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
34
|
-
attrs[:displayorder] = SafeAttr.read(element, :displayorder)
|
|
35
|
-
|
|
36
|
-
content = []
|
|
37
|
-
%i[clause terms definitions references floating_title].each do |attr|
|
|
38
|
-
collection = SafeAttr.read(element, attr)
|
|
39
|
-
next unless collection
|
|
40
|
-
|
|
41
|
-
Array(collection).each do |child|
|
|
42
|
-
result = context.registry.handle(child, context: context)
|
|
43
|
-
result.append_to(content)
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
Handlers.build_node("sections", attrs: attrs.compact,
|
|
48
|
-
content: content)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def self.bibliography(element, context:)
|
|
52
|
-
attrs = {}
|
|
53
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
54
|
-
|
|
55
|
-
content = []
|
|
56
|
-
refs = SafeAttr.read(element, :references)
|
|
57
|
-
Array(refs).each do |ref|
|
|
58
|
-
result = context.registry.handle(ref, context: context)
|
|
59
|
-
result.append_to(content)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
Handlers.build_node("bibliography", attrs: attrs.compact,
|
|
63
|
-
content: content)
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Table
|
|
7
|
-
def self.call(element, context:)
|
|
8
|
-
attrs = table_attrs(element)
|
|
9
|
-
content = []
|
|
10
|
-
|
|
11
|
-
thead = SafeAttr.read(element, :thead)
|
|
12
|
-
if thead
|
|
13
|
-
rows = extract_rows(thead, context:)
|
|
14
|
-
unless rows.empty?
|
|
15
|
-
content << Handlers.build_node("table_head",
|
|
16
|
-
content: rows)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
tbody = SafeAttr.read(element, :tbody)
|
|
21
|
-
if tbody
|
|
22
|
-
rows = extract_rows(tbody, context:)
|
|
23
|
-
unless rows.empty?
|
|
24
|
-
content << Handlers.build_node("table_body",
|
|
25
|
-
content: rows)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
tfoot = SafeAttr.read(element, :tfoot)
|
|
30
|
-
if tfoot
|
|
31
|
-
rows = extract_rows(tfoot, context:)
|
|
32
|
-
unless rows.empty?
|
|
33
|
-
content << Handlers.build_node("table_foot",
|
|
34
|
-
content: rows)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
Handlers.build_node("table", attrs: attrs, content: content)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def self.extract_rows(table_section, context:)
|
|
42
|
-
Array(table_section.tr).map do |tr|
|
|
43
|
-
cells = Array(tr.td).map { |td| build_cell(td, context:) }
|
|
44
|
-
Array(tr.th).each { |th| cells << build_cell(th, context:) }
|
|
45
|
-
|
|
46
|
-
row_attrs = {}
|
|
47
|
-
row_attrs[:id] = SafeAttr.read(tr, :id)
|
|
48
|
-
Handlers.build_node("table_row", attrs: row_attrs.compact,
|
|
49
|
-
content: cells)
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def self.build_cell(cell, context:)
|
|
54
|
-
attrs = {}
|
|
55
|
-
attrs[:colspan] = SafeAttr.read(cell, :colspan)
|
|
56
|
-
attrs[:rowspan] = SafeAttr.read(cell, :rowspan)
|
|
57
|
-
attrs[:align] = SafeAttr.read(cell, :align)
|
|
58
|
-
attrs[:valign] = SafeAttr.read(cell, :valign)
|
|
59
|
-
|
|
60
|
-
content = Inline.extract_inline(cell, context:)
|
|
61
|
-
|
|
62
|
-
Handlers.build_node("table_cell", attrs: attrs.compact,
|
|
63
|
-
content: content)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def self.table_attrs(element)
|
|
67
|
-
attrs = {}
|
|
68
|
-
attrs[:id] = SafeAttr.read(element, :id)
|
|
69
|
-
attrs[:width] = SafeAttr.read(element, :width)
|
|
70
|
-
attrs[:align] = SafeAttr.read(element, :align)
|
|
71
|
-
attrs[:unnumbered] = SafeAttr.read(element, :unnumbered)
|
|
72
|
-
attrs[:semx_id] = SafeAttr.read(element, :semx_id)
|
|
73
|
-
|
|
74
|
-
name = SafeAttr.read(element, :name)
|
|
75
|
-
attrs[:title] = Handlers.extract_name_text(name) if name
|
|
76
|
-
attrs.compact
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
module Term
|
|
7
|
-
def self.call(element, context:)
|
|
8
|
-
attrs = {}
|
|
9
|
-
attrs[:id] = SafeAttr.read(element, :id)
|
|
10
|
-
attrs[:anchor] = SafeAttr.read(element, :anchor)
|
|
11
|
-
|
|
12
|
-
fmt_name = SafeAttr.read(element, :fmt_name)
|
|
13
|
-
if fmt_name
|
|
14
|
-
number = Inline.extract_formatted_text(fmt_name)
|
|
15
|
-
attrs[:number] = number unless number.empty?
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
content = []
|
|
19
|
-
|
|
20
|
-
# Term name from fmt_preferred paragraphs
|
|
21
|
-
extract_fmt_paragraphs(element, :fmt_preferred, content, context)
|
|
22
|
-
|
|
23
|
-
# Definition from fmt_definition → semx → p
|
|
24
|
-
fmt_def = SafeAttr.read(element, :fmt_definition)
|
|
25
|
-
if fmt_def
|
|
26
|
-
extract_semx_paragraphs(fmt_def, content, context)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
# Source from fmt_termsource
|
|
30
|
-
fmt_ts_list = SafeAttr.read(element, :fmt_termsource)
|
|
31
|
-
if fmt_ts_list && !fmt_ts_list.empty?
|
|
32
|
-
source_text = Inline.extract_formatted_text(fmt_ts_list.first)
|
|
33
|
-
unless source_text.empty?
|
|
34
|
-
content << Handlers.build_node("paragraph",
|
|
35
|
-
attrs: { class: "source" },
|
|
36
|
-
content: [context.text_node(source_text)])
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# Term notes
|
|
41
|
-
SafeAttr.read(element, :termnote)&.each do |tn|
|
|
42
|
-
note_attrs = { id: SafeAttr.read(tn, :id) }
|
|
43
|
-
fn = SafeAttr.read(tn, :fmt_name)
|
|
44
|
-
if fn
|
|
45
|
-
num = Inline.extract_formatted_text(fn)
|
|
46
|
-
note_attrs[:number] = num unless num.empty?
|
|
47
|
-
end
|
|
48
|
-
note_content = context.extract_named_collections(tn, %i[p ul ol dl])
|
|
49
|
-
content << Handlers.build_node("note", attrs: note_attrs.compact,
|
|
50
|
-
content: note_content)
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# Term examples
|
|
54
|
-
SafeAttr.read(element, :termexample)&.each do |te|
|
|
55
|
-
ex_attrs = { id: SafeAttr.read(te, :id) }
|
|
56
|
-
ex_content = context.extract_named_collections(te, %i[p ul ol dl])
|
|
57
|
-
content << Handlers.build_node("example", attrs: ex_attrs.compact,
|
|
58
|
-
content: ex_content)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# Nested terms
|
|
62
|
-
SafeAttr.read(element, :term)&.each do |t|
|
|
63
|
-
result = context.registry.handle(t, context: context)
|
|
64
|
-
result.append_to(content)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
Handlers.build_node("term", attrs: attrs.compact, content: content)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def self.extract_fmt_paragraphs(element, attr_name, content, context)
|
|
71
|
-
fmt_list = SafeAttr.read(element, attr_name)
|
|
72
|
-
return unless fmt_list
|
|
73
|
-
|
|
74
|
-
fmt_list.each do |fmt_el|
|
|
75
|
-
ps = SafeAttr.read(fmt_el, :p)
|
|
76
|
-
next unless ps
|
|
77
|
-
|
|
78
|
-
ps.each do |p|
|
|
79
|
-
result = context.registry.handle(p, context: context)
|
|
80
|
-
result.append_to(content)
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
# fmt_definition wraps content in semx elements → extract p from semx
|
|
86
|
-
def self.extract_semx_paragraphs(fmt_def, content, context)
|
|
87
|
-
semx_list = SafeAttr.read(fmt_def, :semx)
|
|
88
|
-
return unless semx_list
|
|
89
|
-
|
|
90
|
-
Array(semx_list).each do |s|
|
|
91
|
-
SafeAttr.read(s, :p)&.each do |p|
|
|
92
|
-
result = context.registry.handle(p, context: context)
|
|
93
|
-
result.append_to(content)
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Metanorma
|
|
4
|
-
module Mirror
|
|
5
|
-
module Handlers
|
|
6
|
-
autoload :Paragraph, "#{__dir__}/handlers/paragraph"
|
|
7
|
-
autoload :Section, "#{__dir__}/handlers/section"
|
|
8
|
-
autoload :List, "#{__dir__}/handlers/list"
|
|
9
|
-
autoload :Table, "#{__dir__}/handlers/table"
|
|
10
|
-
autoload :Figure, "#{__dir__}/handlers/figure"
|
|
11
|
-
autoload :Sourcecode, "#{__dir__}/handlers/sourcecode"
|
|
12
|
-
autoload :Admonition, "#{__dir__}/handlers/admonition"
|
|
13
|
-
autoload :Formula, "#{__dir__}/handlers/formula"
|
|
14
|
-
autoload :Example, "#{__dir__}/handlers/example"
|
|
15
|
-
autoload :Note, "#{__dir__}/handlers/note"
|
|
16
|
-
autoload :Quote, "#{__dir__}/handlers/quote"
|
|
17
|
-
autoload :Review, "#{__dir__}/handlers/review"
|
|
18
|
-
autoload :Inline, "#{__dir__}/handlers/inline"
|
|
19
|
-
autoload :Structural, "#{__dir__}/handlers/structural"
|
|
20
|
-
autoload :Term, "#{__dir__}/handlers/term"
|
|
21
|
-
|
|
22
|
-
COMMON_ATTRS = %i[id semx_id].freeze
|
|
23
|
-
|
|
24
|
-
def self.build_node(type, attrs: {}, content: [])
|
|
25
|
-
if content.nil? || content.empty?
|
|
26
|
-
Model::Leaf.new(type: type, attrs: attrs)
|
|
27
|
-
else
|
|
28
|
-
Model::Container.new(type: type, attrs: attrs, content: content)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def self.build_text(text, marks: [])
|
|
33
|
-
Model::Text.new(text: text, marks: marks)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def self.build_mark(type, attrs: {})
|
|
37
|
-
Model::Mark.new(type: type, attrs: attrs)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def self.extract_attrs(element, extra_attrs: {})
|
|
41
|
-
attrs = {}
|
|
42
|
-
COMMON_ATTRS.each do |attr|
|
|
43
|
-
attrs[attr] = SafeAttr.read(element, attr)
|
|
44
|
-
end
|
|
45
|
-
extra_attrs.each do |attr, source_attr|
|
|
46
|
-
attrs[attr] = SafeAttr.read(element, source_attr || attr)
|
|
47
|
-
end
|
|
48
|
-
attrs.compact
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def self.extract_name_text(name)
|
|
52
|
-
Inline::TextExtractor.extract_name_text(name)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def self.extract_bibdata_title(bibdata)
|
|
56
|
-
Metadata.title_from_bibdata(bibdata)
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|