metanorma 2.1.4 → 2.2.0

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -1
  3. data/lib/metanorma/collection/collection.rb +10 -4
  4. data/lib/metanorma/collection/config/config.rb +21 -0
  5. data/lib/metanorma/collection/config/manifest.rb +4 -1
  6. data/lib/metanorma/collection/document/document.rb +2 -0
  7. data/lib/metanorma/collection/filelookup/filelookup.rb +15 -6
  8. data/lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb +4 -3
  9. data/lib/metanorma/collection/manifest/manifest.rb +7 -11
  10. data/lib/metanorma/collection/renderer/fileparse.rb +12 -39
  11. data/lib/metanorma/collection/renderer/fileprocess.rb +26 -10
  12. data/lib/metanorma/collection/renderer/navigation.rb +1 -1
  13. data/lib/metanorma/collection/renderer/renderer.rb +14 -1
  14. data/lib/metanorma/collection/renderer/utils.rb +8 -10
  15. data/lib/metanorma/collection/sectionsplit/collection.rb +1 -0
  16. data/lib/metanorma/collection/sectionsplit/sectionsplit.rb +84 -49
  17. data/lib/metanorma/collection/util/util.rb +24 -11
  18. data/lib/metanorma/collection/xrefprocess/xrefprocess.rb +2 -3
  19. data/lib/metanorma/compile/assets/icc-boilerplate.adoc +41 -0
  20. data/lib/metanorma/compile/compile.rb +148 -172
  21. data/lib/metanorma/compile/compile_options.rb +108 -82
  22. data/lib/metanorma/compile/extract.rb +76 -56
  23. data/lib/metanorma/compile/flavor.rb +54 -0
  24. data/lib/metanorma/compile/output_filename.rb +75 -0
  25. data/lib/metanorma/compile/output_filename_config.rb +27 -0
  26. data/lib/metanorma/compile/relaton_drop.rb +56 -0
  27. data/lib/metanorma/compile/render.rb +178 -0
  28. data/lib/metanorma/compile/validator.rb +26 -0
  29. data/lib/metanorma/compile/writeable.rb +12 -0
  30. data/lib/metanorma/input/asciidoc.rb +13 -6
  31. data/lib/metanorma/registry/registry.rb +11 -8
  32. data/lib/metanorma/version.rb +1 -1
  33. data/metanorma.gemspec +2 -1
  34. metadata +24 -3
  35. data/lib/metanorma/compile/compile_validate.rb +0 -68
@@ -1,3 +1,3 @@
1
1
  module Metanorma
2
- VERSION = "2.1.4".freeze
2
+ VERSION = "2.2.0".freeze
3
3
  end
data/metanorma.gemspec CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency "fontist", ">= 1.14.3"
30
30
  spec.add_runtime_dependency "htmlentities"
31
31
  spec.add_runtime_dependency "isodoc", ">= 3.0.0"
32
+ spec.add_runtime_dependency "metanorma-taste"
32
33
  spec.add_runtime_dependency "mn2pdf", "~> 2"
33
34
  spec.add_runtime_dependency "nokogiri"
34
35
 
@@ -45,7 +46,7 @@ Gem::Specification.new do |spec|
45
46
  spec.add_development_dependency "rspec", "~> 3.0"
46
47
  spec.add_development_dependency "rspec-command", "~> 1.0"
47
48
  spec.add_development_dependency "rubocop", "~> 1"
48
- spec.add_development_dependency "rubocop-performance"
49
+ spec.add_development_dependency "rubocop-performance"
49
50
  spec.add_development_dependency "sassc-embedded", "~> 1"
50
51
  spec.add_development_dependency "simplecov", "~> 0.15"
51
52
  spec.add_development_dependency "xml-c14n"
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.1.4
4
+ version: 2.2.0
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-03-04 00:00:00.000000000 Z
11
+ date: 2025-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.0.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: metanorma-taste
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: mn2pdf
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -338,10 +352,17 @@ files:
338
352
  - lib/metanorma/collection/util/disambig_files.rb
339
353
  - lib/metanorma/collection/util/util.rb
340
354
  - lib/metanorma/collection/xrefprocess/xrefprocess.rb
355
+ - lib/metanorma/compile/assets/icc-boilerplate.adoc
341
356
  - lib/metanorma/compile/compile.rb
342
357
  - lib/metanorma/compile/compile_options.rb
343
- - lib/metanorma/compile/compile_validate.rb
344
358
  - lib/metanorma/compile/extract.rb
359
+ - lib/metanorma/compile/flavor.rb
360
+ - lib/metanorma/compile/output_filename.rb
361
+ - lib/metanorma/compile/output_filename_config.rb
362
+ - lib/metanorma/compile/relaton_drop.rb
363
+ - lib/metanorma/compile/render.rb
364
+ - lib/metanorma/compile/validator.rb
365
+ - lib/metanorma/compile/writeable.rb
345
366
  - lib/metanorma/config/config.rb
346
367
  - lib/metanorma/input.rb
347
368
  - lib/metanorma/input/asciidoc.rb
@@ -1,68 +0,0 @@
1
- module Metanorma
2
- class Compile
3
- def validate_options(options)
4
- validate_type(options)
5
- validate_format(options)
6
- end
7
-
8
- def validate_type(options)
9
- unless options[:type]
10
- Util.log("[metanorma] Error: Please specify a standard type: "\
11
- "#{@registry.supported_backends}.", :fatal)
12
- end
13
- stdtype = options[:type].to_sym
14
- load_flavor(stdtype)
15
- end
16
-
17
- def validate_format(options)
18
- unless options[:format] == :asciidoc
19
- Util.log("[metanorma] Error: Only source file format currently "\
20
- "supported is 'asciidoc'.", :fatal)
21
- end
22
- end
23
-
24
- def load_flavor(stdtype)
25
- stdtype = stdtype.to_sym
26
- flavor = stdtype2flavor(stdtype)
27
- @registry.supported_backends.include? stdtype or
28
- Util.log("[metanorma] Info: Loading `#{flavor}` gem "\
29
- "for standard type `#{stdtype}`.", :info)
30
- require_flavor(flavor)
31
- @registry.supported_backends.include? stdtype or
32
- Util.log("[metanorma] Error: The `#{flavor}` gem does not "\
33
- "support the standard type #{stdtype}. Exiting.", :fatal)
34
- end
35
-
36
- def stdtype2flavor(stdtype)
37
- flavor = STDTYPE2FLAVOR[stdtype] || stdtype
38
- "metanorma-#{flavor}"
39
- end
40
-
41
- private
42
-
43
- STDTYPE2FLAVOR = {}.freeze
44
-
45
- def require_flavor(flavor)
46
- require flavor
47
- Util.log("[metanorma] Info: gem `#{flavor}` loaded.", :info)
48
- rescue LoadError => e
49
- error_log = "#{Date.today}-error.log"
50
- File.write(error_log, e)
51
-
52
- msg = <<~MSG
53
- Error: #{e.message}
54
- Metanorma has encountered an exception.
55
-
56
- If this problem persists, please report this issue at the following link:
57
-
58
- * https://github.com/metanorma/metanorma/issues/new
59
-
60
- Please attach the #{error_log} file.
61
- Your valuable feedback is very much appreciated!
62
-
63
- - The Metanorma team
64
- MSG
65
- Util.log(msg, :fatal)
66
- end
67
- end
68
- end