metanorma 1.3.8 → 1.3.11
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/lib/metanorma/collection_fileprocess.rb +1 -1
- data/lib/metanorma/collection_renderer.rb +5 -1
- data/lib/metanorma/compile.rb +9 -9
- data/lib/metanorma/input/asciidoc.rb +3 -1
- data/lib/metanorma/sectionsplit.rb +7 -23
- data/lib/metanorma/version.rb +1 -1
- data/metanorma.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f054752f3bb51d3e1cfe983beaca06c817275d214d5652503a42325d93403a42
|
4
|
+
data.tar.gz: 212a35305289d4286539dcdb008bf799fac028e87a84aab0a33b8137c73d84d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c23014599c6a03a04b0dfa4fe93c6b300b0311ff55e552a5f1bd79a2d55220789c94916a9c6b694a044cd9247dcd95d1ab6dde05e0e7d949a29bcaedb07d8807
|
7
|
+
data.tar.gz: 98da695a8d3cd9b93f244161b8e0874b7851bb6426fd686cabcafe493f8088b0af2923a216b2741d34a2532b8f76adc3ac377af1caa8a639fdd27ba4c1866ef7
|
@@ -49,7 +49,7 @@ module Metanorma
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def add_section_split_cover(files, manifest, ident)
|
52
|
-
cover = section_split_cover(manifest, ident)
|
52
|
+
cover = section_split_cover(manifest, dir_name_cleanse(ident))
|
53
53
|
files[ident][:out_path] = cover
|
54
54
|
{ attachment: true, index: false, out_path: cover,
|
55
55
|
ref: File.join(File.dirname(manifest.file), cover) }
|
@@ -33,7 +33,7 @@ module Metanorma
|
|
33
33
|
# output processor for flavour
|
34
34
|
@isodoc = isodoc
|
35
35
|
|
36
|
-
@outdir = options[:output_folder]
|
36
|
+
@outdir = dir_name_cleanse(options[:output_folder])
|
37
37
|
@coverpage = options[:coverpage]
|
38
38
|
@format = Util.sort_extensions_execution(options[:format])
|
39
39
|
@compile_options = options[:compile] || {}
|
@@ -51,6 +51,10 @@ module Metanorma
|
|
51
51
|
FileUtils.mkdir_p @outdir
|
52
52
|
end
|
53
53
|
|
54
|
+
def dir_name_cleanse(name)
|
55
|
+
name.gsub(/[<>:"|?*]/, "_")
|
56
|
+
end
|
57
|
+
|
54
58
|
# @param col [Metanorma::Collection] XML collection
|
55
59
|
# @param options [Hash]
|
56
60
|
# @option options [String] :coverpage cover page HTML (Liquid template)
|
data/lib/metanorma/compile.rb
CHANGED
@@ -52,7 +52,7 @@ module Metanorma
|
|
52
52
|
def options_extract(filename, options)
|
53
53
|
content = read_file(filename)
|
54
54
|
o = Metanorma::Input::Asciidoc.new.extract_metanorma_options(content)
|
55
|
-
|
55
|
+
.merge(xml_options_extract(content))
|
56
56
|
options[:type] ||= o[:type]&.to_sym
|
57
57
|
t = @registry.alias(options[:type]) and options[:type] = t
|
58
58
|
dir = filename.sub(%r(/[^/]+$), "/")
|
@@ -130,9 +130,7 @@ module Metanorma
|
|
130
130
|
|
131
131
|
def clean_sourcecode(xml)
|
132
132
|
xml.xpath(".//callout | .//annotation | .//xmlns:callout | "\
|
133
|
-
".//xmlns:annotation").each
|
134
|
-
x.remove
|
135
|
-
end
|
133
|
+
".//xmlns:annotation").each(&:remove)
|
136
134
|
xml.xpath(".//br | .//xmlns:br").each { |x| x.replace("\n") }
|
137
135
|
HTMLEntities.new.decode(xml.children.to_xml)
|
138
136
|
end
|
@@ -177,8 +175,8 @@ module Metanorma
|
|
177
175
|
end
|
178
176
|
|
179
177
|
REQUIREMENT_XPATH = "//requirement | //xmlns:requirement | "\
|
180
|
-
|
181
|
-
|
178
|
+
"//recommendation | //xmlns:recommendation | //permission | "\
|
179
|
+
"//xmlns:permission".freeze
|
182
180
|
|
183
181
|
def requirement_export(xml, dirname)
|
184
182
|
xml.at(REQUIREMENT_XPATH) or return
|
@@ -218,9 +216,11 @@ module Metanorma
|
|
218
216
|
else
|
219
217
|
begin
|
220
218
|
if @processor.use_presentation_xml(ext)
|
221
|
-
@processor.output(nil, presentationxml_name, outfilename, ext,
|
219
|
+
@processor.output(nil, presentationxml_name, outfilename, ext,
|
220
|
+
isodoc_options)
|
222
221
|
else
|
223
|
-
@processor.output(isodoc, xml_name, outfilename, ext,
|
222
|
+
@processor.output(isodoc, xml_name, outfilename, ext,
|
223
|
+
isodoc_options)
|
224
224
|
end
|
225
225
|
rescue StandardError => e
|
226
226
|
isodoc_error_process(e)
|
@@ -245,7 +245,7 @@ module Metanorma
|
|
245
245
|
isodoc_options = @processor.extract_options(file)
|
246
246
|
isodoc_options[:datauriimage] = true if options[:datauriimage]
|
247
247
|
isodoc_options[:sourcefilename] = options[:filename]
|
248
|
-
%i(bare sectionsplit no_install_fonts).each do |x|
|
248
|
+
%i(bare sectionsplit no_install_fonts baseassetpath).each do |x|
|
249
249
|
isodoc_options[x] ||= options[x]
|
250
250
|
end
|
251
251
|
if ext == :pdf
|
@@ -60,7 +60,7 @@ module Metanorma
|
|
60
60
|
scripts-override scripts-pdf wordstylesheet i18nyaml
|
61
61
|
standardstylesheet header wordcoverpage wordintropage
|
62
62
|
ulstyle olstyle htmlstylesheet-override bare
|
63
|
-
htmltoclevels doctoclevels sectionsplit
|
63
|
+
htmltoclevels doctoclevels sectionsplit base-asset-path
|
64
64
|
body-font header-font monospace-font title-font
|
65
65
|
wordstylesheet-override).freeze
|
66
66
|
|
@@ -75,6 +75,7 @@ module Metanorma
|
|
75
75
|
/\n:(?<hier_assets>hierarchical-assets:[^\n]*)\n/ =~ header
|
76
76
|
/\n:(?<use_xinclude>use-xinclude:[^\n]*)\n/ =~ header
|
77
77
|
/\n:(?<break_up>break-up-urls-in-tables:[^\n]*)\n/ =~ header
|
78
|
+
/\n:suppress-asciimath-dup: (?<suppress_asciimath_dup>[^\n]+)\n/ =~ header
|
78
79
|
|
79
80
|
defined?(hier_assets) and
|
80
81
|
hier_assets = empty_attr(hier_assets, "hierarchical-assets")
|
@@ -84,6 +85,7 @@ module Metanorma
|
|
84
85
|
break_up = empty_attr(break_up, "break-up-urls-in-tables")
|
85
86
|
ret.merge(
|
86
87
|
datauriimage: defined?(datauriimage) ? datauriimage != "false" : nil,
|
88
|
+
suppressasciimathdup: defined?(suppress_asciimath_dup) ? suppress_asciimath_dup != "false" : nil,
|
87
89
|
hierarchical_assets: defined?(hier_assets) ? hier_assets : nil,
|
88
90
|
use_xinclude: defined?(use_xinclude) ? use_xinclude : nil,
|
89
91
|
break_up_urls_in_tables: defined?(break_up) ? break_up : nil,
|
@@ -46,8 +46,7 @@ module Metanorma
|
|
46
46
|
|
47
47
|
def coll_cover
|
48
48
|
<<~COVER
|
49
|
-
<html
|
50
|
-
<head/>
|
49
|
+
<html><head/>
|
51
50
|
<body>
|
52
51
|
<h1>{{ doctitle }}</h1>
|
53
52
|
<h2>{{ docnumber }}</h2>
|
@@ -102,17 +101,6 @@ module Metanorma
|
|
102
101
|
outname
|
103
102
|
end
|
104
103
|
|
105
|
-
# def xref_preprocess(xml)
|
106
|
-
# svg_preprocess(xml)
|
107
|
-
# key = (0...8).map { rand(65..90).chr }.join # random string
|
108
|
-
# xml.root["type"] = key # to force recognition of internal refs
|
109
|
-
# refs = eref_to_internal_eref(xml, key)
|
110
|
-
# refs += xref_to_internal_eref(xml, key)
|
111
|
-
# ins = new_hidden_ref(xml)
|
112
|
-
# copy_repo_items_biblio(ins, xml)
|
113
|
-
# insert_indirect_biblio(ins, refs, key)
|
114
|
-
# end
|
115
|
-
|
116
104
|
def xref_preprocess(xml)
|
117
105
|
svg_preprocess(xml)
|
118
106
|
key = (0...8).map { rand(65..90).chr }.join # random string
|
@@ -136,7 +124,7 @@ module Metanorma
|
|
136
124
|
|
137
125
|
a["href"] = a["href"].sub(/^#/, "")
|
138
126
|
m << "<target href='#{a['href']}'>"\
|
139
|
-
|
127
|
+
"<xref target='#{a['href']}'/></target>"
|
140
128
|
end
|
141
129
|
end
|
142
130
|
end
|
@@ -224,9 +212,7 @@ module Metanorma
|
|
224
212
|
|
225
213
|
def recursive_string_keys(hash)
|
226
214
|
case hash
|
227
|
-
when Hash then
|
228
|
-
hash.map { |k, v| [k.to_s, recursive_string_keys(v)] }
|
229
|
-
]
|
215
|
+
when Hash then hash.map { |k, v| [k.to_s, recursive_string_keys(v)] }.to_h
|
230
216
|
when Enumerable then hash.map { |v| recursive_string_keys(v) }
|
231
217
|
else
|
232
218
|
hash
|
@@ -246,9 +232,8 @@ module Metanorma
|
|
246
232
|
directives: ["presentation-xml", "bare-after-first"],
|
247
233
|
bibdata: {
|
248
234
|
title: {
|
249
|
-
type: "title-main",
|
250
|
-
|
251
|
-
content: xml.at(ns("//bibdata/title")).text,
|
235
|
+
type: "title-main", language: @lang,
|
236
|
+
content: xml.at(ns("//bibdata/title")).text
|
252
237
|
},
|
253
238
|
type: "collection",
|
254
239
|
docid: {
|
@@ -257,11 +242,10 @@ module Metanorma
|
|
257
242
|
},
|
258
243
|
},
|
259
244
|
manifest: {
|
260
|
-
level: "collection",
|
261
|
-
title: "Collection",
|
245
|
+
level: "collection", title: "Collection",
|
262
246
|
docref: files.sort_by { |f| f[:order] }.each.map do |f|
|
263
247
|
{ fileref: f[:url], identifier: f[:title] }
|
264
|
-
end
|
248
|
+
end
|
265
249
|
},
|
266
250
|
}
|
267
251
|
recursive_string_keys(ret).to_yaml
|
data/lib/metanorma/version.rb
CHANGED
data/metanorma.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.required_ruby_version = ">= 2.5.0"
|
24
24
|
|
25
25
|
spec.add_runtime_dependency "asciidoctor"
|
26
|
-
spec.add_runtime_dependency "fontist", "~> 1.
|
26
|
+
spec.add_runtime_dependency "fontist", "~> 1.11"
|
27
27
|
spec.add_runtime_dependency "htmlentities"
|
28
28
|
spec.add_runtime_dependency "metanorma-utils", "~> 1.2.0"
|
29
29
|
spec.add_runtime_dependency "mn2pdf", "~> 1"
|
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: 1.3.
|
4
|
+
version: 1.3.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: '1.11'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: '1.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: htmlentities
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|