metanorma-standoc 1.1.1 → 1.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51e50247eb8a0979d7d568867bd281252a690b8373f3e05436840cadfb00edd5
4
- data.tar.gz: 7c00c5489a948885f561b55710399253cd8e0ecc38d1ea12538d07d9459a8c0c
3
+ metadata.gz: 810c273a1e6b17c407448b2bd4c8857cf76c90238924e2f891d9961564379fa8
4
+ data.tar.gz: d2bb301e3c33c71443892e368174673d056d68e29f1ddeecc70f64c922116755
5
5
  SHA512:
6
- metadata.gz: 34c5e293d54c6c32466722efdfb6f2dfaef4939b03ebf676acaf591f52488516f4a2c95deea3b46c8f8c5870c770904afc3a5ec0c140109c7f3cf5eab9c47a8b
7
- data.tar.gz: 9779488fe79002cf065a0ccff2802477096175c1d0e166adeb3fb6d92ffbe8a3f97aead0008b93dfd684044877892e876aa5de34ee1e7832a9beddcd836113f4
6
+ metadata.gz: 6771846b0c74aa8fd58317cf03135e3eb2a635037db1e64e488a6225b6dc4144ca934af8abc41cc551d9e1657abcab5331454a47c48f273fbc9150f8db8cddcf
7
+ data.tar.gz: c94f478d887abd354b24aa6ba9f4dda8095c8eb6ae496f36a871945eaacef4c94e6fb5d8c2e618faaa74dc07ab20fcca0476665f3d533d4f8d8d311fdf75ae29
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metanorma-standoc (1.1.1)
4
+ metanorma-standoc (1.1.2)
5
5
  asciidoctor (~> 1.5.7)
6
6
  concurrent-ruby
7
+ html2doc (~> 0.8.0)
7
8
  iev (~> 0.2.0)
8
9
  isodoc (~> 0.9.0)
9
10
  relaton (~> 0.3.1)
@@ -19,7 +20,7 @@ GEM
19
20
  httpclient (~> 2.8, >= 2.8.3)
20
21
  json (>= 1.5.1)
21
22
  asciidoctor (1.5.8)
22
- asciimath (1.0.7)
23
+ asciimath (1.0.8)
23
24
  ast (2.4.0)
24
25
  byebug (10.0.2)
25
26
  cnccs (0.1.3)
@@ -53,7 +54,7 @@ GEM
53
54
  guard-compat (~> 1.1)
54
55
  rspec (>= 2.99.0, < 4.0)
55
56
  hashdiff (0.3.8)
56
- html2doc (0.8.8)
57
+ html2doc (0.8.9)
57
58
  asciimath (~> 1.0.7)
58
59
  htmlentities (~> 4.3.4)
59
60
  image_size
@@ -82,6 +82,8 @@ module Asciidoctor
82
82
  @draft = node.attributes.has_key?("draft")
83
83
  @novalid = node.attr("novalid")
84
84
  @smartquotes = node.attr("smartquotes") != "false"
85
+ @keepasciimath = node.attr("mn-keep-asciimath") &&
86
+ node.attr("mn-keep-asciimath") != "false"
85
87
  @fontheader = default_fonts(node)
86
88
  @files_to_delete = []
87
89
  @filename = node.attr("docfile") ?
@@ -150,7 +152,7 @@ module Asciidoctor
150
152
  result << noko { |ixml| front node, ixml }
151
153
  result << noko { |ixml| middle node, ixml }
152
154
  result << "</standard-document>"
153
- textcleanup(result.flatten * "\n")
155
+ textcleanup(result)
154
156
  end
155
157
 
156
158
  def makexml(node)
@@ -70,6 +70,11 @@ module Asciidoctor
70
70
  end
71
71
 
72
72
  def note(n)
73
+ a = noko do |xml|
74
+ xml.note **id_attr(n) do |c|
75
+ wrap_in_para(n, c)
76
+ end
77
+ end
73
78
  noko do |xml|
74
79
  xml.note **id_attr(n) do |c|
75
80
  wrap_in_para(n, c)
@@ -200,14 +205,21 @@ module Asciidoctor
200
205
  end
201
206
  end
202
207
 
208
+ # NOTE: html escaping is performed by Nokogiri
203
209
  def listing(node)
204
- # NOTE: html escaping is performed by Nokogiri
205
- noko do |xml|
206
- xml.sourcecode(**id_attr(node)) do |s|
210
+ attrs = { lang: node.attr("language"), id: Utils::anchor_or_uuid(node) }
211
+ fragment = ::Nokogiri::XML::Builder.new do |xml|
212
+ xml.sourcecode **attr_code(attrs) do |s|
207
213
  figure_title(node, s)
208
214
  s << node.content
209
215
  end
210
216
  end
217
+ fragment.to_xml(encoding: "US-ASCII", save_with:
218
+ Nokogiri::XML::Node::SaveOptions::NO_DECLARATION)
219
+ end
220
+
221
+ def pass(node)
222
+ node.content
211
223
  end
212
224
  end
213
225
  end
@@ -2,6 +2,7 @@ require "date"
2
2
  require "nokogiri"
3
3
  require "pathname"
4
4
  require "open-uri"
5
+ require "html2doc"
5
6
  require "pp"
6
7
  require_relative "./cleanup_block.rb"
7
8
  require_relative "./cleanup_footnotes.rb"
@@ -10,7 +11,18 @@ require_relative "./cleanup_ref.rb"
10
11
  module Asciidoctor
11
12
  module Standoc
12
13
  module Cleanup
13
- def textcleanup(text)
14
+ def textcleanup(result)
15
+ text = result.flatten.map { |l| l.sub(/\n$/, "") } * "\n"
16
+ if !@keepasciimath
17
+ text = text.gsub(%r{<stem type="AsciiMath">(.+?)</stem>},
18
+ '<amathstem>\1</amathstem>')
19
+ text = Html2Doc.
20
+ asciimath_to_mathml(text, ['<amathstem>', "</amathstem>"]).
21
+ gsub(%r{<math xmlns='http://www.w3.org/1998/Math/MathML'>},
22
+ "<stem type='MathML'>"\
23
+ "<math xmlns='http://www.w3.org/1998/Math/MathML'>").
24
+ gsub(%r{</math>}, %{</math></stem>})
25
+ end
14
26
  text.gsub(/\s+<fn /, "<fn ")
15
27
  end
16
28
 
@@ -60,7 +72,8 @@ module Asciidoctor
60
72
  TEXT_ELEMS =
61
73
  %w{status language script version author name callout phone email
62
74
  street city state country postcode identifier referenceFrom
63
- referenceTo docidentifier docnumber prefix initial addition surname forename
75
+ referenceTo docidentifier docnumber prefix initial addition surname
76
+ forename
64
77
  title draft secretariat title-main title-intro title-part}.freeze
65
78
 
66
79
  # it seems Nokogiri::XML is treating the content of <script> as cdata,
@@ -228,6 +241,7 @@ module Asciidoctor
228
241
 
229
242
  def mathml_cleanup(xmldoc)
230
243
  xmldoc.xpath("//stem[@type = 'MathML']").each do |x|
244
+ next if x.children.any? { |y| y.element? }
231
245
  math = x.text.gsub(/&lt;/, "<").gsub(/&gt;/, ">").gsub(/&quot;/, '"').
232
246
  gsub(/&amp;/, "&").gsub(/<[^:\/]+:/, "<").gsub(/<\/[^:]+:/, "</").
233
247
  gsub(/ xmlns[^>]+/, "").
@@ -9,6 +9,11 @@ require "pp"
9
9
  module Asciidoctor
10
10
  module Standoc
11
11
  module Cleanup
12
+ def footnote_content(fn)
13
+ c = fn.children.respond_to?(:to_xml) ? fn.children.to_xml : fn.children
14
+ c.gsub(/ id="[^"]+"/, "")
15
+ end
16
+
12
17
  # include footnotes inside figure
13
18
  def figure_footnote_cleanup(xmldoc)
14
19
  nomatches = false
@@ -24,11 +29,12 @@ module Asciidoctor
24
29
  end
25
30
 
26
31
  def table_footnote_renumber1(fn, i, seen)
27
- if seen[fn.text] then outnum = seen[fn.text]
32
+ content = footnote_content(fn)
33
+ if seen[content] then outnum = seen[content]
28
34
  else
29
35
  i += 1
30
36
  outnum = i
31
- seen[fn.text] = outnum
37
+ seen[content] = outnum
32
38
  end
33
39
  fn["reference"] = (outnum - 1 + "a".ord).chr
34
40
  fn["table"] = true
@@ -47,11 +53,12 @@ module Asciidoctor
47
53
 
48
54
  def other_footnote_renumber1(fn, i, seen)
49
55
  unless fn["table"]
50
- if seen[fn.text] then outnum = seen[fn.text]
56
+ content = footnote_content(fn)
57
+ if seen[content] then outnum = seen[content]
51
58
  else
52
59
  i += 1
53
60
  outnum = i
54
- seen[fn.text] = outnum
61
+ seen[content] = outnum
55
62
  end
56
63
  fn["reference"] = outnum.to_s
57
64
  end
@@ -493,6 +493,9 @@
493
493
  <attribute name="id">
494
494
  <data type="ID"/>
495
495
  </attribute>
496
+ <optional>
497
+ <attribute name="lang"/>
498
+ </optional>
496
499
  <optional>
497
500
  <ref name="tname"/>
498
501
  </optional>
@@ -90,6 +90,7 @@ module Asciidoctor
90
90
  else
91
91
  warn "PlantUML not installed"
92
92
  # attrs.delete(1) : remove the style attribute
93
+ attrs["language"] = "plantuml"
93
94
  create_listing_block parent, reader.source, attrs.reject { |k, v| k == 1 }
94
95
  end
95
96
  end
@@ -116,16 +116,25 @@ module Asciidoctor
116
116
 
117
117
  def symbols_parse(attrs, xml, node)
118
118
  xml.definitions **attr_code(attrs) do |xml_section|
119
+ xml_section.title { |t| t << node.title }
119
120
  xml_section << node.content
120
121
  end
121
122
  end
122
123
 
124
+ SYMBOLS_TITLES = ["symbols and abbreviated terms", "symbols",
125
+ "abbreviated terms"].freeze
126
+
123
127
  # subclause contains subclauses
124
128
  def term_def_subclause_parse(attrs, xml, node)
125
- return clause_parse(attrs, xml, node) if node.role == "nonterm"
129
+ if node.role == "nonterm"
130
+ @term_def = false
131
+ clause_parse(attrs, xml, node)
132
+ @term_def = true
133
+ return
134
+ end
126
135
  sub = node.find_by(context: :section) { |s| s.level == node.level + 1 }
127
136
  sub.empty? || (return term_def_parse(attrs, xml, node, false))
128
- node.title.casecmp("symbols and abbreviated terms").zero? &&
137
+ SYMBOLS_TITLES.include?(node.title.downcase) and
129
138
  (return symbols_parse(attrs, xml, node))
130
139
  xml.term **attr_code(attrs) do |xml_section|
131
140
  xml_section.preferred { |name| name << node.title }
@@ -136,7 +145,7 @@ module Asciidoctor
136
145
  def term_def_title(toplevel, node)
137
146
  return node.title unless toplevel
138
147
  sub = node.find_by(context: :section) do |s|
139
- s.title.casecmp("symbols and abbreviated terms").zero?
148
+ SYMBOLS_TITLES.include? s.title.downcase
140
149
  end
141
150
  return "Terms and definitions" if sub.empty?
142
151
  "Terms, definitions, symbols and abbreviated terms"
@@ -110,7 +110,8 @@ module Asciidoctor
110
110
  fragment = doc.fragment("")
111
111
  ::Nokogiri::XML::Builder.with fragment, &block
112
112
  fragment.to_xml(encoding: "US-ASCII").lines.map do |l|
113
- l.gsub(/\s*\n/, " ")
113
+ #l.gsub(/(?<!\s)\n/, " ")
114
+ l.sub(/\n$/, " ")
114
115
  end
115
116
  end
116
117
 
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Standoc
3
- VERSION = "1.1.1".freeze
3
+ VERSION = "1.1.2".freeze
4
4
  end
5
5
  end
@@ -33,6 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency "relaton", "~> 0.3.1"
34
34
  spec.add_dependency "sterile", "~> 1.0.14"
35
35
  spec.add_dependency "concurrent-ruby"
36
+ spec.add_dependency "html2doc", "~> 0.8.0"
36
37
 
37
38
  spec.add_development_dependency "bundler", "~> 2.0.1"
38
39
  spec.add_development_dependency "byebug"
@@ -1,6 +1,22 @@
1
1
  require "spec_helper"
2
2
 
3
3
  RSpec.describe Asciidoctor::Standoc do
4
+ it "processes pass blocks" do
5
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
6
+ #{ASCIIDOC_BLANK_HDR}
7
+
8
+ ++++
9
+ <abc>X &gt; Y</abc>
10
+ ++++
11
+ INPUT
12
+ #{BLANK_HDR}
13
+ <sections>
14
+ <abc>X &gt; Y</abc>
15
+ </sections>
16
+ </standard-document>
17
+ OUTPUT
18
+ end
19
+
4
20
  it "processes open blocks" do
5
21
  expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
6
22
  #{ASCIIDOC_BLANK_HDR}
@@ -142,6 +158,33 @@ RSpec.describe Asciidoctor::Standoc do
142
158
  OUTPUT
143
159
  end
144
160
 
161
+ it "processes term notes as plain notes in nonterm clauses" do
162
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
163
+ #{ASCIIDOC_BLANK_HDR}
164
+ == Terms and Definitions
165
+
166
+ [.nonterm]
167
+ === Term1
168
+
169
+ NOTE: This is a note
170
+ INPUT
171
+ #{BLANK_HDR}
172
+ <sections>
173
+ <terms id="_" obligation="normative">
174
+ <title>Terms and definitions</title>
175
+ <clause id="_" inline-header="false" obligation="normative">
176
+ <title>Term1</title>
177
+ <note id="_">
178
+ <p id="_">This is a note</p>
179
+ </note>
180
+ </clause>
181
+ </terms>
182
+ </sections>
183
+ </standard-document>
184
+
185
+ OUTPUT
186
+ end
187
+
145
188
  it "processes notes" do
146
189
  expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
147
190
  #{ASCIIDOC_BLANK_HDR}
@@ -266,6 +309,34 @@ RSpec.describe Asciidoctor::Standoc do
266
309
  OUTPUT
267
310
  end
268
311
 
312
+ it "processes term examples as plain examples in nonterm clauses" do
313
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
314
+ #{ASCIIDOC_BLANK_HDR}
315
+ == Terms and Definitions
316
+
317
+ [.nonterm]
318
+ === Term1
319
+
320
+ [example]
321
+ This is an example
322
+ INPUT
323
+ #{BLANK_HDR}
324
+ <sections>
325
+ <terms id="_" obligation="normative">
326
+ <title>Terms and definitions</title>
327
+ <clause id="_" inline-header="false" obligation="normative">
328
+ <title>Term1</title>
329
+ <example id="_">
330
+ <p id="_">This is an example</p>
331
+ </example>
332
+ </clause>
333
+ </terms>
334
+ </sections>
335
+ </standard-document>
336
+ OUTPUT
337
+ end
338
+
339
+
269
340
  it "processes examples" do
270
341
  expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
271
342
  #{ASCIIDOC_BLANK_HDR}
@@ -434,7 +505,7 @@ RSpec.describe Asciidoctor::Standoc do
434
505
  INPUT
435
506
  #{BLANK_HDR}
436
507
  <sections>
437
- <sourcecode id="_"><name>Caption</name>puts "Hello, world."
508
+ <sourcecode id="_" lang="ruby"><name>Caption</name>puts "Hello, world."
438
509
  %w{a b c}.each do |x|
439
510
  puts x
440
511
  end</sourcecode>
@@ -457,7 +528,7 @@ RSpec.describe Asciidoctor::Standoc do
457
528
  <2> This is another callout
458
529
  INPUT
459
530
  #{BLANK_HDR}
460
- <sections><sourcecode id="_">puts "Hello, world." <callout target="_">1</callout>
531
+ <sections><sourcecode id="_" lang="ruby">puts "Hello, world." <callout target="_">1</callout>
461
532
  %w{a b c}.each do |x|
462
533
  puts x <callout target="_">2</callout>
463
534
  end<annotation id="_">
@@ -143,7 +143,7 @@ RSpec.describe Asciidoctor::Standoc do
143
143
  <sections>
144
144
  <terms id="_" obligation="normative">
145
145
  <title>Terms and definitions</title>
146
- <term id="_"><preferred><stem type="AsciiMath">t_90</stem></preferred><admitted><stem type="AsciiMath">t_91</stem></admitted>
146
+ <term id="_"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>t</mi><mn>90</mn></msub></math></stem></preferred><admitted><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>t</mi><mn>91</mn></msub></math></stem></admitted>
147
147
  <definition><p id="_">Time</p></definition></term>
148
148
  </terms>
149
149
  </sections>
@@ -198,9 +198,10 @@ RSpec.describe Asciidoctor::Standoc do
198
198
  <sections>
199
199
  <terms id="_" obligation="normative">
200
200
  <title>Terms and definitions</title>
201
- <term id="_"><preferred><stem type="AsciiMath">t_90</stem></preferred><definition><formula id="_">
202
- <stem type="AsciiMath">t_A</stem>
203
- </formula><p id="_">This paragraph is extraneous</p></definition>
201
+ <term id="_"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>t</mi><mn>90</mn></msub></math></stem></preferred><definition><formula id="_">
202
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>t</mi><mi>A</mi></msub></math></stem>
203
+ </formula>
204
+ <p id="_">This paragraph is extraneous</p></definition>
204
205
  </term>
205
206
  </terms>
206
207
  </sections>
@@ -271,7 +272,7 @@ r = 1 %</stem>
271
272
  NOTE: That loop does not do much
272
273
  INPUT
273
274
  #{BLANK_HDR}
274
- <sections><sourcecode id="_">[1...x].each do |y|
275
+ <sections><sourcecode id="_" lang="ruby">[1...x].each do |y|
275
276
  puts y
276
277
  end</sourcecode>
277
278
  <note id="_">
@@ -635,7 +636,7 @@ r = 1 %</stem>
635
636
  INPUT
636
637
  #{BLANK_HDR}
637
638
  <sections><formula id="_">
638
- <stem type="AsciiMath">Formula</stem>
639
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><mtext>or</mtext><mi>μ</mi><mi>l</mi><mi>a</mi></math></stem>
639
640
  <dl id="_">
640
641
  <dt>a</dt>
641
642
  <dd>
@@ -1075,6 +1076,109 @@ r = 1 %</stem>
1075
1076
  FileUtils.mv File.expand_path("~/.relaton-bib.pstore1"), File.expand_path("~/.relaton/cache"), force: true
1076
1077
  end
1077
1078
 
1079
+ it "counts footnotes with link-only content as separate footnotes" do
1080
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
1081
+ #{ASCIIDOC_BLANK_HDR}
1082
+
1083
+ footnote:[http://www.example.com]
1084
+
1085
+ footnote:[http://www.example.com]
1086
+
1087
+ footnote:[http://www.example1.com]
1088
+ INPUT
1089
+ #{BLANK_HDR}
1090
+ <sections><p id="_"><fn reference="1">
1091
+ <p id="_">
1092
+ <link target="http://www.example.com"/>
1093
+ </p>
1094
+ </fn>
1095
+ </p>
1096
+ <p id="_"><fn reference="1">
1097
+ <p id="_">
1098
+ <link target="http://www.example.com"/>
1099
+ </p>
1100
+ </fn>
1101
+ </p>
1102
+ <p id="_"><fn reference="2">
1103
+ <p id="_">
1104
+ <link target="http://www.example1.com"/>
1105
+ </p>
1106
+ </fn>
1107
+ </p></sections>
1108
+
1109
+
1110
+ </standard-document>
1111
+ OUTPUT
1112
+ end
1113
+
1114
+ it "retains AsciiMath on request" do
1115
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
1116
+ = Document title
1117
+ Author
1118
+ :docfile: test.adoc
1119
+ :nodoc:
1120
+ :novalid:
1121
+ :no-isobib:
1122
+ :mn-keep-asciimath:
1123
+
1124
+ stem:[1/r]
1125
+ INPUT
1126
+ #{BLANK_HDR}
1127
+ <sections>
1128
+ <p id="_">
1129
+ <stem type="AsciiMath">1/r</stem>
1130
+ </p>
1131
+ </sections>
1132
+ </standard-document>
1133
+
1134
+ OUTPUT
1135
+ end
1136
+
1137
+ it "converts AsciiMath to MathML by default" do
1138
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
1139
+ = Document title
1140
+ Author
1141
+ :docfile: test.adoc
1142
+ :nodoc:
1143
+ :novalid:
1144
+ :no-isobib:
1145
+
1146
+ stem:[1/r]
1147
+ INPUT
1148
+ #{BLANK_HDR}
1149
+ <sections>
1150
+ <p id="_">
1151
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mn>1</mn><mi>r</mi></mfrac></math></stem>
1152
+ </p>
1153
+ </sections>
1154
+ </standard-document>
1155
+ OUTPUT
1156
+ end
1157
+
1158
+ it "cleans up text MathML" do
1159
+ expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
1160
+ = Document title
1161
+ Author
1162
+ :docfile: test.adoc
1163
+ :nodoc:
1164
+ :novalid:
1165
+ :no-isobib:
1166
+
1167
+ ++++
1168
+ <stem type="MathML">&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;/mfrac&gt;&lt;/math&gt;</stem>
1169
+ ++++
1170
+ INPUT
1171
+ #{BLANK_HDR}
1172
+ <sections>
1173
+ <stem type="MathML">/www.w3.org/1998/Math/MathML”&gt;<mfrac><mn>1</mn><mi>r</mi></mfrac></stem>
1174
+ </sections>
1175
+
1176
+
1177
+ </standard-document>
1178
+ OUTPUT
1179
+ end
1180
+
1181
+
1078
1182
  private
1079
1183
 
1080
1184
  def mock_iecbib_get_iec60050_103_01
@@ -32,7 +32,7 @@ RSpec.describe Asciidoctor::Standoc do
32
32
  super<sup>script</sup>
33
33
  sub<sub>script</sub>
34
34
  sub<sub><em>scr</em>ipt</sub>
35
- <stem type="AsciiMath">a_90</stem>
35
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>a</mi><mn>90</mn></msub></math></stem>
36
36
  <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub> <mrow> <mrow> <mi mathvariant="bold-italic">F</mi> </mrow> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">Α</mi> </mrow> </mrow> </msub> </math></stem>
37
37
  <admitted>alt</admitted>
38
38
  <deprecates>deprecated</deprecates>
@@ -103,7 +103,7 @@ RSpec.describe Asciidoctor::Standoc do
103
103
  INPUT
104
104
  #{BLANK_HDR}
105
105
  <sections>
106
- <sourcecode id="_">@startuml
106
+ <sourcecode id="_" lang="plantuml">@startuml
107
107
  Alice -&gt; Bob: Authentication Request
108
108
  Bob --&gt; Alice: Authentication Response
109
109
 
@@ -38,7 +38,7 @@ RSpec.describe Asciidoctor::Standoc do
38
38
 
39
39
  === Symbols and Abbreviated Terms
40
40
 
41
- == Symbols and Abbreviated Terms
41
+ == Abbreviated Terms
42
42
 
43
43
  == Clause 4
44
44
 
@@ -89,8 +89,9 @@ RSpec.describe Asciidoctor::Standoc do
89
89
  <preferred>Term2</preferred>
90
90
  </term>
91
91
  </terms>
92
- <definitions id="_"/></clause>
93
- <definitions id="_"/>
92
+ <definitions id="_"><title>Symbols and Abbreviated Terms</title></definitions>
93
+ </clause>
94
+ <definitions id="_"><title>Abbreviated Terms</title></definitions>
94
95
  <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="_" inline-header="false" obligation="normative">
95
96
  <title>Introduction</title>
96
97
  </clause>
@@ -197,8 +198,8 @@ RSpec.describe Asciidoctor::Standoc do
197
198
  <preferred>Term2</preferred>
198
199
  </term>
199
200
  </clause>
200
- <definitions id="_"/></terms>
201
- <definitions id="_"/>
201
+ <definitions id="_"><title>Σύμβολα και Συντομογραφίες</title> </definitions></terms>
202
+ <definitions id="_"><title>Σύμβολα και Συντομογραφίες</title> </definitions>
202
203
  <clause id="_" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="_" inline-header="false" obligation="normative">
203
204
  <title>Introduction</title>
204
205
  </clause>
@@ -150,7 +150,7 @@ RSpec.describe Asciidoctor::Standoc do
150
150
  <tr>
151
151
  <th rowspan="2" align="left">Defect</th>
152
152
  <th colspan="4" align="center">Maximum permissible mass fraction of defects in husked rice<br/>
153
- <stem type="AsciiMath">w_max</stem></th>
153
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>w</mi><mi>max</mi></msub></math></stem></th>
154
154
  </tr>
155
155
  <tr>
156
156
  <td align="left">in husked rice</td>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-21 00:00:00.000000000 Z
11
+ date: 2019-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: html2doc
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.8.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.8.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: bundler
113
127
  requirement: !ruby/object:Gem::Requirement