metanorma-standoc 1.5.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +62 -0
  3. data/lib/asciidoctor/standoc/base.rb +7 -2
  4. data/lib/asciidoctor/standoc/basicdoc.rng +23 -0
  5. data/lib/asciidoctor/standoc/cleanup.rb +32 -12
  6. data/lib/asciidoctor/standoc/cleanup_amend.rb +54 -0
  7. data/lib/asciidoctor/standoc/cleanup_block.rb +0 -2
  8. data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +14 -0
  9. data/lib/asciidoctor/standoc/cleanup_footnotes.rb +11 -3
  10. data/lib/asciidoctor/standoc/cleanup_inline.rb +62 -1
  11. data/lib/asciidoctor/standoc/cleanup_ref.rb +6 -5
  12. data/lib/asciidoctor/standoc/cleanup_section.rb +19 -3
  13. data/lib/asciidoctor/standoc/cleanup_terms.rb +2 -2
  14. data/lib/asciidoctor/standoc/converter.rb +4 -2
  15. data/lib/asciidoctor/standoc/front.rb +9 -3
  16. data/lib/asciidoctor/standoc/front_contributor.rb +58 -18
  17. data/lib/asciidoctor/standoc/inline.rb +21 -31
  18. data/lib/asciidoctor/standoc/isodoc.rng +125 -58
  19. data/lib/asciidoctor/standoc/log.rb +10 -1
  20. data/lib/asciidoctor/standoc/macros.rb +44 -33
  21. data/lib/asciidoctor/standoc/ref.rb +39 -44
  22. data/lib/asciidoctor/standoc/ref_sect.rb +12 -5
  23. data/lib/asciidoctor/standoc/section.rb +11 -10
  24. data/lib/asciidoctor/standoc/table.rb +3 -2
  25. data/lib/asciidoctor/standoc/utils.rb +2 -1
  26. data/lib/asciidoctor/standoc/validate.rb +30 -18
  27. data/lib/asciidoctor/standoc/validate_section.rb +1 -1
  28. data/lib/asciidoctor/standoc/views/datamodel/model_representation.adoc.erb +10 -10
  29. data/lib/liquid/custom_blocks/key_iterator.rb +21 -0
  30. data/lib/liquid/custom_blocks/with_json_nested_context.rb +18 -0
  31. data/lib/liquid/custom_blocks/with_yaml_nested_context.rb +19 -0
  32. data/lib/liquid/custom_filters/values.rb +7 -0
  33. data/lib/metanorma/standoc.rb +0 -5
  34. data/lib/metanorma/standoc/version.rb +20 -1
  35. data/metanorma-standoc.gemspec +4 -4
  36. data/spec/asciidoctor-standoc/base_spec.rb +248 -10
  37. data/spec/asciidoctor-standoc/blocks_spec.rb +263 -144
  38. data/spec/asciidoctor-standoc/cleanup_spec.rb +199 -50
  39. data/spec/asciidoctor-standoc/inline_spec.rb +132 -5
  40. data/spec/asciidoctor-standoc/isobib_cache_spec.rb +13 -27
  41. data/spec/asciidoctor-standoc/macros_json2text_spec.rb +10 -0
  42. data/spec/asciidoctor-standoc/macros_spec.rb +43 -23
  43. data/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +6 -561
  44. data/spec/asciidoctor-standoc/refs_dl_spec.rb +5 -3
  45. data/spec/asciidoctor-standoc/refs_spec.rb +268 -57
  46. data/spec/asciidoctor-standoc/section_spec.rb +0 -1
  47. data/spec/asciidoctor-standoc/table_spec.rb +119 -113
  48. data/spec/asciidoctor-standoc/validate_spec.rb +27 -1
  49. data/spec/examples/codes_table.html +1365 -1365
  50. data/spec/fixtures/macros_datamodel/address_class_profile.xml +46 -46
  51. data/spec/fixtures/macros_datamodel/address_component_profile.xml +21 -21
  52. data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +21 -21
  53. data/spec/spec_helper.rb +115 -109
  54. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +781 -0
  55. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +54 -238
  56. data/spec/vcr_cassettes/isobib_get_123.yml +14 -60
  57. data/spec/vcr_cassettes/isobib_get_123_1.yml +24 -116
  58. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +361 -0
  59. data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -60
  60. data/spec/vcr_cassettes/isobib_get_124.yml +11 -57
  61. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
  62. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +39 -37
  63. metadata +42 -11
  64. data/.github/workflows/macos.yml +0 -46
  65. data/.github/workflows/ubuntu.yml +0 -49
  66. data/.github/workflows/windows.yml +0 -53
  67. data/lib/asciidoctor/standoc/macros_yaml2text.rb +0 -165
  68. data/lib/metanorma/standoc/latexml_requirement.rb +0 -62
  69. data/lib/metanorma/standoc/requirement.rb +0 -13
@@ -1,62 +0,0 @@
1
- require_relative "./requirement"
2
-
3
- module Metanorma
4
- module Standoc
5
- class LatexmlRequirement < Requirement
6
- @recommended_version = '0.8.4'
7
- @minimal_version = '0.8.0'
8
-
9
- def initialize
10
- version_output, = Open3.capture2e("latexml --VERSION")
11
- version = version_output&.match(%r{\d+(.\d+)*})
12
-
13
- if version.to_s.empty?
14
- @error_message = "LaTeXML is not available. (Or is PATH not setup properly?)"\
15
- " You must upgrade/install LaTeXML to a version higher than `#{@recommended_version}`"
16
-
17
- elsif Gem::Version.new(version) < Gem::Version.new(@minimal_version)
18
- @error_message = "Minimal supported LaTeXML version is `#{@minimal_version}` "\
19
- "Version `#{version}` found; recommended version is `#{@recommended_version}`"
20
-
21
- elsif Gem::Version.new(version) < Gem::Version.new(@recommended_version)
22
- version = "unknown" if version.to_s.empty?
23
- header_msg = "latexmlmath version `#{version}` below `#{@recommended_version}`!"
24
- suggestion = if Gem.win_platform?
25
- "cmd encoding is set to UTF-8 with `chcp 65001`"
26
- else
27
- "terminal encoding is set to UTF-8 with `export LANG=en_US.UTF-8`"
28
- end
29
-
30
- @error_message = "WARNING #{header_msg} Please sure that #{suggestion} command."
31
-
32
- @cmd = 'latexmlmath --strict --preload=amsmath -- -'
33
- @cmd2 = 'latexmlmath --strict -- -'
34
- else
35
- @cmd = 'latexmlmath --strict --preload=amsmath --inputencoding=UTF-8 -- -'
36
- @cmd2 = 'latexmlmath --strict --inputencoding=UTF-8 -- -'
37
- end
38
- rescue
39
- @error_message = "LaTeXML is not available. (Or is PATH not setup properly?)"\
40
- " You must upgrade/install LaTeXML to a version higher than `#{@recommended_version}`"
41
- end
42
-
43
- def satisfied(abort = false)
44
- unless @error_message.nil?
45
- if abort
46
- abort @error_message
47
- else
48
- warn @error_message
49
- end
50
- end
51
-
52
- @error_message.nil?
53
- end
54
-
55
- def cmd
56
- abort @error_message unless @error_message.nil?
57
-
58
- [@cmd, @cmd2]
59
- end
60
- end
61
- end
62
- end
@@ -1,13 +0,0 @@
1
- module Metanorma
2
- module Standoc
3
- class Requirement
4
- def satisfied
5
- raise NotImplementedError("abstract method")
6
- end
7
-
8
- def cmd
9
- raise NotImplementedError("abstract method")
10
- end
11
- end
12
- end
13
- end