metanorma 2.0.0 → 2.5.5
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/.envrc +1 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +23 -2
- data/Gemfile +17 -0
- data/Gemfile.devel +10 -0
- data/README.adoc +1 -1
- data/lib/metanorma/collection/artifact_store.rb +142 -0
- data/lib/metanorma/collection/collection.rb +160 -122
- data/lib/metanorma/collection/config/bibdata.rb +3 -3
- data/lib/metanorma/collection/config/compile_options.rb +4 -5
- data/lib/metanorma/collection/config/config.rb +81 -83
- data/lib/metanorma/collection/config/converters.rb +92 -8
- data/lib/metanorma/collection/config/directive.rb +9 -3
- data/lib/metanorma/collection/config/doc_container.rb +28 -0
- data/lib/metanorma/collection/config/manifest.rb +59 -29
- data/lib/metanorma/collection/config/namespaces.rb +12 -0
- data/lib/metanorma/collection/document/document.rb +56 -15
- data/lib/metanorma/collection/filelookup/filelookup.rb +185 -77
- data/lib/metanorma/collection/filelookup/filelookup_sectionsplit.rb +99 -27
- data/lib/metanorma/collection/filelookup/utils.rb +52 -0
- data/lib/metanorma/collection/helpers.rb +82 -0
- data/lib/metanorma/collection/log.rb +24 -0
- data/lib/metanorma/collection/manifest/manifest.rb +45 -14
- data/lib/metanorma/collection/multilingual/multilingual.rb +660 -0
- data/lib/metanorma/collection/renderer/filelocation.rb +166 -0
- data/lib/metanorma/collection/renderer/fileparse.rb +135 -115
- data/lib/metanorma/collection/renderer/fileprocess.rb +185 -37
- data/lib/metanorma/collection/renderer/navigation.rb +21 -7
- data/lib/metanorma/collection/renderer/render_word.rb +15 -10
- data/lib/metanorma/collection/renderer/renderer.rb +236 -32
- data/lib/metanorma/collection/renderer/svg.rb +107 -0
- data/lib/metanorma/collection/renderer/utils.rb +110 -39
- data/lib/metanorma/collection/sectionsplit/collection.rb +110 -0
- data/lib/metanorma/collection/sectionsplit/sectionsplit.rb +198 -115
- data/lib/metanorma/collection/util/disambig_files.rb +4 -5
- data/lib/metanorma/collection/util/util.rb +155 -18
- data/lib/metanorma/collection/xrefprocess/xrefprocess.rb +47 -33
- data/lib/metanorma/compile/assets/icc-boilerplate.adoc +41 -0
- data/lib/metanorma/compile/compile.rb +181 -156
- data/lib/metanorma/compile/compile_options.rb +186 -79
- data/lib/metanorma/compile/extract.rb +75 -58
- data/lib/metanorma/compile/flavor.rb +28 -0
- data/lib/metanorma/compile/output_filename.rb +75 -0
- data/lib/metanorma/compile/output_filename_config.rb +27 -0
- data/lib/metanorma/compile/relaton_drop.rb +56 -0
- data/lib/metanorma/compile/render.rb +226 -0
- data/lib/metanorma/compile/validator.rb +26 -0
- data/lib/metanorma/compile/writeable.rb +12 -0
- data/lib/metanorma/util/fontist_helper.rb +35 -19
- data/lib/metanorma/version.rb +1 -1
- data/lib/metanorma.rb +1 -7
- data/metanorma.gemspec +15 -21
- data/plans/collection-rendering-architecture-review.md +516 -0
- metadata +65 -113
- data/.hound.yml +0 -5
- data/lib/metanorma/asciidoctor_extensions/glob_include_processor.rb +0 -22
- data/lib/metanorma/asciidoctor_extensions.rb +0 -1
- data/lib/metanorma/compile/compile_validate.rb +0 -68
- data/lib/metanorma/config/config.rb +0 -23
- data/lib/metanorma/input/asciidoc.rb +0 -107
- data/lib/metanorma/input/base.rb +0 -9
- data/lib/metanorma/input.rb +0 -7
- data/lib/metanorma/processor/processor.rb +0 -54
- data/lib/metanorma/processor.rb +0 -6
- data/lib/metanorma/registry/registry.rb +0 -63
- data/lib/metanorma/shale_monkeypatch.rb +0 -15
- data/lib/metanorma/util/util.rb +0 -45
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Registry of all Metanorma types and entry points
|
|
2
|
-
|
|
3
|
-
require "singleton"
|
|
4
|
-
|
|
5
|
-
class Error < StandardError
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
module Metanorma
|
|
9
|
-
class Registry
|
|
10
|
-
include Singleton
|
|
11
|
-
|
|
12
|
-
attr_reader :processors
|
|
13
|
-
|
|
14
|
-
def initialize
|
|
15
|
-
@processors = {}
|
|
16
|
-
@aliases = { csd: :cc, m3d: :m3aawg, mpfd: :mpfa, csand: :csa }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def alias(x)
|
|
20
|
-
@aliases[x]
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def register(processor)
|
|
24
|
-
raise Error unless processor < ::Metanorma::Processor
|
|
25
|
-
|
|
26
|
-
p = processor.new
|
|
27
|
-
# p.short[-1] is the canonical name
|
|
28
|
-
short = Array(p.short)
|
|
29
|
-
@processors[short[-1]] = p
|
|
30
|
-
short.each do |s|
|
|
31
|
-
@aliases[s] = short[-1]
|
|
32
|
-
end
|
|
33
|
-
Array(p.short)
|
|
34
|
-
Util.log("[metanorma] processor \"#{Array(p.short)[0]}\" registered",
|
|
35
|
-
:info)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def find_processor(short)
|
|
39
|
-
@processors[short.to_sym]
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def supported_backends
|
|
43
|
-
@processors.keys
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def output_formats
|
|
47
|
-
@processors.inject({}) do |acc, (k, v)|
|
|
48
|
-
acc[k] = v.output_formats
|
|
49
|
-
acc
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def root_tags
|
|
54
|
-
@processors.inject({}) do |acc, (k, v)|
|
|
55
|
-
if v.asciidoctor_backend
|
|
56
|
-
x = Asciidoctor.load nil, { backend: v.asciidoctor_backend }
|
|
57
|
-
acc[k] = x.converter.xml_root_tag
|
|
58
|
-
end
|
|
59
|
-
acc
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
data/lib/metanorma/util/util.rb
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
module Metanorma
|
|
2
|
-
module Util
|
|
3
|
-
class << self
|
|
4
|
-
def log(message, type = :info)
|
|
5
|
-
log_types = Metanorma.configuration.logs.map(&:to_s) || []
|
|
6
|
-
|
|
7
|
-
if log_types.include?(type.to_s)
|
|
8
|
-
puts(message)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
if type == :fatal
|
|
12
|
-
exit(1)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# dependency ordering
|
|
17
|
-
def sort_extensions_execution_ord(ext)
|
|
18
|
-
case ext
|
|
19
|
-
when :xml then 0
|
|
20
|
-
when :rxl then 1
|
|
21
|
-
when :presentation then 2
|
|
22
|
-
else
|
|
23
|
-
99
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def sort_extensions_execution(ext)
|
|
28
|
-
ext.sort do |a, b|
|
|
29
|
-
sort_extensions_execution_ord(a) <=> sort_extensions_execution_ord(b)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def recursive_string_keys(hash)
|
|
34
|
-
case hash
|
|
35
|
-
when Hash then hash.map do |k, v|
|
|
36
|
-
[k.to_s, recursive_string_keys(v)]
|
|
37
|
-
end.to_h
|
|
38
|
-
when Enumerable then hash.map { |v| recursive_string_keys(v) }
|
|
39
|
-
else
|
|
40
|
-
hash
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|