isodoc 0.8.8 → 0.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -5
- data/isodoc.gemspec +1 -1
- data/lib/isodoc/convert.rb +2 -2
- data/lib/isodoc/function/i18n.rb +6 -6
- data/lib/isodoc/function/inline.rb +3 -3
- data/lib/isodoc/function/lists.rb +8 -6
- data/lib/isodoc/function/xref_gen.rb +12 -11
- data/lib/isodoc/html_function/html.rb +4 -1
- data/lib/isodoc/version.rb +1 -1
- data/spec/assets/html.css +4 -0
- data/spec/isodoc/blocks_spec.rb +1 -1
- data/spec/isodoc/inline_spec.rb +1 -1
- data/spec/isodoc/lists_spec.rb +6 -6
- data/spec/isodoc/postproc_spec.rb +52 -4
- data/spec/isodoc/terms_spec.rb +6 -6
- data/spec/isodoc/xref_spec.rb +83 -83
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a4d3fa6c4156db3df86b058bd06ab31377db25525b066b42d1d1637480c1478
|
4
|
+
data.tar.gz: 84b5d564ab0ed4a7424cd5f9f451843c9923d6b373bf0e8492a07fffbd4667b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8b910524ad0cbc147395e8f240523a2081841d59417fb88664058053eb6ed9a9adcc6eebe047d3d8d372c045841a292f1872f73a3336a0e8253a0ff0a9f7682
|
7
|
+
data.tar.gz: b8d9bc5fa2af858c32e17df20f359fe6183dd740814b5b83e262a6c8b38d6fd6824fcee5ec5f40c67820c22cb737919c61b47263f74121d14ed9509d03ed1ade
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
isodoc (0.8.
|
4
|
+
isodoc (0.8.9)
|
5
5
|
asciimath
|
6
6
|
html2doc (~> 0.8.1)
|
7
7
|
htmlentities (~> 4.3.4)
|
@@ -10,7 +10,7 @@ PATH
|
|
10
10
|
nokogiri
|
11
11
|
roman-numerals
|
12
12
|
ruby-xslt
|
13
|
-
|
13
|
+
sassc (~> 1.12.1)
|
14
14
|
thread_safe
|
15
15
|
uuidtools
|
16
16
|
|
@@ -60,11 +60,11 @@ GEM
|
|
60
60
|
rb-inotify (~> 0.9, >= 0.9.7)
|
61
61
|
ruby_dep (~> 1.2)
|
62
62
|
lumberjack (1.0.13)
|
63
|
-
metanorma (0.2.
|
63
|
+
metanorma (0.2.8)
|
64
64
|
method_source (0.9.0)
|
65
|
-
mime-types (3.
|
65
|
+
mime-types (3.2.2)
|
66
66
|
mime-types-data (~> 3.2015)
|
67
|
-
mime-types-data (3.
|
67
|
+
mime-types-data (3.2018.0812)
|
68
68
|
mini_portile2 (2.3.0)
|
69
69
|
nenv (0.3.0)
|
70
70
|
nokogiri (1.8.4)
|
@@ -114,6 +114,9 @@ GEM
|
|
114
114
|
sass-listen (4.0.0)
|
115
115
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
116
116
|
rb-inotify (~> 0.9, >= 0.9.7)
|
117
|
+
sassc (1.12.1)
|
118
|
+
ffi (~> 1.9.6)
|
119
|
+
sass (>= 3.3.0)
|
117
120
|
shellany (0.0.1)
|
118
121
|
simplecov (0.16.1)
|
119
122
|
docile (~> 1.1)
|
data/isodoc.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency "html2doc", "~> 0.8.1"
|
38
38
|
spec.add_dependency "liquid"
|
39
39
|
spec.add_dependency "roman-numerals"
|
40
|
-
spec.add_dependency "
|
40
|
+
spec.add_dependency "sassc", "~> 1.12.1"
|
41
41
|
spec.add_dependency "metanorma", "~> 0.2.7"
|
42
42
|
|
43
43
|
spec.add_development_dependency "bundler", "~> 1.15"
|
data/lib/isodoc/convert.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require "isodoc/common"
|
2
|
-
require "
|
2
|
+
require "sassc"
|
3
3
|
|
4
4
|
module IsoDoc
|
5
5
|
class Convert < ::IsoDoc::Common
|
@@ -101,7 +101,7 @@ module IsoDoc
|
|
101
101
|
return nil unless filename
|
102
102
|
stylesheet = File.read(filename, encoding: "UTF-8")
|
103
103
|
stylesheet.gsub!(/(\s|\{)mso-[^:]+:[^;]+;/m, "\\1") if stripwordcss
|
104
|
-
engine =
|
104
|
+
engine = SassC::Engine.new(fontheader + stylesheet, syntax: :scss)
|
105
105
|
outname = File.basename(filename, ".*") + ".css"
|
106
106
|
File.open(outname, "w:UTF-8") { |f| f.write(engine.render) }
|
107
107
|
@files_to_delete << outname
|
data/lib/isodoc/function/i18n.rb
CHANGED
@@ -69,20 +69,20 @@ module IsoDoc::Function
|
|
69
69
|
end
|
70
70
|
|
71
71
|
# TODO: move to localization file
|
72
|
-
def eref_localities1_zh(type, from, to)
|
72
|
+
def eref_localities1_zh(target, type, from, to)
|
73
73
|
ret = ", 第#{from.text}" if from
|
74
74
|
ret += "–#{to}" if to
|
75
|
-
|
75
|
+
loc = (@locality[type] || type.sub(/^locality:/, "").capitalize )
|
76
|
+
ret += " #{loc}"
|
76
77
|
ret
|
77
78
|
end
|
78
79
|
|
79
80
|
# TODO: move to localization file
|
80
|
-
def eref_localities1(type, from, to, lang = "en")
|
81
|
-
|
82
|
-
return l10n(eref_localities1_zh(type, from, to)) if lang == "zh"
|
81
|
+
def eref_localities1(target, type, from, to, lang = "en")
|
82
|
+
return l10n(eref_localities1_zh(target, type, from, to)) if lang == "zh"
|
83
83
|
ret = ","
|
84
84
|
loc = @locality[type] || type.sub(/^locality:/, "").capitalize
|
85
|
-
ret += " #{loc}"
|
85
|
+
ret += " #{loc}"
|
86
86
|
ret += " #{from.text}" if from
|
87
87
|
ret += "–#{to.text}" if to
|
88
88
|
l10n(ret)
|
@@ -37,7 +37,7 @@ module IsoDoc::Function
|
|
37
37
|
|
38
38
|
def get_linkend(node)
|
39
39
|
link = anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))
|
40
|
-
link += eref_localities(node.xpath(ns("./locality")))
|
40
|
+
link += eref_localities(node.xpath(ns("./locality")), link)
|
41
41
|
text = node.children.select { |c| c.text? && !c.text.empty? }
|
42
42
|
link = text.join(" ") unless text.nil? || text.empty?
|
43
43
|
# so not <origin bibitemid="ISO7301" citeas="ISO 7301">
|
@@ -50,12 +50,12 @@ module IsoDoc::Function
|
|
50
50
|
out.a(**{ "href": "#" + node["target"] }) { |l| l << linkend }
|
51
51
|
end
|
52
52
|
|
53
|
-
def eref_localities(refs)
|
53
|
+
def eref_localities(refs, target)
|
54
54
|
ret = ""
|
55
55
|
refs.each do |r|
|
56
56
|
ret += if r["type"] == "whole" then l10n(", #{@whole_of_text}")
|
57
57
|
else
|
58
|
-
eref_localities1(r["type"], r.at(ns("./referenceFrom")),
|
58
|
+
eref_localities1(target, r["type"], r.at(ns("./referenceFrom")),
|
59
59
|
r.at(ns("./referenceTo")), @lang)
|
60
60
|
end
|
61
61
|
end
|
@@ -2,7 +2,7 @@ module IsoDoc::Function
|
|
2
2
|
module Lists
|
3
3
|
|
4
4
|
def ul_parse(node, out)
|
5
|
-
out.ul do |ul|
|
5
|
+
out.ul **attr_code(id: node["id"]) do |ul|
|
6
6
|
node.children.each { |n| parse(n, ul) }
|
7
7
|
end
|
8
8
|
end
|
@@ -37,13 +37,13 @@ module IsoDoc::Function
|
|
37
37
|
def ol_parse(node, out)
|
38
38
|
# style = ol_style(node["type"])
|
39
39
|
style = ol_depth(node)
|
40
|
-
out.ol **attr_code(type: style) do |ol|
|
40
|
+
out.ol **attr_code(type: style, id: node["id"] ) do |ol|
|
41
41
|
node.children.each { |n| parse(n, ol) }
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
def li_parse(node, out)
|
46
|
-
out.li do |li|
|
46
|
+
out.li **attr_code(id: node["id"]) do |li|
|
47
47
|
node.children.each { |n| parse(n, li) }
|
48
48
|
end
|
49
49
|
end
|
@@ -64,10 +64,12 @@ module IsoDoc::Function
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def dl_parse(node, out)
|
67
|
-
out.dl do |v|
|
67
|
+
out.dl **attr_code(id: node["id"]) do |v|
|
68
68
|
node.elements.select { |n| dt_dd? n }.each_slice(2) do |dt, dd|
|
69
|
-
v.dt
|
70
|
-
|
69
|
+
v.dt **attr_code(id: dt["id"]) do |term|
|
70
|
+
dt_parse(dt, term)
|
71
|
+
end
|
72
|
+
v.dd **attr_code(id: dd["id"]) do |listitem|
|
71
73
|
dd.children.each { |n| parse(n, listitem) }
|
72
74
|
end
|
73
75
|
end
|
@@ -27,12 +27,13 @@ module IsoDoc::Function
|
|
27
27
|
|
28
28
|
def termexample_anchor_names(docxml)
|
29
29
|
docxml.xpath(ns("//term[termexample]")).each do |t|
|
30
|
-
t.xpath(ns("./termexample"))
|
30
|
+
examples = t.xpath(ns("./termexample"))
|
31
|
+
examples.each_with_index do |n, i|
|
31
32
|
return if n["id"].nil? || n["id"].empty?
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
idx = examples.size == 1 ? "" : (i + 1).to_s
|
34
|
+
@anchors[n["id"]] = {
|
35
|
+
label: idx, xref: l10n("#{@anchors[t['id']][:xref]}, "\
|
36
|
+
"#{@note_xref_lbl} #{i + 1}") }
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
@@ -133,7 +134,7 @@ module IsoDoc::Function
|
|
133
134
|
i += 1
|
134
135
|
end
|
135
136
|
label = i.to_s + (j.zero? ? "" : "-#{j}")
|
136
|
-
|
137
|
+
next if t["id"].nil? || t["id"].empty?
|
137
138
|
@anchors[t["id"]] = anchor_struct(label, nil, @figure_lbl)
|
138
139
|
end
|
139
140
|
end
|
@@ -165,12 +166,12 @@ module IsoDoc::Function
|
|
165
166
|
|
166
167
|
def sequential_asset_names(clause)
|
167
168
|
clause.xpath(ns(".//table")).each_with_index do |t, i|
|
168
|
-
|
169
|
+
next if t["id"].nil? || t["id"].empty?
|
169
170
|
@anchors[t["id"]] = anchor_struct(i + 1, nil, @table_lbl)
|
170
171
|
end
|
171
172
|
sequential_figure_names(clause)
|
172
173
|
clause.xpath(ns(".//formula")).each_with_index do |t, i|
|
173
|
-
|
174
|
+
next if t["id"].nil? || t["id"].empty?
|
174
175
|
@anchors[t["id"]] = anchor_struct(i + 1, t, @formula_lbl)
|
175
176
|
end
|
176
177
|
end
|
@@ -184,19 +185,19 @@ module IsoDoc::Function
|
|
184
185
|
i += 1
|
185
186
|
end
|
186
187
|
label = "#{num}.#{i}" + (j.zero? ? "" : "-#{j}")
|
187
|
-
|
188
|
+
next if t["id"].nil? || t["id"].empty?
|
188
189
|
@anchors[t["id"]] = anchor_struct(label, nil, @figure_lbl)
|
189
190
|
end
|
190
191
|
end
|
191
192
|
|
192
193
|
def hierarchical_asset_names(clause, num)
|
193
194
|
clause.xpath(ns(".//table")).each_with_index do |t, i|
|
194
|
-
|
195
|
+
next if t["id"].nil? || t["id"].empty?
|
195
196
|
@anchors[t["id"]] = anchor_struct("#{num}.#{i + 1}", nil, @table_lbl)
|
196
197
|
end
|
197
198
|
hierarchical_figure_names(clause, num)
|
198
199
|
clause.xpath(ns(".//formula")).each_with_index do |t, i|
|
199
|
-
|
200
|
+
next if t["id"].nil? || t["id"].empty?
|
200
201
|
@anchors[t["id"]] = anchor_struct("#{num}.#{i + 1}", t, @formula_lbl)
|
201
202
|
end
|
202
203
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "fileutils"
|
2
|
+
|
1
3
|
module IsoDoc::HtmlFunction
|
2
4
|
module Html
|
3
5
|
def make_body1(body, _docxml)
|
@@ -201,7 +203,8 @@ module IsoDoc::HtmlFunction
|
|
201
203
|
end
|
202
204
|
|
203
205
|
def move_image1(i, new_full_filename)
|
204
|
-
system "cp #{i['src']} #{new_full_filename}"
|
206
|
+
#system "cp #{i['src']} #{new_full_filename}"
|
207
|
+
FileUtils.cp i["src"], new_full_filename
|
205
208
|
i["src"] = new_full_filename
|
206
209
|
i["width"], i["height"] = Html2Doc.image_resize(i, @maxheight, @maxwidth)
|
207
210
|
end
|
data/lib/isodoc/version.rb
CHANGED
data/spec/assets/html.css
CHANGED
data/spec/isodoc/blocks_spec.rb
CHANGED
@@ -519,7 +519,7 @@ INPUT
|
|
519
519
|
<h1 class="ForewordTitle">Foreword</h1>
|
520
520
|
<div id="_be9158af-7e93-4ee2-90c5-26d31c181934" class="formula"><span class="stem">(#(r = 1 %)#)</span>  (1)</div>
|
521
521
|
<p>where</p>
|
522
|
-
<dl>
|
522
|
+
<dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d">
|
523
523
|
<dt>
|
524
524
|
<span class="stem">(#(r)#)</span>
|
525
525
|
</dt>
|
data/spec/isodoc/inline_spec.rb
CHANGED
@@ -238,7 +238,7 @@ RSpec.describe IsoDoc do
|
|
238
238
|
<a href="#ISO712">ISO 712, Table 1–1</a>
|
239
239
|
<a href="#ISO712">ISO 712, Clause 1, Table 1</a>
|
240
240
|
<a href="#ISO712">ISO 712, Clause 1</a>
|
241
|
-
<a href="#ISO712">ISO 712, 1.5</a>
|
241
|
+
<a href="#ISO712">ISO 712, Clause 1.5</a>
|
242
242
|
<a href="#ISO712">A</a>
|
243
243
|
<a href="#ISO712">ISO 712, </a>
|
244
244
|
<a href="#ISO712">ISO 712, Prelude 7</a>
|
data/spec/isodoc/lists_spec.rb
CHANGED
@@ -20,7 +20,7 @@ RSpec.describe IsoDoc do
|
|
20
20
|
<br/>
|
21
21
|
<div>
|
22
22
|
<h1 class="ForewordTitle">Foreword</h1>
|
23
|
-
<ul>
|
23
|
+
<ul id="_61961034-0fb1-436b-b281-828857a59ddb">
|
24
24
|
<li>
|
25
25
|
<p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
|
26
26
|
</li>
|
@@ -62,7 +62,7 @@ RSpec.describe IsoDoc do
|
|
62
62
|
<br/>
|
63
63
|
<div>
|
64
64
|
<h1 class="ForewordTitle">Foreword</h1>
|
65
|
-
<ol type="a">
|
65
|
+
<ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
|
66
66
|
<li>
|
67
67
|
<p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
|
68
68
|
</li>
|
@@ -90,7 +90,7 @@ RSpec.describe IsoDoc do
|
|
90
90
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
91
91
|
<preface><foreword>
|
92
92
|
<ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="roman_upper">
|
93
|
-
<li>
|
93
|
+
<li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
|
94
94
|
<p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
|
95
95
|
</li>
|
96
96
|
<li>
|
@@ -107,8 +107,8 @@ RSpec.describe IsoDoc do
|
|
107
107
|
<br/>
|
108
108
|
<div>
|
109
109
|
<h1 class="ForewordTitle">Foreword</h1>
|
110
|
-
<ol type="a">
|
111
|
-
<li>
|
110
|
+
<ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
|
111
|
+
<li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
|
112
112
|
<p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
|
113
113
|
</li>
|
114
114
|
<li>
|
@@ -148,7 +148,7 @@ RSpec.describe IsoDoc do
|
|
148
148
|
<br/>
|
149
149
|
<div>
|
150
150
|
<h1 class="ForewordTitle">Foreword</h1>
|
151
|
-
<dl>
|
151
|
+
<dl id="_732d3f57-4f88-40bf-9ae9-633891edc395">
|
152
152
|
<dt>
|
153
153
|
<p>
|
154
154
|
W
|
@@ -101,7 +101,7 @@ RSpec.describe IsoDoc do
|
|
101
101
|
it "generates HTML output docs with complete configuration" do
|
102
102
|
system "rm -f test.doc"
|
103
103
|
system "rm -f test.html"
|
104
|
-
IsoDoc::HtmlConvert.new({
|
104
|
+
IsoDoc::HtmlConvert.new({bodyfont: "Zapf", htmlstylesheet: "spec/assets/html.css", htmlcoverpage: "spec/assets/htmlcover.html", htmlintropage: "spec/assets/htmlintro.html", scripts: "spec/assets/scripts.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
105
105
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
106
106
|
<preface><foreword>
|
107
107
|
<note>
|
@@ -111,7 +111,30 @@ RSpec.describe IsoDoc do
|
|
111
111
|
</iso-standard>
|
112
112
|
INPUT
|
113
113
|
html = File.read("test.html")
|
114
|
-
expect(html).to match(/
|
114
|
+
expect(html).to match(/another empty stylesheet/)
|
115
|
+
expect(html).to match(/font-family: Zapf/)
|
116
|
+
expect(html).to match(/an empty html cover page/)
|
117
|
+
expect(html).to match(/an empty html intro page/)
|
118
|
+
expect(html).to match(/This is > a script/)
|
119
|
+
expect(html).not_to match(/CDATA/)
|
120
|
+
expect(html).to match(%r{Enkonduko</h1>})
|
121
|
+
end
|
122
|
+
|
123
|
+
it "generates HTML output docs with default fonts" do
|
124
|
+
system "rm -f test.doc"
|
125
|
+
system "rm -f test.html"
|
126
|
+
IsoDoc::HtmlConvert.new({htmlstylesheet: "spec/assets/html.css", htmlcoverpage: "spec/assets/htmlcover.html", htmlintropage: "spec/assets/htmlintro.html", scripts: "spec/assets/scripts.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
127
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
128
|
+
<preface><foreword>
|
129
|
+
<note>
|
130
|
+
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
|
131
|
+
</note>
|
132
|
+
</foreword></preface>
|
133
|
+
</iso-standard>
|
134
|
+
INPUT
|
135
|
+
html = File.read("test.html")
|
136
|
+
expect(html).to match(/another empty stylesheet/)
|
137
|
+
expect(html).to match(/font-family: Arial/)
|
115
138
|
expect(html).to match(/an empty html cover page/)
|
116
139
|
expect(html).to match(/an empty html intro page/)
|
117
140
|
expect(html).to match(/This is > a script/)
|
@@ -122,7 +145,30 @@ RSpec.describe IsoDoc do
|
|
122
145
|
it "generates Word output docs with complete configuration" do
|
123
146
|
system "rm -f test.doc"
|
124
147
|
system "rm -f test.html"
|
125
|
-
IsoDoc::WordConvert.new({
|
148
|
+
IsoDoc::WordConvert.new({bodyfont: "Zapf", wordstylesheet: "spec/assets/html.css", standardstylesheet: "spec/assets/std.css", header: "spec/assets/header.html", wordcoverpage: "spec/assets/wordcover.html", wordintropage: "spec/assets/wordintro.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
149
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
150
|
+
<preface><foreword>
|
151
|
+
<note>
|
152
|
+
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
|
153
|
+
</note>
|
154
|
+
</foreword></preface>
|
155
|
+
</iso-standard>
|
156
|
+
INPUT
|
157
|
+
word = File.read("test.doc")
|
158
|
+
expect(word).to match(/another empty stylesheet/)
|
159
|
+
expect(word).to match(/font-family: Zapf/)
|
160
|
+
expect(word).to match(/a third empty stylesheet/)
|
161
|
+
expect(word).to match(/<title>test<\/title>/)
|
162
|
+
expect(word).to match(/test_files\/header.html/)
|
163
|
+
expect(word).to match(/an empty word cover page/)
|
164
|
+
expect(word).to match(/an empty word intro page/)
|
165
|
+
expect(word).to match(%r{Enkonduko</h1>})
|
166
|
+
end
|
167
|
+
|
168
|
+
it "generates Word output docs with default fonts" do
|
169
|
+
system "rm -f test.doc"
|
170
|
+
system "rm -f test.html"
|
171
|
+
IsoDoc::WordConvert.new({wordstylesheet: "spec/assets/html.css", standardstylesheet: "spec/assets/std.css", header: "spec/assets/header.html", wordcoverpage: "spec/assets/wordcover.html", wordintropage: "spec/assets/wordintro.html", i18nyaml: "spec/assets/i18n.yaml", ulstyle: "l1", olstyle: "l2"}).convert("test", <<~"INPUT", false)
|
126
172
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
127
173
|
<preface><foreword>
|
128
174
|
<note>
|
@@ -132,6 +178,8 @@ RSpec.describe IsoDoc do
|
|
132
178
|
</iso-standard>
|
133
179
|
INPUT
|
134
180
|
word = File.read("test.doc")
|
181
|
+
expect(word).to match(/another empty stylesheet/)
|
182
|
+
expect(word).to match(/font-family: Arial/)
|
135
183
|
expect(word).to match(/a third empty stylesheet/)
|
136
184
|
expect(word).to match(/<title>test<\/title>/)
|
137
185
|
expect(word).to match(/test_files\/header.html/)
|
@@ -251,7 +299,7 @@ RSpec.describe IsoDoc do
|
|
251
299
|
</p> </li> </ul>
|
252
300
|
<p class="TermNum"><a name="paddy1" id="paddy1"></a>1.1</p><p class="Terms" style="text-align:left;">paddy</p>
|
253
301
|
<p class="MsoNormal"><a name="_eb29b35e-123e-4d1c-b50b-2714d41e747f" id="_eb29b35e-123e-4d1c-b50b-2714d41e747f"></a>rice retaining its husk after threshing</p>
|
254
|
-
<p class="MsoNormal">[SOURCE: <a href="#ISO7301">ISO 7301:2011, 3.1</a>, modified — The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here]</p></div>
|
302
|
+
<p class="MsoNormal">[SOURCE: <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>, modified — The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here]</p></div>
|
255
303
|
</div>
|
256
304
|
OUTPUT
|
257
305
|
end
|
data/spec/isodoc/terms_spec.rb
CHANGED
@@ -81,13 +81,13 @@ RSpec.describe IsoDoc do
|
|
81
81
|
</td></tr></table>
|
82
82
|
|
83
83
|
<p>[TERMREF]
|
84
|
-
<a href="#ISO7301">ISO 7301:2011, 3.1</a>
|
84
|
+
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
85
85
|
[MODIFICATION]The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here
|
86
86
|
[/TERMREF]</p><p class="TermNum" id="paddy">1.2</p><p class="Terms" style="text-align:left;">paddy</p><p class="AltTerms" style="text-align:left;">paddy rice</p>
|
87
87
|
<p class="AltTerms" style="text-align:left;">rough rice</p>
|
88
88
|
<p class="DeprecatedTerms" style="text-align:left;">DEPRECATED: cargo rice</p>
|
89
89
|
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p>
|
90
|
-
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example"><tr><td valign="top" class="example_label" style="width:82.8pt;">EXAMPLE
|
90
|
+
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example"><tr><td valign="top" class="example_label" style="width:82.8pt;">EXAMPLE</td><td valign="top" class="example">
|
91
91
|
<ul>
|
92
92
|
<li>A</li>
|
93
93
|
</ul>
|
@@ -95,7 +95,7 @@ RSpec.describe IsoDoc do
|
|
95
95
|
<div class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
|
96
96
|
<div class="Note"><p>Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
|
97
97
|
<p>[TERMREF]
|
98
|
-
<a href="#ISO7301">ISO 7301:2011, 3.1</a>
|
98
|
+
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
99
99
|
[/TERMREF]</p></div>
|
100
100
|
</div>
|
101
101
|
</body>
|
@@ -184,13 +184,13 @@ OUTPUT
|
|
184
184
|
</td></tr></table>
|
185
185
|
|
186
186
|
<p>[TERMREF]
|
187
|
-
<a href="#ISO7301">ISO 7301:2011, 3.1</a>
|
187
|
+
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
188
188
|
[MODIFICATION]The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here
|
189
189
|
[/TERMREF]</p><p class="TermNum" id="paddy">1.2</p><p class="Terms" style="text-align:left;">paddy</p><p class="AltTerms" style="text-align:left;">paddy rice</p>
|
190
190
|
<p class="AltTerms" style="text-align:left;">rough rice</p>
|
191
191
|
<p class="DeprecatedTerms" style="text-align:left;">DEPRECATED: cargo rice</p>
|
192
192
|
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p>
|
193
|
-
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example"><tr><td valign="top" class="example_label" style="width:82.8pt;">EXAMPLE
|
193
|
+
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example"><tr><td valign="top" class="example_label" style="width:82.8pt;">EXAMPLE</td><td valign="top" class="example">
|
194
194
|
<ul>
|
195
195
|
<li>A</li>
|
196
196
|
</ul>
|
@@ -198,7 +198,7 @@ OUTPUT
|
|
198
198
|
<div class="Note"><p class="Note">Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
|
199
199
|
<div class="Note"><p class="Note">Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
|
200
200
|
<p>[TERMREF]
|
201
|
-
<a href="#ISO7301">ISO 7301:2011, 3.1</a>
|
201
|
+
<a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
|
202
202
|
[/TERMREF]</p></div>
|
203
203
|
</div>
|
204
204
|
</body>
|
data/spec/isodoc/xref_spec.rb
CHANGED
@@ -1248,25 +1248,25 @@ RSpec.describe IsoDoc do
|
|
1248
1248
|
</p>
|
1249
1249
|
</div>
|
1250
1250
|
<br/>
|
1251
|
-
|
1251
|
+
<div class="Section3" id="intro">
|
1252
1252
|
<h1 class="IntroTitle">Introduction</h1>
|
1253
|
-
<ol type="a">
|
1253
|
+
<ol type="a" id="N1">
|
1254
1254
|
<li><p>A</p></li>
|
1255
1255
|
</ol>
|
1256
|
-
|
1257
|
-
<ol type="a">
|
1256
|
+
<div id="xyz"><h2>Preparatory</h2>
|
1257
|
+
<ol type="a" id="N2">
|
1258
1258
|
<li><p>A</p></li>
|
1259
1259
|
</ol>
|
1260
1260
|
</div>
|
1261
1261
|
</div>
|
1262
|
-
|
1263
|
-
|
1264
|
-
|
1265
|
-
|
1262
|
+
<p class="zzSTDTitle1"/>
|
1263
|
+
<div id="scope">
|
1264
|
+
<h1>1.  Scope</h1>
|
1265
|
+
<ol type="a" id="N">
|
1266
1266
|
<li><p>A</p></li>
|
1267
1267
|
</ol>
|
1268
|
-
|
1269
|
-
|
1268
|
+
</div>
|
1269
|
+
<div id="terms"><h1>2.  Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
|
1270
1270
|
<p>ISO and IEC maintain terminological databases for use in
|
1271
1271
|
standardization at the following addresses:</p>
|
1272
1272
|
|
@@ -1277,35 +1277,35 @@ RSpec.describe IsoDoc do
|
|
1277
1277
|
<a href="http://www.electropedia.org">http://www.electropedia.org</a>
|
1278
1278
|
</p> </li> </ul>
|
1279
1279
|
</div>
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
<ol type="a">
|
1280
|
+
<div id="widgets">
|
1281
|
+
<h1>3.  Widgets</h1>
|
1282
|
+
<div id="widgets1"><h2>3.1. </h2>
|
1283
|
+
<ol type="a" id="note1">
|
1284
1284
|
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
|
1285
1285
|
</ol>
|
1286
|
-
<ol type="a">
|
1286
|
+
<ol type="a" id="note2">
|
1287
1287
|
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a">These results are based on a study carried out on three different types of kernel.</p>
|
1288
1288
|
</ol>
|
1289
1289
|
</div>
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
<ol type="a">
|
1290
|
+
</div>
|
1291
|
+
<br/>
|
1292
|
+
<div id="annex1" class="Section3">
|
1293
|
+
<div id="annex1a"><h2>A.1. </h2>
|
1294
|
+
<ol type="a" id="AN">
|
1295
1295
|
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
|
1296
1296
|
</ol>
|
1297
1297
|
</div>
|
1298
|
-
|
1299
|
-
<ol type="a">
|
1298
|
+
<div id="annex1b"><h2>A.2. </h2>
|
1299
|
+
<ol type="a" id="Anote1">
|
1300
1300
|
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
|
1301
1301
|
</ol>
|
1302
|
-
<ol type="a">
|
1302
|
+
<ol type="a" id="Anote2">
|
1303
1303
|
<p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a">These results are based on a study carried out on three different types of kernel.</p>
|
1304
1304
|
</ol>
|
1305
1305
|
</div>
|
1306
|
-
</div>
|
1307
1306
|
</div>
|
1308
|
-
</
|
1307
|
+
</div>
|
1308
|
+
</body>
|
1309
1309
|
</html>
|
1310
1310
|
OUTPUT
|
1311
1311
|
end
|
@@ -1388,25 +1388,25 @@ RSpec.describe IsoDoc do
|
|
1388
1388
|
</p>
|
1389
1389
|
</div>
|
1390
1390
|
<br/>
|
1391
|
-
|
1391
|
+
<div class="Section3" id="intro">
|
1392
1392
|
<h1 class="IntroTitle">Introduction</h1>
|
1393
|
-
<ol type="a">
|
1394
|
-
<li><p>A</p></li>
|
1393
|
+
<ol type="a" id="N01">
|
1394
|
+
<li id="N1"><p>A</p></li>
|
1395
1395
|
</ol>
|
1396
1396
|
<div id="xyz"><h2>Preparatory</h2>
|
1397
|
-
|
1398
|
-
|
1399
|
-
|
1400
|
-
|
1397
|
+
<ol type="a" id="N02">
|
1398
|
+
<li id="N2"><p>A</p></li>
|
1399
|
+
</ol>
|
1400
|
+
</div>
|
1401
1401
|
</div>
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
<li><p>A</p></li>
|
1402
|
+
<p class="zzSTDTitle1"/>
|
1403
|
+
<div id="scope">
|
1404
|
+
<h1>1.  Scope</h1>
|
1405
|
+
<ol type="a" id="N0">
|
1406
|
+
<li id="N"><p>A</p></li>
|
1407
1407
|
</ol>
|
1408
|
-
|
1409
|
-
|
1408
|
+
</div>
|
1409
|
+
<div id="terms"><h1>2.  Terms and definitions</h1><p>No terms and definitions are listed in this document.</p>
|
1410
1410
|
<p>ISO and IEC maintain terminological databases for use in
|
1411
1411
|
standardization at the following addresses:</p>
|
1412
1412
|
|
@@ -1417,35 +1417,35 @@ RSpec.describe IsoDoc do
|
|
1417
1417
|
<a href="http://www.electropedia.org">http://www.electropedia.org</a>
|
1418
1418
|
</p> </li> </ul>
|
1419
1419
|
</div>
|
1420
|
-
|
1421
|
-
|
1422
|
-
|
1423
|
-
<ol type="a">
|
1424
|
-
<li><p>A</p></li>
|
1420
|
+
<div id="widgets">
|
1421
|
+
<h1>3.  Widgets</h1>
|
1422
|
+
<div id="widgets1"><h2>3.1. </h2>
|
1423
|
+
<ol type="a" id="note1l">
|
1424
|
+
<li id="note1"><p>A</p></li>
|
1425
1425
|
</ol>
|
1426
|
-
<ol type="a">
|
1427
|
-
<li><p>A</p></li>
|
1426
|
+
<ol type="a" id="note2l">
|
1427
|
+
<li id="note2"><p>A</p></li>
|
1428
1428
|
</ol>
|
1429
1429
|
</div>
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1434
|
-
<ol type="a">
|
1435
|
-
<li><p>A</p></li>
|
1430
|
+
</div>
|
1431
|
+
<br/>
|
1432
|
+
<div id="annex1" class="Section3">
|
1433
|
+
<div id="annex1a"><h2>A.1. </h2>
|
1434
|
+
<ol type="a" id="ANl">
|
1435
|
+
<li id="AN"><p>A</p></li>
|
1436
1436
|
</ol>
|
1437
1437
|
</div>
|
1438
|
-
|
1439
|
-
<ol type="a">
|
1440
|
-
<li><p>A</p></li>
|
1438
|
+
<div id="annex1b"><h2>A.2. </h2>
|
1439
|
+
<ol type="a" id="Anote1l">
|
1440
|
+
<li id="Anote1"><p>A</p></li>
|
1441
1441
|
</ol>
|
1442
|
-
<ol type="a">
|
1443
|
-
<li><p>A</p></li>
|
1442
|
+
<ol type="a" id="Anote2l">
|
1443
|
+
<li id="Anote2"><p>A</p></li>
|
1444
1444
|
</ol>
|
1445
1445
|
</div>
|
1446
|
-
</div>
|
1447
1446
|
</div>
|
1448
|
-
</
|
1447
|
+
</div>
|
1448
|
+
</body>
|
1449
1449
|
</html>
|
1450
1450
|
OUTPUT
|
1451
1451
|
end
|
@@ -1503,30 +1503,30 @@ RSpec.describe IsoDoc do
|
|
1503
1503
|
</p>
|
1504
1504
|
</div>
|
1505
1505
|
<p class="zzSTDTitle1"/>
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1522
|
-
|
1523
|
-
|
1524
|
-
|
1525
|
-
|
1526
|
-
|
1527
|
-
|
1528
|
-
|
1529
|
-
|
1506
|
+
<div id="scope">
|
1507
|
+
<h1>1.  Scope</h1>
|
1508
|
+
<ol type="a" id="N1">
|
1509
|
+
<li id="N"><p>A</p>
|
1510
|
+
<ol type="1">
|
1511
|
+
<li id="note1"><p>A</p>
|
1512
|
+
<ol type="i">
|
1513
|
+
<li id="note2"><p>A</p>
|
1514
|
+
<ol type="A">
|
1515
|
+
<li id="AN"><p>A</p>
|
1516
|
+
<ol type="I">
|
1517
|
+
<li id="Anote1"><p>A</p>
|
1518
|
+
<ol type="a">
|
1519
|
+
<li id="Anote2"><p>A</p></li>
|
1520
|
+
</ol></li>
|
1521
|
+
</ol></li>
|
1522
|
+
</ol></li>
|
1523
|
+
</ol></li>
|
1524
|
+
</ol></li>
|
1525
|
+
</ol>
|
1526
|
+
</div>
|
1527
|
+
</div>
|
1528
|
+
</body>
|
1529
|
+
</html>
|
1530
1530
|
OUTPUT
|
1531
1531
|
end
|
1532
1532
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isodoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciimath
|
@@ -137,19 +137,19 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: sassc
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 1.12.1
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 1.12.1
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: metanorma
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|