metanorma 1.3.8 → 1.3.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|