isodoc 0.7.1 → 0.8

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -6
  3. data/README.adoc +3 -3
  4. data/lib/{isodoc → isodoc-yaml}/i18n-en.yaml +0 -0
  5. data/lib/{isodoc → isodoc-yaml}/i18n-fr.yaml +0 -0
  6. data/lib/{isodoc → isodoc-yaml}/i18n-zh-Hans.yaml +0 -0
  7. data/lib/isodoc.rb +13 -6
  8. data/lib/isodoc/class_utils.rb +24 -0
  9. data/lib/isodoc/common.rb +34 -0
  10. data/lib/isodoc/convert.rb +3 -16
  11. data/lib/isodoc/function.rb +4 -0
  12. data/lib/isodoc/{blocks.rb → function/blocks.rb} +2 -2
  13. data/lib/isodoc/{cleanup.rb → function/cleanup.rb} +4 -9
  14. data/lib/isodoc/{i18n.rb → function/i18n.rb} +13 -10
  15. data/lib/isodoc/{inline.rb → function/inline.rb} +2 -4
  16. data/lib/isodoc/{lists.rb → function/lists.rb} +5 -4
  17. data/lib/isodoc/{references.rb → function/references.rb} +4 -3
  18. data/lib/isodoc/{section.rb → function/section.rb} +4 -3
  19. data/lib/isodoc/{table.rb → function/table.rb} +3 -2
  20. data/lib/isodoc/{terms.rb → function/terms.rb} +3 -2
  21. data/lib/isodoc/{iso2wordhtml.rb → function/to_word_html.rb} +2 -3
  22. data/lib/isodoc/{utils.rb → function/utils.rb} +6 -22
  23. data/lib/isodoc/{xref_gen.rb → function/xref_gen.rb} +4 -3
  24. data/lib/isodoc/{xref_sect_gen.rb → function/xref_sect_gen.rb} +4 -3
  25. data/lib/isodoc/html_convert.rb +12 -0
  26. data/lib/isodoc/html_function.rb +4 -0
  27. data/lib/isodoc/{htmlconvert → html_function}/comments.rb +2 -3
  28. data/lib/isodoc/{htmlconvert → html_function}/footnotes.rb +3 -4
  29. data/lib/isodoc/{htmlconvert → html_function}/html.rb +5 -5
  30. data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -2
  31. data/lib/isodoc/iso/{convert.rb → html_convert.rb} +1 -1
  32. data/lib/isodoc/iso/{wordconvert.rb → word_convert.rb} +0 -0
  33. data/lib/isodoc/metadata.rb +27 -12
  34. data/lib/isodoc/version.rb +1 -1
  35. data/lib/isodoc/{wordconvert/convert.rb → word_convert.rb} +9 -11
  36. data/lib/isodoc/word_function.rb +4 -0
  37. data/lib/isodoc/word_function/body.rb +149 -0
  38. data/lib/isodoc/{wordconvert → word_function}/comments.rb +2 -2
  39. data/lib/isodoc/word_function/footnotes.rb +81 -0
  40. data/lib/isodoc/word_function/postprocess.rb +116 -0
  41. data/spec/isodoc/blocks_spec.rb +17 -17
  42. data/spec/isodoc/cleanup_spec.rb +8 -8
  43. data/spec/isodoc/footnotes_spec.rb +2 -2
  44. data/spec/isodoc/i18n_spec.rb +4 -4
  45. data/spec/isodoc/inline_spec.rb +7 -7
  46. data/spec/isodoc/iso_spec.rb +5 -5
  47. data/spec/isodoc/lists_spec.rb +4 -4
  48. data/spec/isodoc/metadata_spec.rb +2 -2
  49. data/spec/isodoc/postproc_spec.rb +9 -9
  50. data/spec/isodoc/ref_spec.rb +3 -3
  51. data/spec/isodoc/section_spec.rb +6 -6
  52. data/spec/isodoc/table_spec.rb +1 -1
  53. data/spec/isodoc/terms_spec.rb +1 -1
  54. data/spec/isodoc/xref_spec.rb +11 -11
  55. metadata +35 -30
  56. data/lib/isodoc/htmlconvert/convert.rb +0 -13
  57. data/lib/isodoc/wordconvert/footnotes.rb +0 -81
  58. data/lib/isodoc/wordconvert/postprocess.rb +0 -115
  59. data/lib/isodoc/wordconvert/wordconvertmodule.rb +0 -150
@@ -0,0 +1,116 @@
1
+ module IsoDoc::WordFunction
2
+ module Postprocess
3
+
4
+ def postprocess(result, filename, dir)
5
+ header = generate_header(filename, dir)
6
+ result = from_xhtml(cleanup(to_xhtml(result)))
7
+ toWord(result, filename, dir, header)
8
+ @files_to_delete.each { |f| system "rm #{f}" }
9
+ end
10
+
11
+ def toWord(result, filename, dir, header)
12
+ result = populate_template(result, :word)
13
+ result = from_xhtml(word_cleanup(to_xhtml(result)))
14
+ Html2Doc.process(result, filename: filename, stylesheet: @wordstylesheet,
15
+ header_file: header, dir: dir,
16
+ asciimathdelims: [@openmathdelim, @closemathdelim],
17
+ liststyles: { ul: @ulstyle, ol: @olstyle })
18
+ end
19
+
20
+ def word_cleanup(docxml)
21
+ word_preface(docxml)
22
+ word_annex_cleanup(docxml)
23
+ docxml
24
+ end
25
+
26
+ # force Annex h2 to be p.h2Annex, so it is not picked up by ToC
27
+ def word_annex_cleanup(docxml)
28
+ docxml.xpath("//h2[ancestor::*[@class = 'Section3']]").each do |h2|
29
+ h2.name = "p"
30
+ h2["class"] = "h2Annex"
31
+ end
32
+ end
33
+
34
+ def word_preface(docxml)
35
+ word_cover(docxml) if @wordcoverpage
36
+ word_intro(docxml) if @wordintropage
37
+ end
38
+
39
+ def word_cover(docxml)
40
+ cover = File.read(@wordcoverpage, encoding: "UTF-8")
41
+ cover = populate_template(cover, :word)
42
+ coverxml = to_xhtml_fragment(cover)
43
+ docxml.at('//div[@class="WordSection1"]').children.first.previous =
44
+ coverxml.to_xml(encoding: "US-ASCII")
45
+ end
46
+
47
+ def word_intro(docxml)
48
+ intro = File.read(@wordintropage, encoding: "UTF-8").
49
+ sub(/WORDTOC/, make_WordToC(docxml))
50
+ intro = populate_template(intro, :word)
51
+ introxml = to_xhtml_fragment(intro)
52
+ docxml.at('//div[@class="WordSection2"]').children.first.previous =
53
+ introxml.to_xml(encoding: "US-ASCII")
54
+ end
55
+
56
+ def generate_header(filename, _dir)
57
+ return nil unless @header
58
+ template = Liquid::Template.parse(File.read(@header, encoding: "UTF-8"))
59
+ meta = @meta.get
60
+ meta[:filename] = filename
61
+ params = meta.map { |k, v| [k.to_s, v] }.to_h
62
+ File.open("header.html", "w") do |f|
63
+ f.write(template.render(params))
64
+ end
65
+ @files_to_delete << "header.html"
66
+ "header.html"
67
+ end
68
+
69
+ def word_toc_entry(toclevel, heading)
70
+ bookmark = Random.rand(1000000000)
71
+ <<~TOC
72
+ <p class="MsoToc#{toclevel}"><span class="MsoHyperlink"><span
73
+ lang="EN-GB" style='mso-no-proof:yes'>
74
+ <a href="#_Toc#{bookmark}">#{heading}<span lang="EN-GB"
75
+ class="MsoTocTextSpan">
76
+ <span style='mso-tab-count:1 dotted'>. </span>
77
+ </span><span lang="EN-GB" class="MsoTocTextSpan">
78
+ <span style='mso-element:field-begin'></span></span>
79
+ <span lang="EN-GB"
80
+ class="MsoTocTextSpan"> PAGEREF _Toc#{bookmark} \\h </span>
81
+ <span lang="EN-GB" class="MsoTocTextSpan"><span
82
+ style='mso-element:field-separator'></span></span><span
83
+ lang="EN-GB" class="MsoTocTextSpan">1</span>
84
+ <span lang="EN-GB"
85
+ class="MsoTocTextSpan"></span><span
86
+ lang="EN-GB" class="MsoTocTextSpan"><span
87
+ style='mso-element:field-end'></span></span></a></span></span></p>
88
+
89
+ TOC
90
+ end
91
+
92
+ WORD_TOC_PREFACE1 = <<~TOC.freeze
93
+ <span lang="EN-GB"><span
94
+ style='mso-element:field-begin'></span><span
95
+ style='mso-spacerun:yes'>&#xA0;</span>TOC
96
+ \\o &quot;1-2&quot; \\h \\z \\u <span
97
+ style='mso-element:field-separator'></span></span>
98
+ TOC
99
+
100
+ WORD_TOC_SUFFIX1 = <<~TOC.freeze
101
+ <p class="MsoToc1"><span lang="EN-GB"><span
102
+ style='mso-element:field-end'></span></span><span
103
+ lang="EN-GB"><o:p>&nbsp;</o:p></span></p>
104
+ TOC
105
+
106
+ def make_WordToC(docxml)
107
+ toc = ""
108
+ docxml.xpath("//h1 | //h2[not(ancestor::*[@class = 'Section3'])]").
109
+ each do |h|
110
+ toc += word_toc_entry(h.name == "h1" ? 1 : 2, header_strip(h))
111
+ end
112
+ toc.sub(/(<p class="MsoToc1">)/,
113
+ %{\\1#{WORD_TOC_PREFACE1}}) + WORD_TOC_SUFFIX1
114
+ end
115
+ end
116
+ end
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
4
  it "processes unlabelled notes" do
5
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
5
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <preface><foreword>
8
8
  <note>
@@ -27,7 +27,7 @@ RSpec.describe IsoDoc do
27
27
  end
28
28
 
29
29
  it "processes labelled notes" do
30
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
30
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
31
31
  <iso-standard xmlns="http://riboseinc.com/isoxml">
32
32
  <preface><foreword>
33
33
  <note id="note1">
@@ -52,7 +52,7 @@ INPUT
52
52
  end
53
53
 
54
54
  it "processes sequences of notes" do
55
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
55
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
56
56
  <iso-standard xmlns="http://riboseinc.com/isoxml">
57
57
  <preface><foreword>
58
58
  <note id="note1">
@@ -83,7 +83,7 @@ INPUT
83
83
  end
84
84
 
85
85
  it "processes multi-para notes" do
86
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
86
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
87
87
  <iso-standard xmlns="http://riboseinc.com/isoxml">
88
88
  <preface><foreword>
89
89
  <note>
@@ -110,7 +110,7 @@ INPUT
110
110
  end
111
111
 
112
112
  it "processes non-para notes" do
113
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
113
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
114
114
  <iso-standard xmlns="http://riboseinc.com/isoxml">
115
115
  <preface><foreword>
116
116
  <note>
@@ -143,7 +143,7 @@ INPUT
143
143
  end
144
144
 
145
145
  it "processes figures" do
146
- expect(strip_guid(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to <<~"OUTPUT"
146
+ expect(strip_guid(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to <<~"OUTPUT"
147
147
  <iso-standard xmlns="http://riboseinc.com/isoxml">
148
148
  <preface><foreword>
149
149
  <figure id="figureA-1">
@@ -180,7 +180,7 @@ INPUT
180
180
  OUTPUT
181
181
  end
182
182
 
183
- it "processes figures (Word)" do
183
+ it "processes figures (Word)" do
184
184
  expect(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to <<~"OUTPUT"
185
185
  <iso-standard xmlns="http://riboseinc.com/isoxml">
186
186
  <preface><foreword>
@@ -232,7 +232,7 @@ INPUT
232
232
  end
233
233
 
234
234
  it "processes examples" do
235
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
235
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
236
236
  <iso-standard xmlns="http://riboseinc.com/isoxml">
237
237
  <preface><foreword>
238
238
  <example id="samplecode">
@@ -263,7 +263,7 @@ INPUT
263
263
 
264
264
 
265
265
  it "processes sequences of examples" do
266
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
266
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
267
267
  <iso-standard xmlns="http://riboseinc.com/isoxml">
268
268
  <preface><foreword>
269
269
  <example id="samplecode">
@@ -304,7 +304,7 @@ INPUT
304
304
  end
305
305
 
306
306
  it "processes sourcecode" do
307
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
307
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
308
308
  <iso-standard xmlns="http://riboseinc.com/isoxml">
309
309
  <preface><foreword>
310
310
  <sourcecode id="samplecode">
@@ -328,7 +328,7 @@ INPUT
328
328
  end
329
329
 
330
330
  it "processes sourcecode with escapes preserved" do
331
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
331
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
332
332
  <iso-standard xmlns="http://riboseinc.com/isoxml">
333
333
  <preface><foreword>
334
334
  <sourcecode id="samplecode">
@@ -352,7 +352,7 @@ INPUT
352
352
  end
353
353
 
354
354
  it "processes sourcecode with annotations" do
355
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
355
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
356
356
  <iso-standard xmlns="http://riboseinc.com/isoxml">
357
357
  <preface><foreword>
358
358
  <sourcecode id="_">puts "Hello, world." <callout target="A">1</callout>
@@ -384,7 +384,7 @@ INPUT
384
384
  end
385
385
 
386
386
  it "processes admonitions" do
387
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
387
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
388
388
  <iso-standard xmlns="http://riboseinc.com/isoxml">
389
389
  <preface><foreword>
390
390
  <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution">
@@ -409,7 +409,7 @@ INPUT
409
409
  end
410
410
 
411
411
  it "processes formulae" do
412
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
412
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
413
413
  <iso-standard xmlns="http://riboseinc.com/isoxml">
414
414
  <preface><foreword>
415
415
  <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934">
@@ -448,7 +448,7 @@ INPUT
448
448
  end
449
449
 
450
450
  it "processes paragraph alignments" do
451
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
451
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
452
452
  <iso-standard xmlns="http://riboseinc.com/isoxml">
453
453
  <preface><foreword>
454
454
  <p align="left" id="_08bfe952-d57f-4150-9c95-5d52098cc2a8">Vache Equipment<br/>
@@ -519,7 +519,7 @@ World</p>
519
519
 
520
520
 
521
521
  it "processes blockquotes" do
522
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
522
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
523
523
  <iso-standard xmlns="http://riboseinc.com/isoxml">
524
524
  <preface><foreword>
525
525
  <quote id="_044bd364-c832-4b78-8fea-92242402a1d1">
@@ -549,7 +549,7 @@ World</p>
549
549
  end
550
550
 
551
551
  it "processes term domains" do
552
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
552
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
553
553
  <iso-standard xmlns="http://riboseinc.com/isoxml">
554
554
  <sections>
555
555
  <terms>
@@ -3,7 +3,7 @@ require "nokogiri"
3
3
 
4
4
  RSpec.describe IsoDoc do
5
5
  it "cleans up admonitions" do
6
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
6
+ expect(IsoDoc::WordConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
7
7
  <html>
8
8
  <body>
9
9
  <div class="Admonition">
@@ -26,7 +26,7 @@ RSpec.describe IsoDoc do
26
26
  end
27
27
 
28
28
  it "cleans up figures" do
29
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
29
+ expect(IsoDoc::HtmlConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
30
30
  <html xmlns:epub="http://www.idpf.org/2007/ops">
31
31
  <body>
32
32
  <div class="figure">
@@ -80,7 +80,7 @@ RSpec.describe IsoDoc do
80
80
  end
81
81
 
82
82
  it "cleans up inline headers" do
83
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
83
+ expect(IsoDoc::WordConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
84
84
  <html xmlns:epub="http://www.idpf.org/2007/ops">
85
85
  <head>
86
86
  <title>test</title>
@@ -149,7 +149,7 @@ RSpec.describe IsoDoc do
149
149
  end
150
150
 
151
151
  it "cleans up footnotes" do
152
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
152
+ expect(IsoDoc::HtmlConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
153
153
  <html xmlns:epub="http://www.idpf.org/2007/ops">
154
154
  <head>
155
155
  <title>test</title>
@@ -218,7 +218,7 @@ RSpec.describe IsoDoc do
218
218
  end
219
219
 
220
220
  it "cleans up tables with tfoot" do
221
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
221
+ expect(IsoDoc::HtmlConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
222
222
  <html xmlns:epub="http://www.idpf.org/2007/ops">
223
223
  <head>
224
224
  <title>test</title>
@@ -505,7 +505,7 @@ INPUT
505
505
  <td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:0pt;">2,26</td>
506
506
  <td align="center" style="border-top:solid windowtext 1.5pt;border-bottom:0pt;">6,06</td>
507
507
  </tr>
508
- <tr><td colspan="5" style="border-top:0pt;mso-border-top-alt:0pt; border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;"><div id="" class="Note">
508
+ <tr><td colspan="5" style="border-top:0pt;mso-border-top-alt:0pt;border-bottom:solid windowtext 1.5pt;mso-border-bottom-alt:solid windowtext 1.5pt;"><div id="" class="Note">
509
509
  <p class="Note">NOTE<span style="mso-tab-count:1">&#xA0; </span>This is a table about rice</p>
510
510
  </div><div class="TableFootnote"><div id="ftntableD-1a">
511
511
  <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55" class="TableFootnote"><a id="tableD-1a" class="TableFootnoteRef">a<span style="mso-tab-count:1">&#xA0; </span></a>Parboiled rice.</p>
@@ -533,7 +533,7 @@ INPUT
533
533
 
534
534
 
535
535
  it "cleans up tables without tfoot" do
536
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
536
+ expect(IsoDoc::HtmlConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
537
537
  <html xmlns:epub="http://www.idpf.org/2007/ops">
538
538
  <head>
539
539
  <title>test</title>
@@ -672,7 +672,7 @@ INPUT
672
672
  end
673
673
 
674
674
  it "cleans up symbols lists" do
675
- expect(IsoDoc::Convert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
675
+ expect(IsoDoc::WordConvert.new({}).cleanup(Nokogiri::XML(<<~"INPUT")).to_s).to be_equivalent_to <<~"OUTPUT"
676
676
  <div id="L" class="Symbols">
677
677
  <h1>4.<span style="mso-tab-count:1">&#160; </span>Symbols and Abbreviated Terms</h1>
678
678
  <dl>
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
4
  it "processes IsoXML footnotes" do
5
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
5
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <preface>
8
8
  <foreword>
@@ -94,7 +94,7 @@ RSpec.describe IsoDoc do
94
94
 
95
95
  it "processes IsoXML reviewer notes" do
96
96
  system "rm -f test.html"
97
- IsoDoc::Convert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("test", <<~"INPUT", false)
97
+ IsoDoc::HtmlConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.css"}).convert("test", <<~"INPUT", false)
98
98
  <iso-standard xmlns="http://riboseinc.com/isoxml">
99
99
  <preface>
100
100
  <foreword>
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
4
  it "processes English" do
5
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
5
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <bibdata>
8
8
  <language>en</language>
@@ -159,7 +159,7 @@ RSpec.describe IsoDoc do
159
159
  end
160
160
 
161
161
  it "defaults to English" do
162
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
162
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
163
163
  <iso-standard xmlns="http://riboseinc.com/isoxml">
164
164
  <bibdata>
165
165
  <language>tlh</language>
@@ -316,7 +316,7 @@ RSpec.describe IsoDoc do
316
316
  end
317
317
 
318
318
  it "processes French" do
319
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
319
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
320
320
  <iso-standard xmlns="http://riboseinc.com/isoxml">
321
321
  <bibdata>
322
322
  <language>fr</language>
@@ -472,7 +472,7 @@ RSpec.describe IsoDoc do
472
472
  end
473
473
 
474
474
  it "processes Simplified Chinese" do
475
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
475
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
476
476
  <iso-standard xmlns="http://riboseinc.com/isoxml">
477
477
  <bibdata>
478
478
  <language>zh</language>
@@ -2,7 +2,7 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
4
  it "processes inline formatting" do
5
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
5
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <preface><foreword>
8
8
  <p>
@@ -32,7 +32,7 @@ RSpec.describe IsoDoc do
32
32
  end
33
33
 
34
34
  it "processes links" do
35
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
35
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
36
36
  <iso-standard xmlns="http://riboseinc.com/isoxml">
37
37
  <preface><foreword>
38
38
  <p>
@@ -60,7 +60,7 @@ RSpec.describe IsoDoc do
60
60
  end
61
61
 
62
62
  it "processes unrecognised markup" do
63
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
63
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
64
64
  <iso-standard xmlns="http://riboseinc.com/isoxml">
65
65
  <preface><foreword>
66
66
  <p>
@@ -86,7 +86,7 @@ RSpec.describe IsoDoc do
86
86
  end
87
87
 
88
88
  it "processes AsciiMath and MathML" do
89
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
89
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
90
90
  <iso-standard xmlns="http://riboseinc.com/isoxml">
91
91
  <preface><foreword>
92
92
  <p>
@@ -118,7 +118,7 @@ RSpec.describe IsoDoc do
118
118
  end
119
119
 
120
120
  it "overrides AsciiMath delimiters" do
121
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
121
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
122
122
  <iso-standard xmlns="http://riboseinc.com/isoxml">
123
123
  <preface><foreword>
124
124
  <p>
@@ -146,7 +146,7 @@ RSpec.describe IsoDoc do
146
146
  end
147
147
 
148
148
  it "processes eref types" do
149
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
149
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
150
150
  <iso-standard xmlns="http://riboseinc.com/isoxml">
151
151
  <preface><foreword>
152
152
  <p>
@@ -191,7 +191,7 @@ RSpec.describe IsoDoc do
191
191
  end
192
192
 
193
193
  it "processes eref content" do
194
- expect(IsoDoc::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
194
+ expect(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
195
195
  <iso-standard xmlns="http://riboseinc.com/isoxml">
196
196
  <preface><foreword>
197
197
  <p>
@@ -3,7 +3,7 @@ require "spec_helper"
3
3
  RSpec.describe IsoDoc do
4
4
  system "rm -f test.html"
5
5
  it "processes isodoc as ISO: HTML output" do
6
- IsoDoc::Iso::Convert.new({}).convert("test", <<~"INPUT", false)
6
+ IsoDoc::Iso::HtmlConvert.new({}).convert("test", <<~"INPUT", false)
7
7
  <iso-standard xmlns="http://riboseinc.com/isoxml">
8
8
  <preface><foreword>
9
9
  <note>
@@ -20,7 +20,7 @@ RSpec.describe IsoDoc do
20
20
 
21
21
  it "processes isodoc as ISO: alt HTML output" do
22
22
  system "rm -f test.html"
23
- IsoDoc::Iso::Convert.new({alt: true}).convert("test", <<~"INPUT", false)
23
+ IsoDoc::Iso::HtmlConvert.new({alt: true}).convert("test", <<~"INPUT", false)
24
24
  <iso-standard xmlns="http://riboseinc.com/isoxml">
25
25
  <preface><foreword>
26
26
  <note>
@@ -37,7 +37,7 @@ RSpec.describe IsoDoc do
37
37
 
38
38
  it "processes isodoc as ISO: Chinese HTML output" do
39
39
  system "rm -f test.html"
40
- IsoDoc::Iso::Convert.new({script: "Hans"}).convert("test", <<~"INPUT", false)
40
+ IsoDoc::Iso::HtmlConvert.new({script: "Hans"}).convert("test", <<~"INPUT", false)
41
41
  <iso-standard xmlns="http://riboseinc.com/isoxml">
42
42
  <preface><foreword>
43
43
  <note>
@@ -54,7 +54,7 @@ RSpec.describe IsoDoc do
54
54
 
55
55
  it "processes isodoc as ISO: user nominated fonts" do
56
56
  system "rm -f test.html"
57
- IsoDoc::Iso::Convert.new({bodyfont: "Zapf Chancery", headerfont: "Comic Sans", monospacefont: "Andale Mono"}).convert("test", <<~"INPUT", false)
57
+ IsoDoc::Iso::HtmlConvert.new({bodyfont: "Zapf Chancery", headerfont: "Comic Sans", monospacefont: "Andale Mono"}).convert("test", <<~"INPUT", false)
58
58
  <iso-standard xmlns="http://riboseinc.com/isoxml">
59
59
  <preface><foreword>
60
60
  <note>
@@ -87,7 +87,7 @@ RSpec.describe IsoDoc do
87
87
  end
88
88
 
89
89
  it "does not include IEV in references" do
90
- expect(IsoDoc::Iso::Convert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
90
+ expect(IsoDoc::Iso::HtmlConvert.new({}).convert("test", <<~"INPUT", true)).to be_equivalent_to <<~"OUTPUT"
91
91
  <iso-standard xmlns="http://riboseinc.com/isoxml">
92
92
  <preface><foreword>
93
93
  <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">