metanorma 2.0.0 → 2.1.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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/collection/collection.rb +43 -14
  3. data/lib/metanorma/collection/config/bibdata.rb +2 -2
  4. data/lib/metanorma/collection/config/compile_options.rb +4 -5
  5. data/lib/metanorma/collection/config/config.rb +41 -73
  6. data/lib/metanorma/collection/config/converters.rb +27 -1
  7. data/lib/metanorma/collection/config/directive.rb +9 -3
  8. data/lib/metanorma/collection/config/manifest.rb +33 -27
  9. data/lib/metanorma/collection/document/document.rb +12 -10
  10. data/lib/metanorma/collection/filelookup/filelookup.rb +25 -13
  11. data/lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb +57 -20
  12. data/lib/metanorma/collection/manifest/manifest.rb +22 -10
  13. data/lib/metanorma/collection/multilingual/multilingual.rb +660 -0
  14. data/lib/metanorma/collection/renderer/fileparse.rb +119 -104
  15. data/lib/metanorma/collection/renderer/fileprocess.rb +6 -2
  16. data/lib/metanorma/collection/renderer/navigation.rb +1 -1
  17. data/lib/metanorma/collection/renderer/render_word.rb +8 -7
  18. data/lib/metanorma/collection/renderer/renderer.rb +41 -20
  19. data/lib/metanorma/collection/renderer/svg.rb +52 -0
  20. data/lib/metanorma/collection/renderer/utils.rb +55 -18
  21. data/lib/metanorma/collection/sectionsplit/collection.rb +100 -0
  22. data/lib/metanorma/collection/sectionsplit/sectionsplit.rb +104 -101
  23. data/lib/metanorma/collection/util/util.rb +25 -10
  24. data/lib/metanorma/collection/xrefprocess/xrefprocess.rb +42 -28
  25. data/lib/metanorma/compile/compile.rb +12 -2
  26. data/lib/metanorma/compile/compile_options.rb +2 -0
  27. data/lib/metanorma/compile/compile_validate.rb +4 -4
  28. data/lib/metanorma/compile/extract.rb +2 -4
  29. data/lib/metanorma/input/asciidoc.rb +11 -30
  30. data/lib/metanorma/registry/registry.rb +2 -2
  31. data/lib/metanorma/version.rb +1 -1
  32. data/metanorma.gemspec +5 -4
  33. metadata +41 -25
  34. data/lib/metanorma/shale_monkeypatch.rb +0 -15
@@ -5,14 +5,16 @@ module Metanorma
5
5
  # xml.root["type"] = key # to force recognition of internal refs
6
6
  # bookmarks etc as new id elements introduced in Presentation XML:
7
7
  # add doc suffix
8
+ # Run on Semantic XML
8
9
  def xref_preprocess(xml, isodoc)
9
10
  @isodoc = isodoc
10
11
  key = (0...8).map { rand(65..90).chr }.join # random string
11
12
  xml.root["type"] = key
12
13
  Metanorma::Utils::anchor_attributes
13
- .each do |(tag_name, attribute_name)|
14
- ::Metanorma::Collection::Util::add_suffix_to_attributes(
15
- xml, xml.root["document_suffix"], tag_name, attribute_name, isodoc
14
+ .each do |(tag_name, attr_name)|
15
+ #tag_name == "xref" and tag_name = "fmt-xref"
16
+ ::Metanorma::Collection::Util::add_suffix_to_attrs(
17
+ xml, xml.root["document_suffix"], tag_name, attr_name, isodoc
16
18
  )
17
19
  end
18
20
  key
@@ -22,21 +24,21 @@ module Metanorma
22
24
  @isodoc.ns(xpath)
23
25
  end
24
26
 
25
- def xref_process(section, xml, key, ident, isodoc)
27
+ def xref_process(section, xml, key, ident, isodoc, presxml)
26
28
  @isodoc ||= isodoc
27
- svg_preprocess(section, Metanorma::Utils::to_ncname(ident))
28
- refs = eref_to_internal_eref(section, xml, key)
29
- refs += xref_to_internal_eref(section, xml, key)
29
+ svg_preprocess(section, Metanorma::Utils::to_ncname(ident), presxml)
30
+ refs = eref_to_internal_eref(section, xml, key, presxml)
31
+ refs += xref_to_internal_eref(section, xml, key, presxml)
30
32
  ins = new_hidden_ref(section)
31
33
  copied_refs = copy_repo_items_biblio(ins, section, xml)
32
34
  insert_indirect_biblio(ins, refs - copied_refs, key, xml)
33
35
  end
34
36
 
35
- def svg_preprocess(xml, doc_suffix)
37
+ def svg_preprocess(xml, doc_suffix, presxml)
36
38
  suffix = doc_suffix.nil? || doc_suffix.blank? ? "" : "_#{doc_suffix}"
37
39
  xml.xpath("//m:svg", "m" => "http://www.w3.org/2000/svg").each do |s|
38
40
  m = svgmap_wrap(s)
39
- svg_xrefs(s, m, suffix)
41
+ svg_xrefs(s, m, suffix, presxml)
40
42
  end
41
43
  xml
42
44
  end
@@ -48,12 +50,13 @@ module Metanorma
48
50
  svg.at("./ancestor::xmlns:svgmap")
49
51
  end
50
52
 
51
- def svg_xrefs(svg, svgmap, suffix)
53
+ def svg_xrefs(svg, svgmap, suffix, presxml)
54
+ tag = presxml ? "fmt-xref" : "xref"
52
55
  svg.xpath(".//m:a", "m" => "http://www.w3.org/2000/svg").each do |a|
53
56
  /^#/.match? a["href"] or next
54
57
  a["href"] = a["href"].sub(/^#/, "")
55
58
  svgmap << "<target href='#{a['href']}'>" \
56
- "<xref target='#{a['href']}#{suffix}'/></target>"
59
+ "<#{tag} target='#{a['href']}#{suffix}'/></target>"
57
60
  end
58
61
  end
59
62
 
@@ -65,15 +68,16 @@ module Metanorma
65
68
  "#{anchor}</referenceFrom></locality></localityStack>"
66
69
  end
67
70
 
68
- def xref_to_internal_eref(section, xml, key)
71
+ def xref_to_internal_eref(section, xml, key, presxml)
69
72
  key or return [] # no sectionsplit, no playing with xrefs
70
73
  bibitems, indirect = xref_to_internal_eref_prep(section, xml)
71
- section.xpath(ns("//xref")).each_with_object({}) do |x, m|
74
+ tag = presxml ? "fmt-xref" : "xref"
75
+ section.xpath(ns("//#{tag}")).each_with_object({}) do |x, m|
72
76
  xref_prefix_key(x, key, indirect)
73
77
  x["bibitemid"] = x["target"]
74
78
  m[x["bibitemid"]] = true
75
79
  xref_to_internal_eref_anchor(x, key, bibitems,
76
- xml.root["document_suffix"])
80
+ xml.root["document_suffix"], presxml)
77
81
  end.keys
78
82
  end
79
83
 
@@ -84,7 +88,7 @@ module Metanorma
84
88
  [bibitems, indirect_bibitems]
85
89
  end
86
90
 
87
- def xref_to_internal_eref_anchor(xref, key, bibitems, document_suffix)
91
+ def xref_to_internal_eref_anchor(xref, key, bibitems, document_suffix, presxml)
88
92
  t = xref["target"]
89
93
  if d = bibitems[t]&.at(ns("./docidentifier[@type = 'repository']"))
90
94
  m = %r{^([^/]+)}.match(d.text) and
@@ -93,7 +97,7 @@ module Metanorma
93
97
  key and t.sub!(%r{^#{key}_}, "")
94
98
  make_anchor(xref, t.sub(%r(_#{document_suffix}$), ""))
95
99
  xref.delete("target")
96
- xref.name = "eref"
100
+ xref.name = presxml ? "fmt-eref" : "eref"
97
101
  end
98
102
 
99
103
  def xref_prefix_key(xref, key, indirect)
@@ -106,30 +110,40 @@ module Metanorma
106
110
  end
107
111
  end
108
112
 
109
- def eref_to_internal_eref(section, xml, key)
110
- bibitems, indirect, bibids = eref_to_internal_eref_prep(section, xml)
111
- eref_to_internal_eref_select(section, xml, bibitems)
113
+ def select_citation_uri(bib, lang)
114
+ bib or return
115
+ url = bib.at(ns("./uri[@type = 'citation']" \
116
+ "[@language = '#{lang}']")) ||
117
+ bib.at(ns("./uri[@type = 'citation']"))
118
+ url&.text
119
+ end
120
+
121
+ def eref_to_internal_eref(section, xml, key, presxml)
122
+ bibitems, indirect, bibids, lang =
123
+ eref_to_internal_eref_prep(section, xml, presxml)
124
+ eref_to_internal_eref_select(section, xml, bibitems, presxml)
112
125
  .each_with_object([]) do |x, m|
113
- url = bibitems[x]&.at(ns("./uri[@type = 'citation']"))&.text
126
+ url = select_citation_uri(bibitems[x], lang)
114
127
  bibids[x]&.each do |e|
115
128
  e.at(ns("./localityStack | ./locality")) and next
116
- id = eref_to_internal_eref1(e, key, url, indirect) and m << id
129
+ id = eref_to_internal_eref1(e, key, url, indirect, presxml) and m << id
117
130
  end
118
131
  end
119
132
  end
120
133
 
121
- def eref_to_internal_eref_prep(section, xml)
134
+ def eref_to_internal_eref_prep(section, xml, presxml)
122
135
  bibitems = ::Metanorma::Collection::Util::gather_bibitems(xml)
123
136
  .delete_if { |_, v| internal_bib?(v) }
124
137
  indirect = ::Metanorma::Collection::Util::gather_bibitems(xml)
125
138
  .select { |_, v| indirect_bib?(v) }
126
- bibitemids = ::Metanorma::Collection::Util::gather_bibitemids(section)
127
- [bibitems, indirect, bibitemids]
139
+ bibitemids = ::Metanorma::Collection::Util::gather_bibitemids(section, presxml)
140
+ lang = xml.at(ns("//bibdata/language"))&.text || "en"
141
+ [bibitems, indirect, bibitemids, lang]
128
142
  end
129
143
 
130
- def eref_to_internal_eref1(elem, key, url, indirect)
144
+ def eref_to_internal_eref1(elem, key, url, indirect, presxml)
131
145
  if url
132
- elem.name = "link"
146
+ elem.name = presxml ? "fmt-link" : "link"
133
147
  elem["target"] = url
134
148
  nil
135
149
  elsif !indirect[elem["bibitemid"]]
@@ -152,8 +166,8 @@ module Metanorma
152
166
  elem["bibitemid"]
153
167
  end
154
168
 
155
- def eref_to_internal_eref_select(section, _xml, bibitems)
156
- refs = ::Metanorma::Collection::Util::gather_bibitemids(section).keys
169
+ def eref_to_internal_eref_select(section, _xml, bibitems, presxml)
170
+ refs = ::Metanorma::Collection::Util::gather_bibitemids(section, presxml).keys
157
171
  refs.uniq.reject do |x|
158
172
  b = bibitems[x] and (indirect_bib?(b) || internal_bib?(b))
159
173
  end
@@ -28,11 +28,12 @@ module Metanorma
28
28
  def compile(filename, options = {})
29
29
  options_process(filename, options)
30
30
  @processor = @registry.find_processor(options[:type].to_sym)
31
- extensions = get_extensions(options) or return nil
32
31
  (file, isodoc = process_input(filename, options)) or return nil
32
+ extensions = get_extensions(options) or return nil
33
33
  relaton_export(isodoc, options)
34
34
  extract(isodoc, options[:extract], options[:extract_type])
35
35
  process_exts(filename, extensions, file, isodoc, options)
36
+ ensure
36
37
  clean_exit(options)
37
38
  end
38
39
 
@@ -113,6 +114,14 @@ module Metanorma
113
114
  fnames = { xml: f.sub(/\.[^.]+$/, ".xml"), f: f,
114
115
  orig_filename: File.expand_path(filename),
115
116
  presentationxml: f.sub(/\.[^.]+$/, ".presentation.xml") }
117
+ if extensions == %i(presentation)
118
+ process_ext(:presentation, file, isodoc, fnames, options)
119
+ else
120
+ process_exts_queue(fnames, extensions, file, isodoc, options)
121
+ end
122
+ end
123
+
124
+ def process_exts_queue(fnames, extensions, file, isodoc, options)
116
125
  @queue = ::Metanorma::Util::WorkersPool
117
126
  .new(ENV["METANORMA_PARALLEL"]&.to_i || 3)
118
127
  gather_and_install_fonts(file, options.dup, extensions)
@@ -149,7 +158,8 @@ module Metanorma
149
158
  if ext == :rxl
150
159
  relaton_export(isodoc, options.merge(relaton: fnames[:out]))
151
160
  elsif options[:passthrough_presentation_xml] && ext == :presentation
152
- f = File.exist?(fnames[:f]) ? fnames[:f] : fnames[:orig_filename]
161
+ #f = File.exist?(fnames[:f]) ? fnames[:f] : fnames[:orig_filename]
162
+ f = File.exist?(fnames[:orig_filename]) ? fnames[:orig_filename] : fnames[:f]
153
163
  FileUtils.cp f, fnames[:presentationxml]
154
164
  elsif ext == :html && options[:sectionsplit]
155
165
  sectionsplit_convert(fnames[:xml], isodoc, fnames[:out],
@@ -73,6 +73,8 @@ module Metanorma
73
73
 
74
74
  def get_isodoc_options(file, options, ext)
75
75
  ret = @processor.extract_options(file)
76
+ dir = options[:filename].sub(%r(/[^/]+$), "/")
77
+ ret[:i18nyaml] &&= File.join(dir, ret[:i18nyaml])
76
78
  copy_isodoc_options_attrs(options, ret)
77
79
  font_manifest_mn2pdf(options, ret, ext)
78
80
  ret[:output_formats]&.select! do |k, _|
@@ -33,15 +33,15 @@ module Metanorma
33
33
  "support the standard type #{stdtype}. Exiting.", :fatal)
34
34
  end
35
35
 
36
- private
37
-
38
- STDTYPE2FLAVOR = {}.freeze
39
-
40
36
  def stdtype2flavor(stdtype)
41
37
  flavor = STDTYPE2FLAVOR[stdtype] || stdtype
42
38
  "metanorma-#{flavor}"
43
39
  end
44
40
 
41
+ private
42
+
43
+ STDTYPE2FLAVOR = {}.freeze
44
+
45
45
  def require_flavor(flavor)
46
46
  require flavor
47
47
  Util.log("[metanorma] Info: gem `#{flavor}` loaded.", :info)
@@ -1,8 +1,7 @@
1
1
  module Metanorma
2
2
  class Compile
3
3
  def relaton_export(isodoc, options)
4
- return unless options[:relaton]
5
-
4
+ options[:relaton] or return
6
5
  xml = Nokogiri::XML(isodoc, &:huge)
7
6
  bibdata = xml.at("//bibdata") || xml.at("//xmlns:bibdata")
8
7
  # docid = bibdata&.at("./xmlns:docidentifier")&.text || options[:filename]
@@ -18,8 +17,7 @@ module Metanorma
18
17
  end
19
18
 
20
19
  def extract(isodoc, dirname, extract_types)
21
- return unless dirname
22
-
20
+ dirname or return
23
21
  extract_types.nil? || extract_types.empty? and
24
22
  extract_types = %i[sourcecode image requirement]
25
23
  FileUtils.rm_rf dirname
@@ -10,39 +10,20 @@ module Metanorma
10
10
  novalid: options[:novalid],
11
11
  attributes: ["nodoc", "stem", "docfile=#{filename}",
12
12
  "output_dir=#{options[:output_dir]}"] }
13
- unless asciidoctor_validate(file, filename, out_opts)
14
- warn "Cannot continue compiling Asciidoctor document"
15
- abort
16
- end
17
13
  ::Asciidoctor.convert(file, out_opts)
18
14
  end
19
15
 
20
- def asciidoctor_validate(file, filename, options)
21
- err = nil
22
- begin
23
- previous_stderr = $stderr
24
- $stderr = StringIO.new
25
- ::Asciidoctor.load(file, options)
26
- %r{(\n|^)asciidoctor: ERROR: ['"]?#{Regexp.escape(filename ||
27
- '<empty>')}['"]?: line \d+: include file not found: }
28
- .match($stderr.string) and err = $stderr.string
29
- ensure
30
- $stderr = previous_stderr
31
- end
32
- warn err unless err.nil?
33
- err.nil?
34
- end
35
-
36
16
  def extract_metanorma_options(file)
37
- headerextract = file.sub(/\n\n.*$/m, "\n")
38
- /\n:mn-document-class:\s+(?<type>\S[^\n]*)\n/ =~ headerextract
39
- /\n:mn-output-extensions:\s+(?<extensions>\S[^\n]*)\n/ =~ headerextract
40
- /\n:mn-relaton-output-file:\s+(?<relaton>\S[^\n]*)\n/ =~ headerextract
41
- /\n(?<asciimath>:mn-keep-asciimath:[^\n]*)\n/ =~ headerextract
42
- /\n(?<novalid>:novalid:[^\n]*)\n/ =~ headerextract
43
- asciimath = if defined?(asciimath)
44
- !asciimath.nil? && asciimath != ":mn-keep-asciimath: false"
45
- end
17
+ hdr = file.sub(/\n\n.*$/m, "\n")
18
+ /\n:(?:mn-)?(?:document-class|flavor):\s+(?<type>\S[^\n]*)\n/ =~ hdr
19
+ /\n:(?:mn-)?output-extensions:\s+(?<extensions>\S[^\n]*)\n/ =~ hdr
20
+ /\n:(?:mn-)?relaton-output-file:\s+(?<relaton>\S[^\n]*)\n/ =~ hdr
21
+ /\n(?<asciimath>:(?:mn-)?keep-asciimath:[^\n]*)\n/ =~ hdr
22
+ /\n(?<novalid>:novalid:[^\n]*)\n/ =~ hdr
23
+ if defined?(asciimath)
24
+ asciimath =
25
+ !asciimath.nil? && !/keep-asciimath: false/.match?(asciimath)
26
+ end
46
27
  asciimath = nil if asciimath == false
47
28
  {
48
29
  type: defined?(type) ? type&.strip : nil,
@@ -82,7 +63,7 @@ module Metanorma
82
63
  toc-tables toc-recommendations).freeze
83
64
 
84
65
  def attr_name_normalise(name)
85
- name.gsub("-", "").sub(/override$/, "_override").sub(/pdf$/, "_pdf")
66
+ name.delete("-").sub(/override$/, "_override").sub(/pdf$/, "_pdf")
86
67
  .to_sym
87
68
  end
88
69
 
@@ -16,8 +16,8 @@ module Metanorma
16
16
  @aliases = { csd: :cc, m3d: :m3aawg, mpfd: :mpfa, csand: :csa }
17
17
  end
18
18
 
19
- def alias(x)
20
- @aliases[x]
19
+ def alias(flavour)
20
+ @aliases[flavour]
21
21
  end
22
22
 
23
23
  def register(processor)
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "2.0.0".freeze
2
+ VERSION = "2.1.2".freeze
3
3
  end
data/metanorma.gemspec CHANGED
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
21
21
  spec.bindir = "bin"
22
22
  # spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
- spec.required_ruby_version = ">= 2.7.0"
24
+ spec.required_ruby_version = ">= 3.1.0"
25
25
 
26
26
  spec.add_runtime_dependency "asciidoctor"
27
+ spec.add_runtime_dependency "concurrent-ruby"
27
28
  spec.add_runtime_dependency "fontist", ">= 1.14.3"
28
29
  spec.add_runtime_dependency "htmlentities"
29
- spec.add_runtime_dependency "isodoc", ">= 2.6.3"
30
- spec.add_runtime_dependency "mn2pdf", "~> 1"
30
+ spec.add_runtime_dependency "isodoc", ">= 3.0.0"
31
+ spec.add_runtime_dependency "mn2pdf", "~> 2"
31
32
  spec.add_runtime_dependency "nokogiri"
32
- spec.add_runtime_dependency "shale"
33
33
 
34
34
  # get relaton-cli to avoid circular reference with metanorma-standoc
35
35
  # spec.add_dependency "relaton-cli"
@@ -46,4 +46,5 @@ Gem::Specification.new do |spec|
46
46
  spec.add_development_dependency "rubocop", "~> 1.5.2"
47
47
  spec.add_development_dependency "sassc", "~> 2.4.0"
48
48
  spec.add_development_dependency "simplecov", "~> 0.15"
49
+ spec.add_development_dependency "xml-c14n"
49
50
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-04 00:00:00.000000000 Z
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: concurrent-ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: fontist
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +72,28 @@ dependencies:
58
72
  requirements:
59
73
  - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: 2.6.3
75
+ version: 3.0.0
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: 2.6.3
82
+ version: 3.0.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: mn2pdf
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '1'
89
+ version: '2'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1'
96
+ version: '2'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: nokogiri
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -94,20 +108,6 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: shale
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: debug
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +262,20 @@ dependencies:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0.15'
265
+ - !ruby/object:Gem::Dependency
266
+ name: xml-c14n
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
265
279
  description: Library to process any Metanorma standard.
266
280
  email:
267
281
  - open.source@ribose.com
@@ -296,12 +310,15 @@ files:
296
310
  - lib/metanorma/collection/filelookup/filelookup.rb
297
311
  - lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb
298
312
  - lib/metanorma/collection/manifest/manifest.rb
313
+ - lib/metanorma/collection/multilingual/multilingual.rb
299
314
  - lib/metanorma/collection/renderer/fileparse.rb
300
315
  - lib/metanorma/collection/renderer/fileprocess.rb
301
316
  - lib/metanorma/collection/renderer/navigation.rb
302
317
  - lib/metanorma/collection/renderer/render_word.rb
303
318
  - lib/metanorma/collection/renderer/renderer.rb
319
+ - lib/metanorma/collection/renderer/svg.rb
304
320
  - lib/metanorma/collection/renderer/utils.rb
321
+ - lib/metanorma/collection/sectionsplit/collection.rb
305
322
  - lib/metanorma/collection/sectionsplit/sectionsplit.rb
306
323
  - lib/metanorma/collection/util/disambig_files.rb
307
324
  - lib/metanorma/collection/util/util.rb
@@ -317,7 +334,6 @@ files:
317
334
  - lib/metanorma/processor.rb
318
335
  - lib/metanorma/processor/processor.rb
319
336
  - lib/metanorma/registry/registry.rb
320
- - lib/metanorma/shale_monkeypatch.rb
321
337
  - lib/metanorma/util/fontist_helper.rb
322
338
  - lib/metanorma/util/util.rb
323
339
  - lib/metanorma/util/worker_pool.rb
@@ -327,7 +343,7 @@ homepage: https://github.com/metanorma/metanorma
327
343
  licenses:
328
344
  - BSD-2-Clause
329
345
  metadata: {}
330
- post_install_message:
346
+ post_install_message:
331
347
  rdoc_options: []
332
348
  require_paths:
333
349
  - lib
@@ -335,7 +351,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
351
  requirements:
336
352
  - - ">="
337
353
  - !ruby/object:Gem::Version
338
- version: 2.7.0
354
+ version: 3.1.0
339
355
  required_rubygems_version: !ruby/object:Gem::Requirement
340
356
  requirements:
341
357
  - - ">="
@@ -343,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
343
359
  version: '0'
344
360
  requirements: []
345
361
  rubygems_version: 3.3.27
346
- signing_key:
362
+ signing_key:
347
363
  specification_version: 4
348
364
  summary: Metanorma is the standard of standards; the metanorma gem allows you to create
349
365
  any standard document type supported by Metanorma.
@@ -1,15 +0,0 @@
1
- module Shale
2
- module Adapter
3
- module Nokogiri
4
- class Node
5
- def content
6
- @node
7
- end
8
-
9
- def to_xml
10
- @node.to_xml
11
- end
12
- end
13
- end
14
- end
15
- end