metanorma 0.2.2 → 0.2.3
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/.travis.yml +9 -2
- data/Gemfile.lock +20 -6
- data/README.adoc +1 -0
- data/exe/metanorma +28 -23
- data/lib/metanorma/input/asciidoc.rb +7 -7
- data/lib/metanorma/output/pdf.rb +0 -2
- data/lib/metanorma/processor.rb +3 -0
- data/lib/metanorma/registry.rb +3 -0
- data/lib/metanorma/version.rb +1 -1
- data/metanorma.gemspec +5 -2
- metadata +47 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99633abe164a9d72691d8b84c6f24fc55833ecba84c3488c3639c20576dd1c74
|
|
4
|
+
data.tar.gz: 4253c7ed5ef852b58323623c42b2be8ae75abae69ee2a47d7ee6b2c6d65c0117
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48593b786f081e33d578e284712f40698989269121464e4b9bab7f7a79e1fff323f97514960364a72a18c8d244f17bd1863a748f679bb046d8d079e3003e7dd1
|
|
7
|
+
data.tar.gz: fec2ed02e9f5f6016d54dc11f9e2f5709ba09f79c71a4d73dc5070a194b585fc7eac2d8f8f3641087f596e2047505bb99fce64fe3a4ff55ef9d26d79757b3e81
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
metanorma (0.2.
|
|
4
|
+
metanorma (0.2.2)
|
|
5
5
|
asciidoctor-csand (>= 0.3.0)
|
|
6
6
|
asciidoctor-csd (>= 0.4.0)
|
|
7
7
|
asciidoctor-gb (>= 0.3.0)
|
|
8
|
-
asciidoctor-iso (>= 0.9.
|
|
8
|
+
asciidoctor-iso (>= 0.9.1)
|
|
9
9
|
asciidoctor-m3d (>= 0.3.1)
|
|
10
10
|
asciidoctor-rfc (>= 0.9.0)
|
|
11
11
|
asciidoctor-rsd (>= 0.3.0)
|
|
@@ -38,7 +38,7 @@ GEM
|
|
|
38
38
|
asciidoctor-iso (>= 0.9.0)
|
|
39
39
|
isodoc (>= 0.8.0)
|
|
40
40
|
twitter_cldr
|
|
41
|
-
asciidoctor-iso (0.9.
|
|
41
|
+
asciidoctor-iso (0.9.1)
|
|
42
42
|
asciidoctor (~> 1.5.7)
|
|
43
43
|
iso-bib-item (~> 0.1.6)
|
|
44
44
|
isobib (~> 0.1.6)
|
|
@@ -63,7 +63,7 @@ GEM
|
|
|
63
63
|
nokogiri
|
|
64
64
|
ruby-jing
|
|
65
65
|
thread_safe
|
|
66
|
-
asciidoctor-rsd (0.3.
|
|
66
|
+
asciidoctor-rsd (0.3.1)
|
|
67
67
|
asciidoctor (~> 1.5.7)
|
|
68
68
|
asciidoctor-iso (>= 0.8.0)
|
|
69
69
|
asciimath
|
|
@@ -77,10 +77,13 @@ GEM
|
|
|
77
77
|
thread_safe
|
|
78
78
|
uuidtools
|
|
79
79
|
asciimath (1.0.4)
|
|
80
|
+
byebug (10.0.2)
|
|
80
81
|
camertron-eprun (1.1.1)
|
|
81
82
|
cldr-plurals-runtime-rb (1.0.1)
|
|
82
83
|
diff-lcs (1.3)
|
|
83
84
|
duplicate (1.1.1)
|
|
85
|
+
equivalent-xml (0.6.0)
|
|
86
|
+
nokogiri (>= 1.4.3)
|
|
84
87
|
ffi (1.9.25)
|
|
85
88
|
html2doc (0.8.0)
|
|
86
89
|
asciimath
|
|
@@ -94,11 +97,11 @@ GEM
|
|
|
94
97
|
htmlentities (4.3.4)
|
|
95
98
|
httpclient (2.8.3)
|
|
96
99
|
image_size (2.0.0)
|
|
97
|
-
iso-bib-item (0.1.
|
|
100
|
+
iso-bib-item (0.1.8)
|
|
98
101
|
duplicate
|
|
99
102
|
isoics (~> 0.1.6)
|
|
100
103
|
nokogiri
|
|
101
|
-
isobib (0.1.
|
|
104
|
+
isobib (0.1.7)
|
|
102
105
|
algoliasearch
|
|
103
106
|
iso-bib-item (~> 0.1.2)
|
|
104
107
|
isodoc (0.8)
|
|
@@ -121,6 +124,7 @@ GEM
|
|
|
121
124
|
mime-types-data (~> 3.2015)
|
|
122
125
|
mime-types-data (3.2016.0521)
|
|
123
126
|
mini_portile2 (2.3.0)
|
|
127
|
+
mixlib-shellout (2.3.2)
|
|
124
128
|
nokogiri (1.8.3)
|
|
125
129
|
mini_portile2 (~> 2.3.0)
|
|
126
130
|
optout (0.0.2)
|
|
@@ -133,11 +137,18 @@ GEM
|
|
|
133
137
|
rspec-core (~> 3.7.0)
|
|
134
138
|
rspec-expectations (~> 3.7.0)
|
|
135
139
|
rspec-mocks (~> 3.7.0)
|
|
140
|
+
rspec-command (1.0.3)
|
|
141
|
+
mixlib-shellout (~> 2.0)
|
|
142
|
+
rspec (~> 3.2)
|
|
143
|
+
rspec-its (~> 1.2)
|
|
136
144
|
rspec-core (3.7.1)
|
|
137
145
|
rspec-support (~> 3.7.0)
|
|
138
146
|
rspec-expectations (3.7.0)
|
|
139
147
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
140
148
|
rspec-support (~> 3.7.0)
|
|
149
|
+
rspec-its (1.2.0)
|
|
150
|
+
rspec-core (>= 3.0.0)
|
|
151
|
+
rspec-expectations (>= 3.0.0)
|
|
141
152
|
rspec-mocks (3.7.0)
|
|
142
153
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
143
154
|
rspec-support (~> 3.7.0)
|
|
@@ -164,9 +175,12 @@ PLATFORMS
|
|
|
164
175
|
|
|
165
176
|
DEPENDENCIES
|
|
166
177
|
bundler (~> 1.16)
|
|
178
|
+
byebug (~> 10.0)
|
|
179
|
+
equivalent-xml (~> 0.6)
|
|
167
180
|
metanorma!
|
|
168
181
|
rake (~> 10.0)
|
|
169
182
|
rspec (~> 3.0)
|
|
183
|
+
rspec-command (~> 1.0.3)
|
|
170
184
|
|
|
171
185
|
BUNDLED WITH
|
|
172
186
|
1.16.2
|
data/README.adoc
CHANGED
|
@@ -62,6 +62,7 @@ Usage: metanorma [options] <file>
|
|
|
62
62
|
:m3d=>{:html=>"html", :doc=>"doc"},
|
|
63
63
|
:rsd=>{:html=>"html"}
|
|
64
64
|
}
|
|
65
|
+
In addition, xml (outside of rfc2, rfc3) generates IsoDoc XML
|
|
65
66
|
-f, --format FORMAT Format of source file: asciidoc (current default, only format supported)
|
|
66
67
|
-r, --require LIBRARY Require LIBRARY prior to execution
|
|
67
68
|
-h, --help Show this message
|
data/exe/metanorma
CHANGED
|
@@ -41,7 +41,8 @@ opt_parser = OptionParser.new do |opts|
|
|
|
41
41
|
'-x',
|
|
42
42
|
'--extensions EXT1,EXT2,...',
|
|
43
43
|
Array,
|
|
44
|
-
"Type of extension to generate per type: #{registry.output_formats}"
|
|
44
|
+
"Type of extension to generate per type: #{registry.output_formats}\n"\
|
|
45
|
+
"In addition, xml (outside of rfc2, rfc3) generates IsoDoc XML"
|
|
45
46
|
) { |v| options[:extension_keys] = v.map(&:to_sym) }
|
|
46
47
|
|
|
47
48
|
opts.on(
|
|
@@ -62,7 +63,7 @@ opt_parser = OptionParser.new do |opts|
|
|
|
62
63
|
opts.on(
|
|
63
64
|
'-v',
|
|
64
65
|
'--version',
|
|
65
|
-
"Print version of code",
|
|
66
|
+
"Print version of code (accompanied with -t)",
|
|
66
67
|
) { options[:version] = true }
|
|
67
68
|
|
|
68
69
|
opts.on_tail("-h", "--help", "Show this message") do
|
|
@@ -74,23 +75,13 @@ end
|
|
|
74
75
|
|
|
75
76
|
opt_parser.parse!(ARGV)
|
|
76
77
|
|
|
77
|
-
# TODO: move this to individual Processors
|
|
78
78
|
if options[:version]
|
|
79
|
-
case options[:
|
|
80
|
-
when :
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
when :csd
|
|
85
|
-
puts "Asciidoctor::Csd #{Asciidoctor::Csd::VERSION}"
|
|
86
|
-
when :csand
|
|
87
|
-
puts "Asciidoctor::Csand #{Asciidoctor::Csand::VERSION}"
|
|
88
|
-
when :m3d
|
|
89
|
-
puts "Asciidoctor::M3d #{Asciidoctor::M3d::VERSION}"
|
|
90
|
-
when :rsd
|
|
91
|
-
puts "Asciidoctor::Rsd #{Asciidoctor::Rsd::VERSION}"
|
|
79
|
+
case options[:format]
|
|
80
|
+
when :asciidoc
|
|
81
|
+
processor = registry.find_processor(options[:type].to_sym)
|
|
82
|
+
puts processor.version
|
|
83
|
+
exit
|
|
92
84
|
end
|
|
93
|
-
exit
|
|
94
85
|
end
|
|
95
86
|
|
|
96
87
|
options[:filename] = ARGV.pop
|
|
@@ -126,16 +117,30 @@ case options[:format]
|
|
|
126
117
|
when :asciidoc
|
|
127
118
|
processor = registry.find_processor(options[:type].to_sym)
|
|
128
119
|
|
|
120
|
+
options[:extension_keys] ||= processor.output_formats.inject([]) do |memo, (k, _)|
|
|
121
|
+
memo << k; memo
|
|
122
|
+
end
|
|
123
|
+
extensions = options[:extension_keys].inject([]) do |memo, e|
|
|
124
|
+
if processor.output_formats[e] || e == :xml then memo << e
|
|
125
|
+
else
|
|
126
|
+
warn "[metanorma] Error: #{e} format is not supported for this standard"
|
|
127
|
+
end
|
|
128
|
+
memo
|
|
129
|
+
end
|
|
130
|
+
exit 0 if extensions.empty?
|
|
131
|
+
|
|
129
132
|
file = File.read(options[:filename], encoding: "utf-8")
|
|
130
133
|
isodoc = processor.input_to_isodoc(file)
|
|
134
|
+
isodoc_options = processor.extract_options(file)
|
|
131
135
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
file_extension = processor.output_formats[ext]
|
|
136
|
+
extensions.each do |ext|
|
|
137
|
+
file_extension = ext == :xml ? "xml" : processor.output_formats[ext]
|
|
135
138
|
outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}")
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
if ext == :xml
|
|
140
|
+
File.open(outfilename, "w:UTF-8") { |f| f.write(isodoc) }
|
|
141
|
+
else
|
|
142
|
+
processor.output(isodoc, outfilename, ext, isodoc_options)
|
|
143
|
+
end
|
|
139
144
|
end
|
|
140
145
|
end
|
|
141
146
|
|
|
@@ -18,12 +18,12 @@ module Metanorma
|
|
|
18
18
|
def extract_options(file)
|
|
19
19
|
header = file.sub(/\n\n.*$/m, "")
|
|
20
20
|
|
|
21
|
-
/\
|
|
22
|
-
/\
|
|
23
|
-
/\
|
|
24
|
-
/\
|
|
25
|
-
/\
|
|
26
|
-
/\
|
|
21
|
+
/\n:script: (?<script>[^\n]+)\n/ =~ header
|
|
22
|
+
/\n:body-font: (?<bodyfont>[^\n]+)\n/ =~ header
|
|
23
|
+
/\n:header-font: (?<headerfont>[^\n]+)\n/ =~ header
|
|
24
|
+
/\n:monospace-font: (?<monospacefont>[^\n]+)\n/ =~ header
|
|
25
|
+
/\n:title-font: (?<titlefont>[^\n]+)\n/ =~ header
|
|
26
|
+
/\n:i18nyaml: (?<ni18nyaml>[^\n]+)\n/ =~ header
|
|
27
27
|
{
|
|
28
28
|
script: defined?(script) ? script : nil,
|
|
29
29
|
bodyfont: defined?(bodyfont) ? bodyfont : nil,
|
|
@@ -31,7 +31,7 @@ module Metanorma
|
|
|
31
31
|
monospacefont: defined?(monospacefont) ? monospacefont : nil,
|
|
32
32
|
titlefont: defined?(titlefont) ? titlefont : nil,
|
|
33
33
|
i18nyaml: defined?(i18nyaml) ? i18nyaml : nil,
|
|
34
|
-
}.reject { |_, val| val.nil? }
|
|
34
|
+
}.reject { |_, val| val.nil? }
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
end
|
data/lib/metanorma/output/pdf.rb
CHANGED
|
@@ -5,8 +5,6 @@ module Metanorma
|
|
|
5
5
|
def convert(url_path, output_path)
|
|
6
6
|
file_url = "file://#{Dir.pwd}/#{url_path}"
|
|
7
7
|
pdfjs = File.join(File.dirname(__FILE__), '../../../exe/metanorma-pdf.js')
|
|
8
|
-
puts "export NODE_PATH=$(npm root --quiet -g);
|
|
9
|
-
node #{pdfjs} #{file_url} #{output_path}"
|
|
10
8
|
system "export NODE_PATH=$(npm root --quiet -g);
|
|
11
9
|
node #{pdfjs} #{file_url} #{output_path}"
|
|
12
10
|
end
|
data/lib/metanorma/processor.rb
CHANGED
data/lib/metanorma/registry.rb
CHANGED
data/lib/metanorma/version.rb
CHANGED
data/metanorma.gemspec
CHANGED
|
@@ -22,13 +22,16 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
23
23
|
spec.require_paths = ["lib"]
|
|
24
24
|
|
|
25
|
-
spec.required_ruby_version = '>= 2.
|
|
25
|
+
spec.required_ruby_version = '>= 2.5.0'
|
|
26
26
|
|
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.16"
|
|
28
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
30
|
+
spec.add_development_dependency "byebug", "~> 10.0"
|
|
31
|
+
spec.add_development_dependency "rspec-command", "~> 1.0.3"
|
|
32
|
+
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
|
30
33
|
|
|
31
|
-
spec.add_runtime_dependency 'asciidoctor-iso', ">= 0.9.
|
|
34
|
+
spec.add_runtime_dependency 'asciidoctor-iso', ">= 0.9.1"
|
|
32
35
|
spec.add_runtime_dependency 'asciidoctor-rfc', ">= 0.9.0"
|
|
33
36
|
spec.add_runtime_dependency 'asciidoctor-gb', ">= 0.3.0"
|
|
34
37
|
spec.add_runtime_dependency 'asciidoctor-csd', ">= 0.4.0"
|
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: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-06-
|
|
11
|
+
date: 2018-06-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -52,20 +52,62 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '3.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: byebug
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '10.0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '10.0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: rspec-command
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 1.0.3
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.0.3
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: equivalent-xml
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0.6'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0.6'
|
|
55
97
|
- !ruby/object:Gem::Dependency
|
|
56
98
|
name: asciidoctor-iso
|
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
|
58
100
|
requirements:
|
|
59
101
|
- - ">="
|
|
60
102
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.9.
|
|
103
|
+
version: 0.9.1
|
|
62
104
|
type: :runtime
|
|
63
105
|
prerelease: false
|
|
64
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
107
|
requirements:
|
|
66
108
|
- - ">="
|
|
67
109
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.9.
|
|
110
|
+
version: 0.9.1
|
|
69
111
|
- !ruby/object:Gem::Dependency
|
|
70
112
|
name: asciidoctor-rfc
|
|
71
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -214,7 +256,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
214
256
|
requirements:
|
|
215
257
|
- - ">="
|
|
216
258
|
- !ruby/object:Gem::Version
|
|
217
|
-
version: 2.
|
|
259
|
+
version: 2.5.0
|
|
218
260
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
261
|
requirements:
|
|
220
262
|
- - ">="
|