isodoc 1.0.27 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
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: []