metanorma-standoc 1.11.4 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +3 -31
- data/.gitignore +23 -0
- data/Gemfile +0 -1
- data/lib/asciidoctor/standoc/base.rb +2 -145
- data/lib/asciidoctor/standoc/blocks.rb +2 -238
- data/lib/asciidoctor/standoc/blocks_notes.rb +2 -100
- data/lib/asciidoctor/standoc/cleanup.rb +2 -208
- data/lib/asciidoctor/standoc/cleanup_amend.rb +2 -53
- data/lib/asciidoctor/standoc/cleanup_block.rb +2 -172
- data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +2 -212
- data/lib/asciidoctor/standoc/cleanup_footnotes.rb +2 -108
- data/lib/asciidoctor/standoc/cleanup_image.rb +2 -69
- data/lib/asciidoctor/standoc/cleanup_inline.rb +2 -189
- data/lib/asciidoctor/standoc/cleanup_maths.rb +2 -221
- data/lib/asciidoctor/standoc/cleanup_ref.rb +2 -169
- data/lib/asciidoctor/standoc/cleanup_ref_dl.rb +2 -103
- data/lib/asciidoctor/standoc/cleanup_reqt.rb +2 -110
- data/lib/asciidoctor/standoc/cleanup_section.rb +2 -184
- data/lib/asciidoctor/standoc/cleanup_section_names.rb +2 -91
- data/lib/asciidoctor/standoc/cleanup_symbols.rb +2 -47
- data/lib/asciidoctor/standoc/cleanup_table.rb +2 -67
- data/lib/asciidoctor/standoc/cleanup_terms.rb +2 -139
- data/lib/asciidoctor/standoc/cleanup_terms_designations.rb +2 -198
- data/lib/asciidoctor/standoc/cleanup_text.rb +2 -95
- data/lib/asciidoctor/standoc/cleanup_toc.rb +3 -0
- data/lib/asciidoctor/standoc/cleanup_xref.rb +2 -106
- data/lib/asciidoctor/standoc/converter.rb +2 -123
- data/lib/asciidoctor/standoc/datamodel/attributes_table_preprocessor.rb +2 -56
- data/lib/asciidoctor/standoc/datamodel/diagram_preprocessor.rb +2 -102
- data/lib/asciidoctor/standoc/datamodel/plantuml_renderer.rb +3 -404
- data/lib/asciidoctor/standoc/deprecated.rb +5 -0
- data/lib/asciidoctor/standoc/front.rb +2 -223
- data/lib/asciidoctor/standoc/front_contributor.rb +2 -191
- data/lib/asciidoctor/standoc/inline.rb +2 -231
- data/lib/asciidoctor/standoc/lists.rb +2 -119
- data/lib/asciidoctor/standoc/macros.rb +2 -203
- data/lib/asciidoctor/standoc/macros_form.rb +2 -62
- data/lib/asciidoctor/standoc/macros_note.rb +2 -44
- data/lib/asciidoctor/standoc/macros_plantuml.rb +2 -112
- data/lib/asciidoctor/standoc/macros_terms.rb +2 -180
- data/lib/asciidoctor/standoc/ref.rb +2 -251
- data/lib/asciidoctor/standoc/ref_sect.rb +2 -153
- data/lib/asciidoctor/standoc/ref_utility.rb +2 -0
- data/lib/asciidoctor/standoc/render.rb +2 -114
- data/lib/asciidoctor/standoc/reqt.rb +2 -89
- data/lib/asciidoctor/standoc/section.rb +2 -207
- data/lib/asciidoctor/standoc/table.rb +2 -84
- data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +2 -178
- data/lib/asciidoctor/standoc/terms.rb +2 -159
- data/lib/asciidoctor/standoc/utils.rb +2 -100
- data/lib/asciidoctor/standoc/validate.rb +2 -157
- data/lib/asciidoctor/standoc/validate_section.rb +2 -54
- data/lib/isodoc/html/htmlstyle.css +25 -19
- data/lib/isodoc/html/htmlstyle.scss +7 -2
- data/lib/metanorma/standoc/base.rb +163 -0
- data/lib/{asciidoctor → metanorma}/standoc/basicdoc.rng +5 -3
- data/lib/{asciidoctor → metanorma}/standoc/biblio.rng +7 -5
- data/lib/metanorma/standoc/blocks.rb +239 -0
- data/lib/metanorma/standoc/blocks_notes.rb +101 -0
- data/lib/metanorma/standoc/cleanup.rb +157 -0
- data/lib/metanorma/standoc/cleanup_amend.rb +54 -0
- data/lib/metanorma/standoc/cleanup_block.rb +173 -0
- data/lib/metanorma/standoc/cleanup_boilerplate.rb +213 -0
- data/lib/metanorma/standoc/cleanup_footnotes.rb +109 -0
- data/lib/metanorma/standoc/cleanup_image.rb +184 -0
- data/lib/metanorma/standoc/cleanup_inline.rb +190 -0
- data/lib/metanorma/standoc/cleanup_maths.rb +222 -0
- data/lib/metanorma/standoc/cleanup_ref.rb +170 -0
- data/lib/metanorma/standoc/cleanup_ref_dl.rb +104 -0
- data/lib/metanorma/standoc/cleanup_reqt.rb +111 -0
- data/lib/metanorma/standoc/cleanup_section.rb +212 -0
- data/lib/metanorma/standoc/cleanup_section_names.rb +92 -0
- data/lib/metanorma/standoc/cleanup_symbols.rb +48 -0
- data/lib/metanorma/standoc/cleanup_table.rb +68 -0
- data/lib/metanorma/standoc/cleanup_terms.rb +140 -0
- data/lib/metanorma/standoc/cleanup_terms_designations.rb +199 -0
- data/lib/metanorma/standoc/cleanup_text.rb +74 -0
- data/lib/metanorma/standoc/cleanup_toc.rb +98 -0
- data/lib/metanorma/standoc/cleanup_xref.rb +114 -0
- data/lib/metanorma/standoc/converter.rb +126 -0
- data/lib/metanorma/standoc/datamodel/attributes_table_preprocessor.rb +57 -0
- data/lib/metanorma/standoc/datamodel/diagram_preprocessor.rb +103 -0
- data/lib/metanorma/standoc/datamodel/plantuml_renderer.rb +409 -0
- data/lib/metanorma/standoc/front.rb +224 -0
- data/lib/metanorma/standoc/front_contributor.rb +192 -0
- data/lib/metanorma/standoc/inline.rb +232 -0
- data/lib/{asciidoctor → metanorma}/standoc/isodoc.rng +108 -1
- data/lib/metanorma/standoc/lists.rb +120 -0
- data/lib/metanorma/standoc/macros.rb +205 -0
- data/lib/metanorma/standoc/macros_embed.rb +72 -0
- data/lib/metanorma/standoc/macros_form.rb +63 -0
- data/lib/metanorma/standoc/macros_note.rb +45 -0
- data/lib/metanorma/standoc/macros_plantuml.rb +113 -0
- data/lib/metanorma/standoc/macros_terms.rb +194 -0
- data/lib/metanorma/standoc/ref.rb +248 -0
- data/lib/metanorma/standoc/ref_sect.rb +153 -0
- data/lib/{asciidoctor/standoc/ref_date_id.rb → metanorma/standoc/ref_utility.rb} +45 -6
- data/lib/metanorma/standoc/render.rb +115 -0
- data/lib/metanorma/standoc/reqt.rb +90 -0
- data/lib/{asciidoctor → metanorma}/standoc/reqt.rng +0 -0
- data/lib/metanorma/standoc/section.rb +209 -0
- data/lib/metanorma/standoc/table.rb +85 -0
- data/lib/metanorma/standoc/term_lookup_cleanup.rb +181 -0
- data/lib/metanorma/standoc/terms.rb +163 -0
- data/lib/metanorma/standoc/utils.rb +101 -0
- data/lib/metanorma/standoc/validate.rb +163 -0
- data/lib/metanorma/standoc/validate_section.rb +55 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/lib/{asciidoctor → metanorma}/standoc/views/datamodel/model_representation.adoc.erb +0 -0
- data/lib/{asciidoctor → metanorma}/standoc/views/datamodel/plantuml_representation.adoc.erb +0 -0
- data/lib/metanorma-standoc.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- data/spec/assets/a1.adoc +8 -0
- data/spec/assets/a2.adoc +8 -0
- data/spec/assets/a3.adoc +9 -0
- data/spec/assets/a4.adoc +4 -0
- data/spec/{asciidoctor → metanorma}/base_spec.rb +453 -409
- data/spec/{asciidoctor → metanorma}/blank_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/blocks_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/cleanup_blocks_spec.rb +137 -1
- data/spec/{asciidoctor → metanorma}/cleanup_sections_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/cleanup_spec.rb +8 -8
- data/spec/{asciidoctor → metanorma}/cleanup_terms_spec.rb +204 -204
- data/spec/{asciidoctor → metanorma}/datamodel/attributes_table_preprocessor_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/datamodel/diagram_preprocessor_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/inline_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/isobib_cache_spec.rb +3 -3
- data/spec/{asciidoctor → metanorma}/lists_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/macros_json2text_spec.rb +0 -0
- data/spec/{asciidoctor → metanorma}/macros_plantuml_spec.rb +3 -3
- data/spec/{asciidoctor → metanorma}/macros_spec.rb +158 -6
- data/spec/{asciidoctor → metanorma}/macros_yaml2text_spec.rb +0 -0
- data/spec/metanorma/refs_dl_spec.rb +863 -0
- data/spec/{asciidoctor → metanorma}/refs_spec.rb +580 -66
- data/spec/{asciidoctor → metanorma}/section_spec.rb +42 -17
- data/spec/{asciidoctor → metanorma}/table_spec.rb +1 -1
- data/spec/{asciidoctor → metanorma}/validate_spec.rb +2 -2
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +46 -46
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +10 -10
- data/spec/vcr_cassettes/hide_refs.yml +599 -0
- data/spec/vcr_cassettes/isobib_get_123.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_123_1.yml +23 -23
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +85 -85
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_124.yml +13 -13
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +14 -14
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +60 -50
- metadata +88 -32
- data/spec/asciidoctor/refs_dl_spec.rb +0 -864
@@ -1,11 +1,12 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
RSpec.describe
|
4
|
-
it "processes the
|
3
|
+
RSpec.describe Metanorma::Standoc do
|
4
|
+
it "processes the Metanorma::Standoc inline macros" do
|
5
5
|
input = <<~INPUT
|
6
6
|
#{ASCIIDOC_BLANK_HDR}
|
7
7
|
preferred:[term0]
|
8
8
|
alt:[term1]
|
9
|
+
admitted:[term1a]
|
9
10
|
deprecated:[term2]
|
10
11
|
domain:[term3]
|
11
12
|
inherit:[<<ref1>>]
|
@@ -23,6 +24,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
23
24
|
<title>Foreword</title>
|
24
25
|
<preferred><expression><name>term0</name></expression></preferred>
|
25
26
|
<admitted><expression><name>term1</name></expression></admitted>
|
27
|
+
<admitted><expression><name>term1a</name></expression></admitted>
|
26
28
|
<deprecates><expression><name>term2</name></expression></deprecates>
|
27
29
|
<domain>term3</domain>
|
28
30
|
<inherit>
|
@@ -55,7 +57,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
55
57
|
.to be_equivalent_to xmlpp(output)
|
56
58
|
end
|
57
59
|
|
58
|
-
it "processes the
|
60
|
+
it "processes the Metanorma::Standoc index macros" do
|
59
61
|
input = <<~INPUT
|
60
62
|
#{ASCIIDOC_BLANK_HDR}
|
61
63
|
index:also[]
|
@@ -127,7 +129,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
127
129
|
.to be_equivalent_to xmlpp(output)
|
128
130
|
end
|
129
131
|
|
130
|
-
it "processes the
|
132
|
+
it "processes the Metanorma::Standoc variant macros" do
|
131
133
|
input = <<~INPUT
|
132
134
|
#{ASCIIDOC_BLANK_HDR}
|
133
135
|
== lang:en[English] lang:fr-Latn[Français]
|
@@ -163,7 +165,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
163
165
|
.to be_equivalent_to xmlpp(output)
|
164
166
|
end
|
165
167
|
|
166
|
-
it "processes the
|
168
|
+
it "processes the Metanorma::Standoc concept and related macros" do
|
167
169
|
input = <<~INPUT
|
168
170
|
#{ASCIIDOC_BLANK_HDR}
|
169
171
|
|
@@ -332,7 +334,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
332
334
|
.to be_equivalent_to xmlpp(output)
|
333
335
|
end
|
334
336
|
|
335
|
-
it "processes the
|
337
|
+
it "processes the Metanorma::Standoc concept macros for acronyms" do
|
336
338
|
input = <<~INPUT
|
337
339
|
#{ASCIIDOC_BLANK_HDR}
|
338
340
|
|
@@ -1302,6 +1304,95 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1302
1304
|
.to be_equivalent_to xmlpp(output)
|
1303
1305
|
end
|
1304
1306
|
|
1307
|
+
it "processes embed macro" do
|
1308
|
+
input = <<~INPUT
|
1309
|
+
#{ASCIIDOC_BLANK_HDR}
|
1310
|
+
|
1311
|
+
[[clause1]]
|
1312
|
+
== Clause 1
|
1313
|
+
|
1314
|
+
embed::spec/assets/xref_error.adoc[]
|
1315
|
+
INPUT
|
1316
|
+
output = <<~OUTPUT
|
1317
|
+
#{BLANK_HDR}
|
1318
|
+
<sections>
|
1319
|
+
<clause id='clause1' inline-header='false' obligation='normative'>
|
1320
|
+
<title>Clause 1</title>
|
1321
|
+
</clause>
|
1322
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1323
|
+
<title>Clause</title>
|
1324
|
+
<p id='_'>
|
1325
|
+
<xref target='a'>b</xref>
|
1326
|
+
</p>
|
1327
|
+
</clause>
|
1328
|
+
</sections>
|
1329
|
+
</standard-document>
|
1330
|
+
OUTPUT
|
1331
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1332
|
+
.to be_equivalent_to xmlpp(output)
|
1333
|
+
end
|
1334
|
+
|
1335
|
+
it "processes embed macro with overwriting" do
|
1336
|
+
input = <<~INPUT
|
1337
|
+
#{ASCIIDOC_BLANK_HDR}
|
1338
|
+
|
1339
|
+
[[clause1]]
|
1340
|
+
== Clause
|
1341
|
+
|
1342
|
+
embed::spec/assets/xref_error.adoc[]
|
1343
|
+
INPUT
|
1344
|
+
output = <<~OUTPUT
|
1345
|
+
#{BLANK_HDR}
|
1346
|
+
<sections>
|
1347
|
+
<clause id='clause1' inline-header='false' obligation='normative'>
|
1348
|
+
<title>Clause</title>
|
1349
|
+
</clause>
|
1350
|
+
</sections>
|
1351
|
+
</standard-document>
|
1352
|
+
OUTPUT
|
1353
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1354
|
+
.to be_equivalent_to xmlpp(output)
|
1355
|
+
end
|
1356
|
+
|
1357
|
+
it "processes recursive embed macro with includes" do
|
1358
|
+
input = <<~INPUT
|
1359
|
+
#{ASCIIDOC_BLANK_HDR}
|
1360
|
+
|
1361
|
+
[[clause1]]
|
1362
|
+
== Clause
|
1363
|
+
|
1364
|
+
embed::spec/assets/a1.adoc[]
|
1365
|
+
INPUT
|
1366
|
+
output = <<~OUTPUT
|
1367
|
+
#{BLANK_HDR}
|
1368
|
+
<sections>
|
1369
|
+
<clause id='clause1' inline-header='false' obligation='normative'>
|
1370
|
+
<title>Clause</title>
|
1371
|
+
</clause>
|
1372
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1373
|
+
<title>Clause 1</title>
|
1374
|
+
<p id='_'>X</p>
|
1375
|
+
</clause>
|
1376
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1377
|
+
<title>Clause 2</title>
|
1378
|
+
<p id='_'>X</p>
|
1379
|
+
</clause>
|
1380
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1381
|
+
<title>Clause 3</title>
|
1382
|
+
<p id='_'>X</p>
|
1383
|
+
</clause>
|
1384
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1385
|
+
<title>Clause 4</title>
|
1386
|
+
<p id='_'>X</p>
|
1387
|
+
</clause>
|
1388
|
+
</sections>
|
1389
|
+
</standard-document>
|
1390
|
+
OUTPUT
|
1391
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1392
|
+
.to be_equivalent_to xmlpp(output)
|
1393
|
+
end
|
1394
|
+
|
1395
|
+
|
1305
1396
|
describe "term inline macros" do
|
1306
1397
|
subject(:convert) do
|
1307
1398
|
xmlpp(
|
@@ -1431,6 +1522,67 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1431
1522
|
end
|
1432
1523
|
end
|
1433
1524
|
|
1525
|
+
context "terms with index terms" do
|
1526
|
+
let(:input) do
|
1527
|
+
<<~XML
|
1528
|
+
#{ASCIIDOC_BLANK_HDR}
|
1529
|
+
|
1530
|
+
== Terms and Definitions
|
1531
|
+
|
1532
|
+
=== name(((name)))
|
1533
|
+
|
1534
|
+
== Main
|
1535
|
+
|
1536
|
+
term:[name] is a term
|
1537
|
+
|
1538
|
+
{{name}} is a term
|
1539
|
+
XML
|
1540
|
+
end
|
1541
|
+
let(:output) do
|
1542
|
+
<<~XML
|
1543
|
+
#{BLANK_HDR}
|
1544
|
+
<sections>
|
1545
|
+
<terms id='_' obligation='normative'>
|
1546
|
+
<title>Terms and definitions</title>
|
1547
|
+
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
1548
|
+
<term id='term-name'>
|
1549
|
+
<preferred><expression><name>name
|
1550
|
+
<index>
|
1551
|
+
<primary>name</primary>
|
1552
|
+
</index>
|
1553
|
+
</name>
|
1554
|
+
</expression></preferred>
|
1555
|
+
</term>
|
1556
|
+
</terms>
|
1557
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
1558
|
+
<title>Main</title>
|
1559
|
+
<p id='_'>
|
1560
|
+
<concept>
|
1561
|
+
<refterm>name</refterm>
|
1562
|
+
<renderterm>name</renderterm>
|
1563
|
+
<xref target='term-name'/>
|
1564
|
+
</concept>
|
1565
|
+
is a term
|
1566
|
+
</p>
|
1567
|
+
<p id='_'>
|
1568
|
+
<concept>
|
1569
|
+
<refterm>name</refterm>
|
1570
|
+
<renderterm>name</renderterm>
|
1571
|
+
<xref target='term-name'/>
|
1572
|
+
</concept>
|
1573
|
+
is a term
|
1574
|
+
</p>
|
1575
|
+
</clause>
|
1576
|
+
</sections>
|
1577
|
+
</standard-document>
|
1578
|
+
XML
|
1579
|
+
end
|
1580
|
+
|
1581
|
+
it "strips index terms in terms anchors" do
|
1582
|
+
expect(convert).to(be_equivalent_to(xmlpp(output)))
|
1583
|
+
end
|
1584
|
+
end
|
1585
|
+
|
1434
1586
|
context "multiply exising ids in document" do
|
1435
1587
|
let(:input) do
|
1436
1588
|
<<~XML
|
File without changes
|