metanorma 2.2.9 → 2.3.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -0
  3. data/lib/metanorma/collection/collection.rb +46 -104
  4. data/lib/metanorma/collection/config/config.rb +5 -0
  5. data/lib/metanorma/collection/config/converters.rb +1 -0
  6. data/lib/metanorma/collection/config/manifest.rb +23 -0
  7. data/lib/metanorma/collection/document/document.rb +35 -13
  8. data/lib/metanorma/collection/filelookup/base.rb +43 -0
  9. data/lib/metanorma/collection/filelookup/filelookup.rb +168 -69
  10. data/lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb +49 -10
  11. data/lib/metanorma/collection/filelookup/utils.rb +93 -0
  12. data/lib/metanorma/collection/helpers.rb +82 -0
  13. data/lib/metanorma/collection/manifest/manifest.rb +14 -3
  14. data/lib/metanorma/collection/multilingual/multilingual.rb +1 -1
  15. data/lib/metanorma/collection/renderer/filelocation.rb +162 -0
  16. data/lib/metanorma/collection/renderer/fileparse.rb +9 -6
  17. data/lib/metanorma/collection/renderer/fileprocess.rb +56 -42
  18. data/lib/metanorma/collection/renderer/navigation.rb +15 -1
  19. data/lib/metanorma/collection/renderer/render_word.rb +8 -4
  20. data/lib/metanorma/collection/renderer/renderer.rb +104 -10
  21. data/lib/metanorma/collection/renderer/svg.rb +54 -7
  22. data/lib/metanorma/collection/renderer/utils.rb +58 -22
  23. data/lib/metanorma/collection/sectionsplit/collection.rb +14 -5
  24. data/lib/metanorma/collection/sectionsplit/sectionsplit.rb +20 -7
  25. data/lib/metanorma/collection/util/disambig_files.rb +4 -5
  26. data/lib/metanorma/collection/util/util.rb +106 -6
  27. data/lib/metanorma/collection/xrefprocess/xrefprocess.rb +2 -2
  28. data/lib/metanorma/compile/compile.rb +2 -2
  29. data/lib/metanorma/compile/compile_options.rb +23 -11
  30. data/lib/metanorma/compile/flavor.rb +11 -4
  31. data/lib/metanorma/compile/render.rb +1 -0
  32. data/lib/metanorma/input/asciidoc.rb +1 -1
  33. data/lib/metanorma/util/fontist_helper.rb +5 -6
  34. data/lib/metanorma/version.rb +1 -1
  35. data/metanorma.gemspec +4 -14
  36. metadata +28 -150
@@ -7,17 +7,24 @@ module Metanorma
7
7
  # @param stdtype [Symbol] the standard type
8
8
  # @return [void]
9
9
  def load_flavor(stdtype)
10
- stdtype = stdtype.to_sym
11
- flavor = stdtype2flavor_gem(stdtype)
12
- @registry.supported_backends.include? stdtype or
10
+ new_stdtype = taste2flavor(stdtype)
11
+ flavor = stdtype2flavor_gem(new_stdtype)
12
+ @registry.supported_backends.include? new_stdtype or
13
13
  Util.log("[metanorma] Info: Loading `#{flavor}` gem "\
14
14
  "for standard type `#{stdtype}`.", :info)
15
15
  require_flavor(flavor)
16
- @registry.supported_backends.include? stdtype or
16
+ @registry.supported_backends.include? new_stdtype or
17
17
  Util.log("[metanorma] Error: The `#{flavor}` gem does not "\
18
18
  "support the standard type #{stdtype}. Exiting.", :fatal)
19
19
  end
20
20
 
21
+ def taste2flavor(stdtype)
22
+ stdtype = stdtype.to_sym
23
+ tastes = Metanorma::TasteRegister.instance.aliases
24
+ tastes[stdtype] and stdtype = tastes[stdtype].to_sym
25
+ stdtype
26
+ end
27
+
21
28
  # Convert the standard type to the flavor gem name
22
29
  # @param stdtype [Symbol] the standard type
23
30
  # @return [String] the flavor gem name
@@ -159,6 +159,7 @@ module Metanorma
159
159
  ::Metanorma::Collection::Sectionsplit.new(
160
160
  input: input_filename, isodoc: @isodoc, xml: presxml,
161
161
  base: File.basename(output_filename || filename),
162
+ sectionsplit_filename: opts[:sectionsplit_filename],
162
163
  output: output_filename || filename, dir: dir, compile_opts: opts
163
164
  ).build_collection
164
165
  end
@@ -55,7 +55,7 @@ module Metanorma
55
55
  pdf-owner-password pdf-allow-copy-content pdf-allow-edit-content
56
56
  pdf-allow-assemble-document pdf-allow-edit-annotations
57
57
  pdf-allow-print pdf-allow-print-hq pdf-allow-fill-in-forms
58
- pdf-stylesheet pdf-stylesheet-override
58
+ pdf-stylesheet pdf-stylesheet-override relaton-render-config
59
59
  fonts font-license-agreement pdf-allow-access-content
60
60
  pdf-encrypt-metadata iso-word-template document-scheme
61
61
  localize-number iso-word-bg-strip-color modspec-identifier-base)
@@ -41,14 +41,13 @@ module Metanorma
41
41
  end
42
42
 
43
43
  def fontist_install(manifest, agree, no_progress)
44
- if agree
45
- no_license_log
44
+ if agree then no_license_log
46
45
  else
47
- Fontist.log_level = :info
46
+ # Fontist.log_level = :info
47
+ # Shutting up Fontist 2.0's verbose logging of installation locations
48
+ Fontist.log_level = :fatal
48
49
  end
49
-
50
- instance = Fontist::Manifest.from_hash(manifest)
51
- instance.install(
50
+ Fontist::Manifest.from_hash(manifest).install(
52
51
  confirmation: agree ? "yes" : "no",
53
52
  no_progress: no_progress,
54
53
  ).to_hash
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "2.2.9".freeze
2
+ VERSION = "2.3.1".freeze
3
3
  end
data/metanorma.gemspec CHANGED
@@ -29,24 +29,14 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency "fontist", ">= 2.0.0"
30
30
  spec.add_runtime_dependency "htmlentities"
31
31
  spec.add_runtime_dependency "isodoc", ">= 3.0.0"
32
+ spec.add_runtime_dependency "marcel"
32
33
  spec.add_runtime_dependency "metanorma-taste", "~> 0.1.0"
33
34
  spec.add_runtime_dependency "mn2pdf", "~> 2"
34
35
  spec.add_runtime_dependency "nokogiri"
36
+ spec.add_development_dependency "canon", "= 0.1.3"
37
+ spec.add_development_dependency "metanorma-iho"
38
+ spec.add_development_dependency "metanorma-iso"
35
39
 
36
40
  # relaton-cli is required by Metanorma::Collection
37
41
  spec.add_dependency "relaton-cli"
38
-
39
- spec.add_development_dependency "debug"
40
- spec.add_development_dependency "equivalent-xml"
41
- spec.add_development_dependency "metanorma-iso", ">= 3.2.0"
42
- spec.add_development_dependency "mnconvert"
43
- spec.add_development_dependency "pry"
44
- spec.add_development_dependency "rake", "~> 13.0"
45
- spec.add_development_dependency "rspec", "~> 3.0"
46
- spec.add_development_dependency "rspec-command", "~> 1.0"
47
- spec.add_development_dependency "rubocop", "~> 1"
48
- spec.add_development_dependency "rubocop-performance"
49
- spec.add_development_dependency "sassc-embedded", "~> 1"
50
- spec.add_development_dependency "simplecov", "~> 0.15"
51
- spec.add_development_dependency "canon", "= 0.1.3"
52
42
  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.2.9
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-17 00:00:00.000000000 Z
11
+ date: 2026-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -81,49 +81,49 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.0.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: metanorma-taste
84
+ name: marcel
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.1.0
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 0.1.0
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: mn2pdf
98
+ name: metanorma-taste
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2'
103
+ version: 0.1.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2'
110
+ version: 0.1.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: nokogiri
112
+ name: mn2pdf
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '2'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '2'
125
125
  - !ruby/object:Gem::Dependency
126
- name: relaton-cli
126
+ name: nokogiri
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,21 +137,21 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: debug
140
+ name: canon
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 0.1.3
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 0.1.3
153
153
  - !ruby/object:Gem::Dependency
154
- name: equivalent-xml
154
+ name: metanorma-iho
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -166,34 +166,6 @@ dependencies:
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: metanorma-iso
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: 3.2.0
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: 3.2.0
181
- - !ruby/object:Gem::Dependency
182
- name: mnconvert
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: pry
197
169
  requirement: !ruby/object:Gem::Requirement
198
170
  requirements:
199
171
  - - ">="
@@ -207,117 +179,19 @@ dependencies:
207
179
  - !ruby/object:Gem::Version
208
180
  version: '0'
209
181
  - !ruby/object:Gem::Dependency
210
- name: rake
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '13.0'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '13.0'
223
- - !ruby/object:Gem::Dependency
224
- name: rspec
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - "~>"
228
- - !ruby/object:Gem::Version
229
- version: '3.0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - "~>"
235
- - !ruby/object:Gem::Version
236
- version: '3.0'
237
- - !ruby/object:Gem::Dependency
238
- name: rspec-command
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - "~>"
242
- - !ruby/object:Gem::Version
243
- version: '1.0'
244
- type: :development
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - "~>"
249
- - !ruby/object:Gem::Version
250
- version: '1.0'
251
- - !ruby/object:Gem::Dependency
252
- name: rubocop
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: '1'
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: '1'
265
- - !ruby/object:Gem::Dependency
266
- name: rubocop-performance
182
+ name: relaton-cli
267
183
  requirement: !ruby/object:Gem::Requirement
268
184
  requirements:
269
185
  - - ">="
270
186
  - !ruby/object:Gem::Version
271
187
  version: '0'
272
- type: :development
188
+ type: :runtime
273
189
  prerelease: false
274
190
  version_requirements: !ruby/object:Gem::Requirement
275
191
  requirements:
276
192
  - - ">="
277
193
  - !ruby/object:Gem::Version
278
194
  version: '0'
279
- - !ruby/object:Gem::Dependency
280
- name: sassc-embedded
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - "~>"
284
- - !ruby/object:Gem::Version
285
- version: '1'
286
- type: :development
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - "~>"
291
- - !ruby/object:Gem::Version
292
- version: '1'
293
- - !ruby/object:Gem::Dependency
294
- name: simplecov
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '0.15'
300
- type: :development
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - "~>"
305
- - !ruby/object:Gem::Version
306
- version: '0.15'
307
- - !ruby/object:Gem::Dependency
308
- name: canon
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - '='
312
- - !ruby/object:Gem::Version
313
- version: 0.1.3
314
- type: :development
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - '='
319
- - !ruby/object:Gem::Version
320
- version: 0.1.3
321
195
  description: Library to process any Metanorma standard.
322
196
  email:
323
197
  - open.source@ribose.com
@@ -350,11 +224,15 @@ files:
350
224
  - lib/metanorma/collection/config/directive.rb
351
225
  - lib/metanorma/collection/config/manifest.rb
352
226
  - lib/metanorma/collection/document/document.rb
227
+ - lib/metanorma/collection/filelookup/base.rb
353
228
  - lib/metanorma/collection/filelookup/filelookup.rb
354
229
  - lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb
230
+ - lib/metanorma/collection/filelookup/utils.rb
231
+ - lib/metanorma/collection/helpers.rb
355
232
  - lib/metanorma/collection/log.rb
356
233
  - lib/metanorma/collection/manifest/manifest.rb
357
234
  - lib/metanorma/collection/multilingual/multilingual.rb
235
+ - lib/metanorma/collection/renderer/filelocation.rb
358
236
  - lib/metanorma/collection/renderer/fileparse.rb
359
237
  - lib/metanorma/collection/renderer/fileprocess.rb
360
238
  - lib/metanorma/collection/renderer/navigation.rb