isodoc 1.5.0 → 1.5.5

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.
data/lib/isodoc/xref.rb CHANGED
@@ -49,7 +49,7 @@ module IsoDoc
49
49
  note_anchor_names(docxml.xpath(ns(SECTIONS_XPATH)))
50
50
  example_anchor_names(docxml.xpath(ns(SECTIONS_XPATH)))
51
51
  list_anchor_names(docxml.xpath(ns(SECTIONS_XPATH)))
52
- bookmark_anchor_names(docxml.xpath(ns(SECTIONS_XPATH)))
52
+ bookmark_anchor_names(docxml)
53
53
  end
54
54
 
55
55
  def ns(xpath)
@@ -94,16 +94,17 @@ module IsoDoc::XrefGen
94
94
  "not(self::xmlns:terms) and not(self::xmlns:definitions)]//"\
95
95
  "xmlns:example | ./xmlns:example".freeze
96
96
 
97
- CHILD_SECTIONS = "./clause | ./appendix | ./terms | ./definitions | ./references"
97
+ CHILD_SECTIONS = "./clause | ./appendix | ./terms | ./definitions | "\
98
+ "./references"
98
99
 
99
100
  def example_anchor_names(sections)
100
101
  sections.each do |s|
101
102
  notes = s.xpath(CHILD_EXAMPLES_XPATH)
102
103
  c = Counter.new
103
104
  notes.each do |n|
104
- next if @anchors[n["id"]]
105
- next if n["id"].nil? || n["id"].empty?
106
- idx = notes.size == 1 && !n["number"] ? "" : " #{c.increment(n).print}"
105
+ next if @anchors[n["id"]] || n["id"].nil? || n["id"].empty?
106
+ idx = notes.size == 1 && !n["number"] ? "" :
107
+ " #{c.increment(n).print}"
107
108
  @anchors[n["id"]] = anchor_struct(idx, n, @labels["example_xref"],
108
109
  "example", n["unnumbered"])
109
110
  end
@@ -119,7 +120,8 @@ module IsoDoc::XrefGen
119
120
  notes.each do |n|
120
121
  next if n["id"].nil? || n["id"].empty?
121
122
  idx = notes.size == 1 && !n["number"] ? "" : " #{c.increment(n).print}"
122
- @anchors[n["id"]] = anchor_struct(idx, n, @labels["list"], "list", false)
123
+ @anchors[n["id"]] = anchor_struct(idx, n, @labels["list"], "list",
124
+ false)
123
125
  list_item_anchor_names(n, @anchors[n["id"]], 1, "", notes.size != 1)
124
126
  end
125
127
  list_anchor_names(s.xpath(ns(CHILD_SECTIONS)))
@@ -141,17 +143,16 @@ module IsoDoc::XrefGen
141
143
  end
142
144
  end
143
145
 
144
- def bookmark_anchor_names(sections)
145
- sections.each do |s|
146
- notes = s.xpath(ns(".//bookmark")) - s.xpath(ns(".//clause//bookmark")) -
147
- s.xpath(ns(".//appendix//bookmark"))
148
- notes.each do |n|
149
- next if n["id"].nil? || n["id"].empty?
150
- @anchors[n["id"]] = {
151
- type: "bookmark", label: nil, value: nil,
152
- xref: @anchors[s["id"]][:xref] }
146
+ def bookmark_anchor_names(docxml)
147
+ docxml.xpath(ns(".//bookmark")).each do |n|
148
+ next if n["id"].nil? || n["id"].empty?
149
+ parent = nil
150
+ n.ancestors.each do |a|
151
+ next unless a["id"] && parent = @anchors.dig(a["id"], :xref)
152
+ break
153
153
  end
154
- bookmark_anchor_names(s.xpath(ns(CHILD_SECTIONS)))
154
+ @anchors[n["id"]] = { type: "bookmark", label: nil, value: nil,
155
+ xref: parent || "???" }
155
156
  end
156
157
  end
157
158
  end
@@ -24,6 +24,8 @@ module IsoDoc
24
24
  end
25
25
 
26
26
  def pdf_options(docxml)
27
+ font_manifest_file = @options.dig(:mn2pdf, :font_manifest_file)
28
+ "--font_manifest #{font_manifest_file}" if font_manifest_file
27
29
  ""
28
30
  end
29
31
 
@@ -0,0 +1 @@
1
+ /* html-override */
@@ -0,0 +1 @@
1
+ /* word-override */
@@ -768,6 +768,93 @@ B</pre>
768
768
  expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", presxml, true).gsub(/['"][^'".]+\.(gif|xml)['"]/, "'_.\\1'").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")))).to be_equivalent_to xmlpp(word)
769
769
  end
770
770
 
771
+ it "processes SVG" do
772
+ input = <<~INPUT
773
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
774
+ <preface><foreword>
775
+ <figure id="figureA-1">
776
+ <image src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8Y2lyY2xlIGZpbGw9IiMwMDkiIHI9IjQ1IiBjeD0iNTAiIGN5PSI1MCIvPgogIDxwYXRoIGQ9Ik0zMywyNkg3OEEzNywzNywwLDAsMSwzMyw4M1Y1N0g1OVY0M0gzM1oiIGZpbGw9IiNGRkYiLz4KPC9zdmc+Cg==" id="_d3731866-1a07-435a-a6c2-1acd41023a4e" mimetype="image/svg+xml" height="auto" width="auto"/>
777
+ </figure>
778
+ </foreword></preface>
779
+ </iso-standard>
780
+ INPUT
781
+
782
+ presxml = <<~OUTPUT
783
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
784
+ <preface>
785
+ <foreword>
786
+ <figure id='figureA-1'>
787
+ <name>Figure 1</name>
788
+ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'>
789
+ <circle fill='#009' r='45' cx='50' cy='50'/>
790
+ <path d='M33,26H78A37,37,0,0,1,33,83V57H59V43H33Z' fill='#FFF'/>
791
+ </svg>
792
+ </figure>
793
+ </foreword>
794
+ </preface>
795
+ </iso-standard>
796
+ OUTPUT
797
+
798
+ html = <<~HTML
799
+ #{HTML_HDR}
800
+ <br/>
801
+ <div>
802
+ <h1 class='ForewordTitle'>Foreword</h1>
803
+ <div id='figureA-1' class='figure'>
804
+ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'>
805
+ <circle fill='#009' r='45' cx='50' cy='50'/>
806
+ <path d='M33,26H78A37,37,0,0,1,33,83V57H59V43H33Z' fill='#FFF'/>
807
+ </svg>
808
+ <p class='FigureTitle' style='text-align:center;'>Figure 1</p>
809
+ </div>
810
+ </div>
811
+ <p class='zzSTDTitle1'/>
812
+ </div>
813
+ </body>
814
+ </html>
815
+ HTML
816
+
817
+ doc = <<~DOC
818
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
819
+ <head>
820
+ <style>
821
+ </style>
822
+ </head>
823
+ <body lang='EN-US' link='blue' vlink='#954F72'>
824
+ <div class='WordSection1'>
825
+ <p>&#160;</p>
826
+ </div>
827
+ <p>
828
+ <br clear='all' class='section'/>
829
+ </p>
830
+ <div class='WordSection2'>
831
+ <p>
832
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
833
+ </p>
834
+ <div>
835
+ <h1 class='ForewordTitle'>Foreword</h1>
836
+ <div id='figureA-1' class='figure'>
837
+ <img src='_.emf'/>
838
+ <p class='FigureTitle' style='text-align:center;'>Figure 1</p>
839
+ </div>
840
+ </div>
841
+ <p>&#160;</p>
842
+ </div>
843
+ <p>
844
+ <br clear='all' class='section'/>
845
+ </p>
846
+ <div class='WordSection3'>
847
+ <p class='zzSTDTitle1'/>
848
+ </div>
849
+ </body>
850
+ </html>
851
+ DOC
852
+
853
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", input, true).gsub(/\&lt;/, "&#x3c;"))).to be_equivalent_to xmlpp(presxml)
854
+ expect(xmlpp(strip_guid(IsoDoc::HtmlConvert.new({}).convert("test", presxml, true)))).to be_equivalent_to xmlpp(html)
855
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", presxml, true).gsub(/['"][^'".]+(?<!odf1)(?<!odf)\.emf['"]/, "'_.emf'").gsub(/['"][^'".]+\.(gif|xml)['"]/, "'_.\\1'")))).to be_equivalent_to xmlpp(doc)
856
+ end
857
+
771
858
  it "converts SVG (Word)" do
772
859
  FileUtils.rm_rf "spec/assets/odf1.emf"
773
860
  expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true).gsub(/['"][^'".]+(?<!odf1)(?<!odf)\.emf['"]/, "'_.emf'").gsub(/['"][^'".]+\.(gif|xml)['"]/, "'_.\\1'").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
@@ -2687,7 +2774,7 @@ expect(( File.read("test.html").gsub(%r{^.*<h1 class="ForewordTitle">Foreword</h
2687
2774
  expect(File.exist?("test.html.err")).to be true
2688
2775
  end
2689
2776
 
2690
- it "ignore passthrough with incompatible format" do
2777
+ it "ignores passthrough with incompatible format" do
2691
2778
  expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2692
2779
  <iso-standard xmlns="http://riboseinc.com/isoxml">
2693
2780
  <preface><foreword>
@@ -2707,6 +2794,62 @@ expect(( File.read("test.html").gsub(%r{^.*<h1 class="ForewordTitle">Foreword</h
2707
2794
  OUTPUT
2708
2795
  end
2709
2796
 
2797
+ it "processes svgmap" do
2798
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~INPUT, true)).sub(%r{<localized-strings>.*</localized-strings>}m, "")).to be_equivalent_to xmlpp(<<~OUTPUT)
2799
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2800
+ <sections>
2801
+ <svgmap id='_'>
2802
+ <target href='http://www.example.com'>
2803
+ <xref target='ref1'>Computer</xref>
2804
+ </target>
2805
+ </svgmap>
2806
+ <figure id='_'>
2807
+ <image src='action_schemaexpg1.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto'/>
2808
+ </figure>
2809
+ <svgmap id='_'>
2810
+ <figure id='_'>
2811
+ <image src='action_schemaexpg2.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto' alt='Workmap'/>
2812
+ </figure>
2813
+ <target href='mn://support_resource_schema'>
2814
+ <eref bibitemid='express_action_schema' citeas=''>
2815
+ <localityStack>
2816
+ <locality type='anchor'>
2817
+ <referenceFrom>action_schema.basic</referenceFrom>
2818
+ </locality>
2819
+ </localityStack>
2820
+ Coffee
2821
+ </eref>
2822
+ </target>
2823
+ </svgmap>
2824
+ </sections>
2825
+ <bibliography>
2826
+ <references hidden='true' normative='false'>
2827
+ <bibitem id='express_action_schema' type='internal'>
2828
+ <docidentifier type='repository'>express/action_schema</docidentifier>
2829
+ </bibitem>
2830
+ </references>
2831
+ </bibliography>
2832
+ </iso-standard>
2833
+ INPUT
2834
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
2835
+ <sections>
2836
+ <figure id='_'>
2837
+ <image src='action_schemaexpg1.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto'/>
2838
+ </figure>
2839
+ <figure id='_'>
2840
+ <image src='action_schemaexpg2.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto' alt='Workmap'/>
2841
+ </figure>
2842
+ </sections>
2843
+ <bibliography>
2844
+ <references hidden='true' normative='false'>
2845
+ <bibitem id='express_action_schema' type='internal'>
2846
+ <docidentifier type='repository'>express/action_schema</docidentifier>
2847
+ </bibitem>
2848
+ </references>
2849
+ </bibliography>
2850
+ </iso-standard>
2851
+ OUTPUT
2710
2852
 
2853
+ end
2711
2854
 
2712
2855
  end
@@ -124,7 +124,10 @@ OUTPUT
124
124
  <preface><foreword>
125
125
  <p><index primary="A" secondary="B" tertiary="C"/></p>
126
126
  </foreword></preface>
127
- <sections>
127
+ <sections/>
128
+ <indexsect>
129
+ <title>Index</title>
130
+ </indexsect>
128
131
  </iso-standard>
129
132
  INPUT
130
133
  <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
@@ -83,6 +83,7 @@ expect(File.exist?("test.doc")).to be true
83
83
  expect(html).not_to match(/another empty stylesheet/)
84
84
  expect(html).to match(%r{cdnjs\.cloudflare\.com/ajax/libs/mathjax/})
85
85
  expect(html).to match(/delimiters: \[\['\(#\(', '\)#\)'\]\]/)
86
+ expect(html).not_to match(/html-override/)
86
87
  end
87
88
 
88
89
  it "generates Word output docs with null configuration" do
@@ -101,6 +102,7 @@ expect(File.exist?("test.doc")).to be true
101
102
  word = File.read("test.doc")
102
103
  expect(word).to match(/one empty stylesheet/)
103
104
  expect(word).to match(/div\.table_container/)
105
+ expect(word).not_to match(/word-override/)
104
106
  end
105
107
 
106
108
  it "generates HTML output docs with null configuration from file" do
@@ -139,7 +141,7 @@ expect(File.exist?("test.doc")).to be true
139
141
  it "generates HTML output docs with complete configuration" do
140
142
  FileUtils.rm_f "test.doc"
141
143
  FileUtils.rm_f "test.html"
142
- IsoDoc::HtmlConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", htmlstylesheet: "spec/assets/html.scss", 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)
144
+ IsoDoc::HtmlConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", htmlstylesheet: "spec/assets/html.scss", htmlstylesheet_override: "spec/assets/html_override.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)
143
145
  <iso-standard xmlns="http://riboseinc.com/isoxml">
144
146
  <preface><foreword>
145
147
  <note>
@@ -162,6 +164,7 @@ expect(File.exist?("test.doc")).to be true
162
164
  expect(html).to match(/This is > a script/)
163
165
  expect(html).not_to match(/CDATA/)
164
166
  expect(html).to match(%r{Anta&#x16D;parolo</h1>})
167
+ expect(html).to match(%r{html-override})
165
168
  end
166
169
 
167
170
  it "generates HTML output docs with default fonts" do
@@ -195,7 +198,7 @@ expect(File.exist?("test.doc")).to be true
195
198
  it "generates Word output docs with complete configuration" do
196
199
  FileUtils.rm_f "test.doc"
197
200
  FileUtils.rm_f "test.html"
198
- IsoDoc::WordConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", wordstylesheet: "spec/assets/html.scss", 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)
201
+ IsoDoc::WordConvert.new({bodyfont: "Zapf", monospacefont: "Consolas", headerfont: "Comic Sans", normalfontsize: "30pt", monospacefontsize: "29pt", smallerfontsize: "28pt", footnotefontsize: "27pt", wordstylesheet: "spec/assets/html.scss", wordstylesheet_override: "spec/assets/word_override.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)
199
202
  <iso-standard xmlns="http://riboseinc.com/isoxml">
200
203
  <preface><foreword>
201
204
  <note>
@@ -219,6 +222,7 @@ expect(File.exist?("test.doc")).to be true
219
222
  expect(word).to match(/an empty word cover page/)
220
223
  expect(word).to match(/an empty word intro page/)
221
224
  expect(word).to match(%r{Anta&#x16D;parolo</h1>})
225
+ expect(word).to match(%r{word-override})
222
226
  end
223
227
 
224
228
  it "generates Word output docs with default fonts" do
@@ -25,7 +25,10 @@ it "localises numbers in MathML" do
25
25
  <title language="en">test</title>
26
26
  </bibdata>
27
27
  <preface>
28
- <p><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>30000</mn></math></stem>
28
+ <p>
29
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>64212149677264515</mn></math></stem>
30
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>642121496772645.15</mn></math></stem>
31
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>30000</mn></math></stem>
29
32
  <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>P</mi><mfenced open="(" close=")"><mrow><mi>X</mi><mo>≥</mo><msub><mrow><mi>X</mi></mrow><mrow><mo>max</mo></mrow></msub></mrow></mfenced><mo>=</mo><munderover><mrow><mo>∑</mo></mrow><mrow><mrow><mi>j</mi><mo>=</mo><msub><mrow><mi>X</mi></mrow><mrow><mo>max</mo></mrow></msub></mrow></mrow><mrow><mn>1000</mn></mrow></munderover><mfenced open="(" close=")"><mtable><mtr><mtd><mn>1000</mn></mtd></mtr><mtr><mtd><mi>j</mi></mtd></mtr></mtable></mfenced><msup><mrow><mi>p</mi></mrow><mrow><mi>j</mi></mrow></msup><msup><mrow><mfenced open="(" close=")"><mrow><mn>1</mn><mo>−</mo><mi>p</mi></mrow></mfenced></mrow><mrow><mrow><mn>1.003</mn><mo>−</mo><mi>j</mi></mrow></mrow></msup></math></stem></p>
30
33
  </preface>
31
34
  </iso-standard>
@@ -37,7 +40,8 @@ it "localises numbers in MathML" do
37
40
 
38
41
  <preface>
39
42
  <p>
40
- 30,000
43
+ 64,212,149,677,264,515
44
+ 642,121,496,772,645.15 30,000
41
45
  <stem type='MathML'>
42
46
  <math xmlns='http://www.w3.org/1998/Math/MathML'>
43
47
  <mi>P</mi>
@@ -2583,9 +2583,10 @@ OUTPUT
2583
2583
  <terms id="terms"/>
2584
2584
  <clause id="widgets"><title>Widgets</title>
2585
2585
  <clause id="widgets1">
2586
- <p id="note1l" type="alphabet">
2586
+ <note id="note0"/>
2587
+ <note id="note1l" type="alphabet">
2587
2588
  <bookmark id="note1"/>
2588
- </p>
2589
+ </note>
2589
2590
  <p id="note2l" type="roman_upper">
2590
2591
  <bookmark id="note2"/>
2591
2592
  </p>
@@ -2599,9 +2600,9 @@ OUTPUT
2599
2600
  </p>
2600
2601
  </clause>
2601
2602
  <clause id="annex1b">
2602
- <p id="Anote1l" type="roman" start="4">
2603
+ <figure id="Anote1l" type="roman" start="4">
2603
2604
  <bookmark id="Anote1"/>
2604
- </p>
2605
+ </figure>
2605
2606
  <p id="Anote2l">
2606
2607
  <bookmark id="Anote2"/>
2607
2608
  </p>
@@ -2616,10 +2617,10 @@ OUTPUT
2616
2617
  <xref target='N1'>Introduction</xref>
2617
2618
  <xref target='N2'>Preparatory</xref>
2618
2619
  <xref target='N'>Clause 1</xref>
2619
- <xref target='note1'>Clause 3.1</xref>
2620
+ <xref target='note1'>Note 2</xref>
2620
2621
  <xref target='note2'>Clause 3.1</xref>
2621
2622
  <xref target='AN'>Annex A.1</xref>
2622
- <xref target='Anote1'>Annex A.2</xref>
2623
+ <xref target='Anote1'>Figure A.1</xref>
2623
2624
  <xref target='Anote2'>Annex A.2</xref>
2624
2625
  </p>
2625
2626
  </foreword>
@@ -2657,9 +2658,13 @@ OUTPUT
2657
2658
  </title>
2658
2659
  <clause id='widgets1'>
2659
2660
  <title>3.1.</title>
2660
- <p id='note1l' type='alphabet'>
2661
+ <note id='note0'>
2662
+ <name>NOTE 1</name>
2663
+ </note>
2664
+ <note id='note1l' type='alphabet'>
2665
+ <name>NOTE 2</name>
2661
2666
  <bookmark id='note1'/>
2662
- </p>
2667
+ </note>
2663
2668
  <p id='note2l' type='roman_upper'>
2664
2669
  <bookmark id='note2'/>
2665
2670
  </p>
@@ -2680,9 +2685,10 @@ OUTPUT
2680
2685
  </clause>
2681
2686
  <clause id='annex1b'>
2682
2687
  <title>A.2.</title>
2683
- <p id='Anote1l' type='roman' start='4'>
2688
+ <figure id='Anote1l' type='roman' start='4'>
2689
+ <name>Figure A.1</name>
2684
2690
  <bookmark id='Anote1'/>
2685
- </p>
2691
+ </figure>
2686
2692
  <p id='Anote2l'>
2687
2693
  <bookmark id='Anote2'/>
2688
2694
  </p>
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: 1.5.0
4
+ version: 1.5.5
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-01-25 00:00:00.000000000 Z
11
+ date: 2021-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 6.6.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 6.6.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: roman-numerals
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -266,16 +266,16 @@ dependencies:
266
266
  name: rubocop
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - '='
269
+ - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: 0.54.0
271
+ version: 1.5.2
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - '='
276
+ - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: 0.54.0
278
+ version: 1.5.2
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: simplecov
281
281
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +304,20 @@ dependencies:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
306
  version: '0.9'
307
+ - !ruby/object:Gem::Dependency
308
+ name: rexml
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
307
321
  description: |
308
322
  isodoc converts documents in the IsoDoc document model into
309
323
  Microsoft Word and HTML.
@@ -318,8 +332,6 @@ files:
318
332
  - ".github/workflows/rake.yml"
319
333
  - ".hound.yml"
320
334
  - ".oss-guides.rubocop.yml"
321
- - ".rubocop.ribose.yml"
322
- - ".rubocop.tb.yml"
323
335
  - ".rubocop.yml"
324
336
  - CODE_OF_CONDUCT.md
325
337
  - Gemfile
@@ -406,6 +418,7 @@ files:
406
418
  - lib/isodoc/xslfo_convert.rb
407
419
  - spec/assets/header.html
408
420
  - spec/assets/html.scss
421
+ - spec/assets/html_override.css
409
422
  - spec/assets/htmlcover.html
410
423
  - spec/assets/htmlintro.html
411
424
  - spec/assets/i18n.yaml
@@ -418,6 +431,7 @@ files:
418
431
  - spec/assets/scripts.html
419
432
  - spec/assets/std.css
420
433
  - spec/assets/word.css
434
+ - spec/assets/word_override.css
421
435
  - spec/assets/wordcover.html
422
436
  - spec/assets/wordintro.html
423
437
  - spec/isodoc/blocks_spec.rb
@@ -454,7 +468,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
454
468
  - !ruby/object:Gem::Version
455
469
  version: '0'
456
470
  requirements: []
457
- rubygems_version: 3.0.3
471
+ rubygems_version: 3.1.4
458
472
  signing_key:
459
473
  specification_version: 4
460
474
  summary: Convert documents in IsoDoc into Word and HTML in AsciiDoc.