isodoc 1.0.27 → 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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +4 -8
  3. data/.github/workflows/ubuntu.yml +18 -16
  4. data/.github/workflows/windows.yml +4 -8
  5. data/Rakefile +3 -1
  6. data/isodoc.gemspec +2 -2
  7. data/lib/isodoc.rb +2 -0
  8. data/lib/isodoc/base_style/metanorma_word.scss +0 -1
  9. data/lib/isodoc/base_style/reset.scss +3 -3
  10. data/lib/isodoc/common.rb +0 -4
  11. data/lib/isodoc/convert.rb +121 -58
  12. data/lib/isodoc/function/blocks.rb +42 -53
  13. data/lib/isodoc/function/blocks_example_note.rb +108 -0
  14. data/lib/isodoc/function/cleanup.rb +8 -4
  15. data/lib/isodoc/function/i18n.rb +1 -0
  16. data/lib/isodoc/function/inline.rb +70 -90
  17. data/lib/isodoc/function/inline_simple.rb +72 -0
  18. data/lib/isodoc/function/lists.rb +12 -6
  19. data/lib/isodoc/function/references.rb +33 -38
  20. data/lib/isodoc/function/reqt.rb +14 -5
  21. data/lib/isodoc/function/section.rb +8 -11
  22. data/lib/isodoc/function/table.rb +4 -4
  23. data/lib/isodoc/function/terms.rb +3 -3
  24. data/lib/isodoc/function/to_word_html.rb +21 -13
  25. data/lib/isodoc/function/utils.rb +57 -50
  26. data/lib/isodoc/gem_tasks.rb +104 -0
  27. data/lib/isodoc/headlesshtml_convert.rb +7 -6
  28. data/lib/isodoc/html_convert.rb +2 -1
  29. data/lib/isodoc/html_function/footnotes.rb +1 -1
  30. data/lib/isodoc/html_function/html.rb +13 -1
  31. data/lib/isodoc/html_function/postprocess.rb +4 -4
  32. data/lib/isodoc/metadata.rb +74 -62
  33. data/lib/isodoc/pdf_convert.rb +8 -6
  34. data/lib/isodoc/presentation_xml_convert.rb +29 -0
  35. data/lib/isodoc/sassc_importer.rb +11 -0
  36. data/lib/isodoc/version.rb +1 -1
  37. data/lib/isodoc/word_convert.rb +2 -1
  38. data/lib/isodoc/word_function/body.rb +14 -48
  39. data/lib/isodoc/word_function/footnotes.rb +1 -1
  40. data/lib/isodoc/word_function/inline.rb +75 -0
  41. data/lib/isodoc/word_function/postprocess.rb +1 -0
  42. data/lib/isodoc/word_function/table.rb +3 -3
  43. data/lib/isodoc/xref.rb +59 -0
  44. data/lib/isodoc/{function → xref}/xref_anchor.rb +10 -21
  45. data/lib/isodoc/xref/xref_counter.rb +74 -0
  46. data/lib/isodoc/{function → xref}/xref_gen.rb +9 -22
  47. data/lib/isodoc/{function → xref}/xref_gen_seq.rb +41 -32
  48. data/lib/isodoc/{function → xref}/xref_sect_gen.rb +33 -23
  49. data/lib/isodoc/xslfo_convert.rb +16 -4
  50. data/spec/assets/{html.css → html.scss} +0 -0
  51. data/spec/assets/i18n.yaml +4 -1
  52. data/spec/assets/odf.emf +0 -0
  53. data/spec/assets/odf.svg +4 -0
  54. data/spec/assets/odf1.svg +4 -0
  55. data/spec/isodoc/blocks_spec.rb +219 -47
  56. data/spec/isodoc/cleanup_spec.rb +135 -6
  57. data/spec/isodoc/footnotes_spec.rb +22 -7
  58. data/spec/isodoc/inline_spec.rb +262 -2
  59. data/spec/isodoc/lists_spec.rb +8 -8
  60. data/spec/isodoc/metadata_spec.rb +110 -3
  61. data/spec/isodoc/postproc_spec.rb +1321 -1351
  62. data/spec/isodoc/presentation_xml_spec.rb +20 -0
  63. data/spec/isodoc/ref_spec.rb +119 -50
  64. data/spec/isodoc/section_spec.rb +84 -18
  65. data/spec/isodoc/table_spec.rb +6 -6
  66. data/spec/isodoc/terms_spec.rb +7 -7
  67. data/spec/isodoc/xref_spec.rb +165 -45
  68. metadata +36 -27
  69. data/lib/isodoc/function/blocks_example.rb +0 -53
  70. data/lib/isodoc/function/xref_counter.rb +0 -50
@@ -11,7 +11,7 @@ RSpec.describe IsoDoc do
11
11
  <term id="paddy1"><preferred>paddy</preferred>
12
12
  <domain>rice</domain>
13
13
  <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
14
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
14
+ <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" keep-with-next="true" keep-lines-together="true">
15
15
  <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
16
16
  <ul>
17
17
  <li>A</li>
@@ -58,7 +58,7 @@ RSpec.describe IsoDoc do
58
58
  <li>A</li>
59
59
  </ul>
60
60
  </termexample>
61
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
61
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e" keep-with-next="true" keep-lines-together="true">
62
62
  <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>
63
63
  </termnote>
64
64
  <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74f">
@@ -79,7 +79,7 @@ RSpec.describe IsoDoc do
79
79
  <p class="TermNum" id="paddy1">1.1.</p><p class="Terms" style="text-align:left;">paddy</p>
80
80
 
81
81
  <p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">&lt;rice&gt; rice retaining its husk after threshing</p>
82
- <div id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example"><p class="example-title">EXAMPLE 1</p>
82
+ <div id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example" style='page-break-after: avoid;page-break-inside: avoid;'><p class="example-title">EXAMPLE 1</p>
83
83
  <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
84
84
  <ul>
85
85
  <li>A</li>
@@ -106,8 +106,8 @@ RSpec.describe IsoDoc do
106
106
  <li>A</li>
107
107
  </ul>
108
108
  </div>
109
- <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>
110
- <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>
109
+ <div class="Note" id='_671a1994-4783-40d0-bc81-987d06ffb74e' style='page-break-after: avoid;page-break-inside: avoid;'><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>
110
+ <div class="Note" id='_671a1994-4783-40d0-bc81-987d06ffb74f'><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>
111
111
  <p>[TERMREF]
112
112
  <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
113
113
  [/TERMREF]</p></div>
@@ -222,8 +222,8 @@ OUTPUT
222
222
  <li>A</li>
223
223
  </ul>
224
224
  </div>
225
- <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>
226
- <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>
225
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74e' 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>
226
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74f' 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>
227
227
  <p>[TERMREF]
228
228
  <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
229
229
  [/TERMREF]</p></div>
@@ -768,15 +768,15 @@ RSpec.describe IsoDoc do
768
768
  <br/>
769
769
  <div class="Section3" id="intro">
770
770
  <h1 class="IntroTitle">Introduction</h1>
771
- <div id="N1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div>
771
+ <div id="N1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div></div>
772
772
  <div id="xyz"><h2>Preparatory</h2>
773
- <div id="N2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
773
+ <div id="N2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div></div>
774
774
  </div>
775
775
  </div>
776
776
  <p class="zzSTDTitle1"/>
777
777
  <div id="scope">
778
778
  <h1>1.&#160; Scope</h1>
779
- <div id="N" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div>
779
+ <div id="N"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div></div>
780
780
  <p>
781
781
  <a href="#N">Formula (2)</a>
782
782
  </p>
@@ -786,8 +786,8 @@ RSpec.describe IsoDoc do
786
786
  <div id="widgets">
787
787
  <h1>3.&#160; Widgets</h1>
788
788
  <div id="widgets1"><h2>3.1.&#160;</h2>
789
- <div id="note1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div>
790
- <div id="note2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div>
789
+ <div id="note1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div></div>
790
+ <div id="note2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div></div>
791
791
  <p> <a href="#note1">Formula (3)</a> <a href="#note2">Formula (4)</a> </p>
792
792
  </div>
793
793
  </div>
@@ -802,11 +802,11 @@ RSpec.describe IsoDoc do
802
802
  <b/>
803
803
  </h1>
804
804
  <div id="annex1a"><h2>A.1.&#160;</h2>
805
- <div id="AN" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.1)</p></div>
805
+ <div id="AN"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.1)</p></div></div>
806
806
  </div>
807
807
  <div id="annex1b"><h2>A.2.&#160;</h2>
808
- <div id="Anote1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
809
- <div id="Anote2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div>
808
+ <div id="Anote1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div></div>
809
+ <div id="Anote2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div></div>
810
810
  </div>
811
811
  </div>
812
812
  </div>
@@ -897,11 +897,11 @@ RSpec.describe IsoDoc do
897
897
  <br/>
898
898
  <div class="Section3" id="intro">
899
899
  <h1 class="IntroTitle">Introduction</h1>
900
- <div class="require"><p class="RecommendationTitle">Requirement 1:</p>
900
+ <div class="require" id="N1"><p class="RecommendationTitle">Requirement 1:</p>
901
901
  <span class="stem">(#(r = 1 %)#)</span>
902
902
  </div>
903
903
  <div id="xyz"><h2>Preparatory</h2>
904
- <div class="require"><p class="RecommendationTitle">Requirement:</p>
904
+ <div class="require" id="N2"><p class="RecommendationTitle">Requirement:</p>
905
905
  <span class="stem">(#(r = 1 %)#)</span>
906
906
  </div>
907
907
  </div>
@@ -909,7 +909,7 @@ RSpec.describe IsoDoc do
909
909
  <p class="zzSTDTitle1"/>
910
910
  <div id="scope">
911
911
  <h1>1.&#160; Scope</h1>
912
- <div class="require"><p class="RecommendationTitle">Requirement 2:</p>
912
+ <div class="require" id="N"><p class="RecommendationTitle">Requirement 2:</p>
913
913
  <span class="stem">(#(r = 1 %)#)</span>
914
914
  </div>
915
915
  <p>
@@ -921,10 +921,10 @@ RSpec.describe IsoDoc do
921
921
  <div id="widgets">
922
922
  <h1>3.&#160; Widgets</h1>
923
923
  <div id="widgets1"><h2>3.1.&#160;</h2>
924
- <div class="require"><p class="RecommendationTitle">Requirement 3:</p>
924
+ <div class="require" id="note1"><p class="RecommendationTitle">Requirement 3:</p>
925
925
  <span class="stem">(#(r = 1 %)#)</span>
926
926
  </div>
927
- <div class="require"><p class="RecommendationTitle">Requirement 4:</p>
927
+ <div class="require" id="note2"><p class="RecommendationTitle">Requirement 4:</p>
928
928
  <span class="stem">(#(r = 1 %)#)</span>
929
929
  </div>
930
930
  <p> <a href="#note1">Requirement 3</a> <a href="#note2">Requirement 4</a> </p>
@@ -941,15 +941,15 @@ RSpec.describe IsoDoc do
941
941
  <b/>
942
942
  </h1>
943
943
  <div id="annex1a"><h2>A.1.&#160;</h2>
944
- <div class="require"><p class="RecommendationTitle">Requirement A.1:</p>
944
+ <div class="require" id="AN"><p class="RecommendationTitle">Requirement A.1:</p>
945
945
  <span class="stem">(#(r = 1 %)#)</span>
946
946
  </div>
947
947
  </div>
948
948
  <div id="annex1b"><h2>A.2.&#160;</h2>
949
- <div class="require"><p class="RecommendationTitle">Requirement:</p>
949
+ <div class="require" id="Anote1"><p class="RecommendationTitle">Requirement:</p>
950
950
  <span class="stem">(#(r = 1 %)#)</span>
951
951
  </div>
952
- <div class="require"><p class="RecommendationTitle">Requirement A.2:</p>
952
+ <div class="require" id="Anote2"><p class="RecommendationTitle">Requirement A.2:</p>
953
953
  <span class="stem">(#(r = 1 %)#)</span>
954
954
  </div>
955
955
  </div>
@@ -1042,11 +1042,11 @@ OUTPUT
1042
1042
  <br/>
1043
1043
  <div class="Section3" id="intro">
1044
1044
  <h1 class="IntroTitle">Introduction</h1>
1045
- <div class="recommend"><p class="RecommendationTitle">Recommendation 1:</p>
1045
+ <div class="recommend" id="N1"><p class="RecommendationTitle">Recommendation 1:</p>
1046
1046
  <span class="stem">(#(r = 1 %)#)</span>
1047
1047
  </div>
1048
1048
  <div id="xyz"><h2>Preparatory</h2>
1049
- <div class="recommend"><p class="RecommendationTitle">Recommendation:</p>
1049
+ <div class="recommend" id="N2"><p class="RecommendationTitle">Recommendation:</p>
1050
1050
  <span class="stem">(#(r = 1 %)#)</span>
1051
1051
  </div>
1052
1052
  </div>
@@ -1054,7 +1054,7 @@ OUTPUT
1054
1054
  <p class="zzSTDTitle1"/>
1055
1055
  <div id="scope">
1056
1056
  <h1>1.&#160; Scope</h1>
1057
- <div class="recommend"><p class="RecommendationTitle">Recommendation 2:</p>
1057
+ <div class="recommend" id="N"><p class="RecommendationTitle">Recommendation 2:</p>
1058
1058
  <span class="stem">(#(r = 1 %)#)</span>
1059
1059
  </div>
1060
1060
  <p>
@@ -1066,10 +1066,10 @@ OUTPUT
1066
1066
  <div id="widgets">
1067
1067
  <h1>3.&#160; Widgets</h1>
1068
1068
  <div id="widgets1"><h2>3.1.&#160;</h2>
1069
- <div class="recommend"><p class="RecommendationTitle">Recommendation 3:</p>
1069
+ <div class="recommend" id="note1"><p class="RecommendationTitle">Recommendation 3:</p>
1070
1070
  <span class="stem">(#(r = 1 %)#)</span>
1071
1071
  </div>
1072
- <div class="recommend"><p class="RecommendationTitle">Recommendation 4:</p>
1072
+ <div class="recommend" id="note2"><p class="RecommendationTitle">Recommendation 4:</p>
1073
1073
  <span class="stem">(#(r = 1 %)#)</span>
1074
1074
  </div>
1075
1075
  <p> <a href="#note1">Recommendation 3</a> <a href="#note2">Recommendation 4</a> </p>
@@ -1086,15 +1086,15 @@ OUTPUT
1086
1086
  <b/>
1087
1087
  </h1>
1088
1088
  <div id="annex1a"><h2>A.1.&#160;</h2>
1089
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.1:</p>
1089
+ <div class="recommend" id="AN"><p class="RecommendationTitle">Recommendation A.1:</p>
1090
1090
  <span class="stem">(#(r = 1 %)#)</span>
1091
1091
  </div>
1092
1092
  </div>
1093
1093
  <div id="annex1b"><h2>A.2.&#160;</h2>
1094
- <div class="recommend"><p class="RecommendationTitle">Recommendation:</p>
1094
+ <div class="recommend" id="Anote1"><p class="RecommendationTitle">Recommendation:</p>
1095
1095
  <span class="stem">(#(r = 1 %)#)</span>
1096
1096
  </div>
1097
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.2:</p>
1097
+ <div class="recommend" id="Anote2"><p class="RecommendationTitle">Recommendation A.2:</p>
1098
1098
  <span class="stem">(#(r = 1 %)#)</span>
1099
1099
  </div>
1100
1100
  </div>
@@ -1187,11 +1187,11 @@ OUTPUT
1187
1187
  <br/>
1188
1188
  <div class="Section3" id="intro">
1189
1189
  <h1 class="IntroTitle">Introduction</h1>
1190
- <div class="permission"><p class="RecommendationTitle">Permission 1:</p>
1190
+ <div class="permission" id="N1"><p class="RecommendationTitle">Permission 1:</p>
1191
1191
  <span class="stem">(#(r = 1 %)#)</span>
1192
1192
  </div>
1193
1193
  <div id="xyz"><h2>Preparatory</h2>
1194
- <div class="permission"><p class="RecommendationTitle">Permission:</p>
1194
+ <div class="permission" id="N2"><p class="RecommendationTitle">Permission:</p>
1195
1195
  <span class="stem">(#(r = 1 %)#)</span>
1196
1196
  </div>
1197
1197
  </div>
@@ -1199,7 +1199,7 @@ OUTPUT
1199
1199
  <p class="zzSTDTitle1"/>
1200
1200
  <div id="scope">
1201
1201
  <h1>1.&#160; Scope</h1>
1202
- <div class="permission"><p class="RecommendationTitle">Permission 2:</p>
1202
+ <div class="permission" id="N"><p class="RecommendationTitle">Permission 2:</p>
1203
1203
  <span class="stem">(#(r = 1 %)#)</span>
1204
1204
  </div>
1205
1205
  <p>
@@ -1211,10 +1211,10 @@ OUTPUT
1211
1211
  <div id="widgets">
1212
1212
  <h1>3.&#160; Widgets</h1>
1213
1213
  <div id="widgets1"><h2>3.1.&#160;</h2>
1214
- <div class="permission"><p class="RecommendationTitle">Permission 3:</p>
1214
+ <div class="permission" id="note1"><p class="RecommendationTitle">Permission 3:</p>
1215
1215
  <span class="stem">(#(r = 1 %)#)</span>
1216
1216
  </div>
1217
- <div class="permission"><p class="RecommendationTitle">Permission 4:</p>
1217
+ <div class="permission" id="note2"><p class="RecommendationTitle">Permission 4:</p>
1218
1218
  <span class="stem">(#(r = 1 %)#)</span>
1219
1219
  </div>
1220
1220
  <p> <a href="#note1">Permission 3</a> <a href="#note2">Permission 4</a> </p>
@@ -1231,15 +1231,15 @@ OUTPUT
1231
1231
  <b/>
1232
1232
  </h1>
1233
1233
  <div id="annex1a"><h2>A.1.&#160;</h2>
1234
- <div class="permission"><p class="RecommendationTitle">Permission A.1:</p>
1234
+ <div class="permission" id="AN"><p class="RecommendationTitle">Permission A.1:</p>
1235
1235
  <span class="stem">(#(r = 1 %)#)</span>
1236
1236
  </div>
1237
1237
  </div>
1238
1238
  <div id="annex1b"><h2>A.2.&#160;</h2>
1239
- <div class="permission"><p class="RecommendationTitle">Permission:</p>
1239
+ <div class="permission" id="Anote1"><p class="RecommendationTitle">Permission:</p>
1240
1240
  <span class="stem">(#(r = 1 %)#)</span>
1241
1241
  </div>
1242
- <div class="permission"><p class="RecommendationTitle">Permission A.2:</p>
1242
+ <div class="permission" id="Anote2"><p class="RecommendationTitle">Permission A.2:</p>
1243
1243
  <span class="stem">(#(r = 1 %)#)</span>
1244
1244
  </div>
1245
1245
  </div>
@@ -1317,28 +1317,28 @@ OUTPUT
1317
1317
  <p class="zzSTDTitle1"/>
1318
1318
  <div id="xyz">
1319
1319
  <h1>1.&#160; Preparatory</h1>
1320
- <div class="permission"><p class="RecommendationTitle">Permission 1:</p>
1321
- <div class="permission"><p class="RecommendationTitle">Permission 1-1:</p>
1322
- <div class="permission"><p class="RecommendationTitle">Permission 1-1-1:</p>
1320
+ <div class="permission" id="N1"><p class="RecommendationTitle">Permission 1:</p>
1321
+ <div class="permission" id="N2"><p class="RecommendationTitle">Permission 1-1:</p>
1322
+ <div class="permission" id="N"><p class="RecommendationTitle">Permission 1-1-1:</p>
1323
1323
  </div>
1324
1324
  </div>
1325
- <div class="require"><p class="RecommendationTitle">Requirement 1-1:</p>
1325
+ <div class="require" id="Q1"><p class="RecommendationTitle">Requirement 1-1:</p>
1326
1326
  </div>
1327
- <div class="recommend"><p class="RecommendationTitle">Recommendation 1-1:</p>
1327
+ <div class="recommend" id="R1"><p class="RecommendationTitle">Recommendation 1-1:</p>
1328
1328
  </div>
1329
1329
  </div>
1330
1330
  </div>
1331
1331
  <br/>
1332
1332
  <div id="Axyz" class="Section3">
1333
1333
  <h1 class="Annex"><b>Annex A</b><br/>(informative)<br/><br/><b>Preparatory</b></h1>
1334
- <div class="permission"><p class="RecommendationTitle">Permission A.1:</p>
1335
- <div class="permission"><p class="RecommendationTitle">Permission A.1-1:</p>
1336
- <div class="permission"><p class="RecommendationTitle">Permission A.1-1-1:</p>
1334
+ <div class="permission" id="AN1"><p class="RecommendationTitle">Permission A.1:</p>
1335
+ <div class="permission" id='AN2'><p class="RecommendationTitle">Permission A.1-1:</p>
1336
+ <div class="permission" id="AN"><p class="RecommendationTitle">Permission A.1-1-1:</p>
1337
1337
  </div>
1338
1338
  </div>
1339
- <div class="require"><p class="RecommendationTitle">Requirement A.1-1:</p>
1339
+ <div class="require" id="AQ1"><p class="RecommendationTitle">Requirement A.1-1:</p>
1340
1340
  </div>
1341
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.1-1:</p>
1341
+ <div class="recommend" id='AR1'><p class="RecommendationTitle">Recommendation A.1-1:</p>
1342
1342
  </div>
1343
1343
  </div>
1344
1344
  </div>
@@ -1601,9 +1601,9 @@ OUTPUT
1601
1601
  </div>
1602
1602
  <div id="terms"><h1>2.&#160; </h1>
1603
1603
  <p class="TermNum" id="_waxy_rice">2.1.</p><p class="Terms" style="text-align:left;">waxy rice</p>
1604
- <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><p class="TermNum" id="_nonwaxy_rice">2.2.</p><p class="Terms" style="text-align:left;">nonwaxy rice</p>
1605
- <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>
1606
- <div class="Note"><p>Note 2 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div></div>
1604
+ <div id="note1" 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><p class="TermNum" id="_nonwaxy_rice">2.2.</p><p class="Terms" style="text-align:left;">nonwaxy rice</p>
1605
+ <div id="note2" 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>
1606
+ <div id="note3" class="Note"><p>Note 2 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div></div>
1607
1607
  </div>
1608
1608
  </body>
1609
1609
  </html>
@@ -2258,4 +2258,124 @@ INPUT
2258
2258
  OUTPUT
2259
2259
  end
2260
2260
 
2261
+ it "realises numbering overrides" do
2262
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2263
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2264
+ <preface>
2265
+ <foreword id="fwd">
2266
+ <p>
2267
+ <xref target="N1"/>
2268
+ <xref target="N2"/>
2269
+ <xref target="N3"/>
2270
+ <xref target="N4"/>
2271
+ <xref target="N5"/>
2272
+ <xref target="N6"/>
2273
+ <xref target="N7"/>
2274
+ <xref target="N8"/>
2275
+ <xref target="N9"/>
2276
+ <xref target="N10"/>
2277
+ </p>
2278
+ </foreword>
2279
+ <introduction id="intro">
2280
+ <figure id="N1"> <name>Split-it-right sample divider</name>
2281
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2282
+ </figure>
2283
+ <figure id="N2" number="A"> <name>Split-it-right sample divider</name>
2284
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2285
+ </figure>
2286
+ <figure id="N3"> <name>Split-it-right sample divider</name>
2287
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2288
+ </figure>
2289
+ <figure id="N4" number="7"> <name>Split-it-right sample divider</name>
2290
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2291
+ </figure>
2292
+ <figure id="N5"> <name>Split-it-right sample divider</name>
2293
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2294
+ </figure>
2295
+ <figure id="N6" subsequence="B"> <name>Split-it-right sample divider</name>
2296
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2297
+ </figure>
2298
+ <figure id="N7" subsequence="B" number="c"> <name>Split-it-right sample divider</name>
2299
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2300
+ </figure>
2301
+ <figure id="N8" subsequence="B"> <name>Split-it-right sample divider</name>
2302
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2303
+ </figure>
2304
+ <figure id="N9" subsequence="C" number="20f"> <name>Split-it-right sample divider</name>
2305
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2306
+ </figure>
2307
+ <figure id="N10" subsequence="C"> <name>Split-it-right sample divider</name>
2308
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2309
+ </figure>
2310
+ </introduction>
2311
+ </iso-standard>
2312
+ INPUT
2313
+ #{HTML_HDR}
2314
+ <br/>
2315
+ <div id='fwd'>
2316
+ <h1 class='ForewordTitle'>Foreword</h1>
2317
+ <p>
2318
+ <a href='#N1'>Figure 1</a>
2319
+ <a href='#N2'>Figure A</a>
2320
+ <a href='#N3'>Figure 2</a>
2321
+ <a href='#N4'>Figure 7</a>
2322
+ <a href='#N5'>Figure 8</a>
2323
+ <a href='#N6'>Figure 9a</a>
2324
+ <a href='#N7'>Figure 9c</a>
2325
+ <a href='#N8'>Figure 9d</a>
2326
+ <a href='#N9'>Figure 20f</a>
2327
+ <a href='#N10'>Figure 20g</a>
2328
+ </p>
2329
+ </div>
2330
+ <br/>
2331
+ <div class='Section3' id='intro'>
2332
+ <h1 class='IntroTitle'>Introduction</h1>
2333
+ <div id='N1' class='figure'>
2334
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2335
+ <p class='FigureTitle' style='text-align:center;'>Figure 1&#160;&#8212; Split-it-right sample divider</p>
2336
+ </div>
2337
+ <div id='N2' class='figure'>
2338
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2339
+ <p class='FigureTitle' style='text-align:center;'>Figure A&#160;&#8212; Split-it-right sample divider</p>
2340
+ </div>
2341
+ <div id='N3' class='figure'>
2342
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2343
+ <p class='FigureTitle' style='text-align:center;'>Figure 2&#160;&#8212; Split-it-right sample divider</p>
2344
+ </div>
2345
+ <div id='N4' class='figure'>
2346
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2347
+ <p class='FigureTitle' style='text-align:center;'>Figure 7&#160;&#8212; Split-it-right sample divider</p>
2348
+ </div>
2349
+ <div id='N5' class='figure'>
2350
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2351
+ <p class='FigureTitle' style='text-align:center;'>Figure 8&#160;&#8212; Split-it-right sample divider</p>
2352
+ </div>
2353
+ <div id='N6' class='figure'>
2354
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2355
+ <p class='FigureTitle' style='text-align:center;'>Figure 9a&#160;&#8212; Split-it-right sample divider</p>
2356
+ </div>
2357
+ <div id='N7' class='figure'>
2358
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2359
+ <p class='FigureTitle' style='text-align:center;'>Figure 9c&#160;&#8212; Split-it-right sample divider</p>
2360
+ </div>
2361
+ <div id='N8' class='figure'>
2362
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2363
+ <p class='FigureTitle' style='text-align:center;'>Figure 9d&#160;&#8212; Split-it-right sample divider</p>
2364
+ </div>
2365
+ <div id='N9' class='figure'>
2366
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2367
+ <p class='FigureTitle' style='text-align:center;'>Figure 20f&#160;&#8212; Split-it-right sample divider</p>
2368
+ </div>
2369
+ <div id='N10' class='figure'>
2370
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2371
+ <p class='FigureTitle' style='text-align:center;'>Figure 20g&#160;&#8212; Split-it-right sample divider</p>
2372
+ </div>
2373
+ </div>
2374
+ <p class='zzSTDTitle1'/>
2375
+ </div>
2376
+ </body>
2377
+ </html>
2378
+ OUTPUT
2379
+ end
2380
+
2261
2381
  end
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.0.27
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-26 00:00:00.000000000 Z
11
+ date: 2020-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath
@@ -123,61 +123,61 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: sassc
126
+ name: metanorma
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 2.2.1
131
+ version: 1.1.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 2.2.1
138
+ version: 1.1.0
139
139
  - !ruby/object:Gem::Dependency
140
- name: metanorma
140
+ name: rake
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.0.0
145
+ version: '12.0'
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: 1.0.0
152
+ version: '12.0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: rake
154
+ name: byebug
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '12.0'
160
- type: :runtime
159
+ version: '9.1'
160
+ type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '12.0'
166
+ version: '9.1'
167
167
  - !ruby/object:Gem::Dependency
168
- name: byebug
168
+ name: sassc
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '9.1'
173
+ version: 2.4.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '9.1'
180
+ version: 2.4.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: equivalent-xml
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -320,10 +320,11 @@ files:
320
320
  - lib/isodoc/convert.rb
321
321
  - lib/isodoc/function.rb
322
322
  - lib/isodoc/function/blocks.rb
323
- - lib/isodoc/function/blocks_example.rb
323
+ - lib/isodoc/function/blocks_example_note.rb
324
324
  - lib/isodoc/function/cleanup.rb
325
325
  - lib/isodoc/function/i18n.rb
326
326
  - lib/isodoc/function/inline.rb
327
+ - lib/isodoc/function/inline_simple.rb
327
328
  - lib/isodoc/function/lists.rb
328
329
  - lib/isodoc/function/references.rb
329
330
  - lib/isodoc/function/reqt.rb
@@ -332,11 +333,7 @@ files:
332
333
  - lib/isodoc/function/terms.rb
333
334
  - lib/isodoc/function/to_word_html.rb
334
335
  - lib/isodoc/function/utils.rb
335
- - lib/isodoc/function/xref_anchor.rb
336
- - lib/isodoc/function/xref_counter.rb
337
- - lib/isodoc/function/xref_gen.rb
338
- - lib/isodoc/function/xref_gen_seq.rb
339
- - lib/isodoc/function/xref_sect_gen.rb
336
+ - lib/isodoc/gem_tasks.rb
340
337
  - lib/isodoc/headlesshtml_convert.rb
341
338
  - lib/isodoc/html_convert.rb
342
339
  - lib/isodoc/html_function.rb
@@ -347,22 +344,34 @@ files:
347
344
  - lib/isodoc/metadata.rb
348
345
  - lib/isodoc/metadata_date.rb
349
346
  - lib/isodoc/pdf_convert.rb
347
+ - lib/isodoc/presentation_xml_convert.rb
348
+ - lib/isodoc/sassc_importer.rb
350
349
  - lib/isodoc/version.rb
351
350
  - lib/isodoc/word_convert.rb
352
351
  - lib/isodoc/word_function.rb
353
352
  - lib/isodoc/word_function/body.rb
354
353
  - lib/isodoc/word_function/comments.rb
355
354
  - lib/isodoc/word_function/footnotes.rb
355
+ - lib/isodoc/word_function/inline.rb
356
356
  - lib/isodoc/word_function/postprocess.rb
357
357
  - lib/isodoc/word_function/postprocess_cover.rb
358
358
  - lib/isodoc/word_function/table.rb
359
+ - lib/isodoc/xref.rb
360
+ - lib/isodoc/xref/xref_anchor.rb
361
+ - lib/isodoc/xref/xref_counter.rb
362
+ - lib/isodoc/xref/xref_gen.rb
363
+ - lib/isodoc/xref/xref_gen_seq.rb
364
+ - lib/isodoc/xref/xref_sect_gen.rb
359
365
  - lib/isodoc/xslfo_convert.rb
360
366
  - spec/assets/header.html
361
- - spec/assets/html.css
367
+ - spec/assets/html.scss
362
368
  - spec/assets/htmlcover.html
363
369
  - spec/assets/htmlintro.html
364
370
  - spec/assets/i18n.yaml
365
371
  - spec/assets/iso.xml
372
+ - spec/assets/odf.emf
373
+ - spec/assets/odf.svg
374
+ - spec/assets/odf1.svg
366
375
  - spec/assets/rice_image1
367
376
  - spec/assets/rice_image1.png
368
377
  - spec/assets/scripts.html
@@ -378,6 +387,7 @@ files:
378
387
  - spec/isodoc/lists_spec.rb
379
388
  - spec/isodoc/metadata_spec.rb
380
389
  - spec/isodoc/postproc_spec.rb
390
+ - spec/isodoc/presentation_xml_spec.rb
381
391
  - spec/isodoc/ref_spec.rb
382
392
  - spec/isodoc/section_spec.rb
383
393
  - spec/isodoc/table_spec.rb
@@ -388,7 +398,7 @@ homepage: https://github.com/metanorma/isodoc
388
398
  licenses:
389
399
  - BSD-2-Clause
390
400
  metadata: {}
391
- post_install_message:
401
+ post_install_message:
392
402
  rdoc_options: []
393
403
  require_paths:
394
404
  - lib
@@ -403,9 +413,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
403
413
  - !ruby/object:Gem::Version
404
414
  version: '0'
405
415
  requirements: []
406
- rubyforge_project:
407
- rubygems_version: 2.7.6
408
- signing_key:
416
+ rubygems_version: 3.0.3
417
+ signing_key:
409
418
  specification_version: 4
410
419
  summary: Convert documents in IsoDoc into Word and HTML in AsciiDoc.
411
420
  test_files: []