metanorma-itu 0.2.8 → 1.0.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.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +3 -2
- data/.github/workflows/ubuntu.yml +3 -2
- data/.github/workflows/windows.yml +3 -2
- data/README.adoc +6 -7
- data/lib/asciidoctor/itu/basicdoc.rng +28 -14
- data/lib/asciidoctor/itu/biblio.rng +13 -3
- data/lib/asciidoctor/itu/cleanup.rb +118 -0
- data/lib/asciidoctor/itu/converter.rb +17 -53
- data/lib/asciidoctor/itu/isodoc.rng +6 -6
- data/lib/asciidoctor/itu/isostandard.rng +10 -5
- data/lib/asciidoctor/itu/itu.rng +48 -0
- data/lib/asciidoctor/itu/itu_intro.xml +48 -0
- data/lib/asciidoctor/itu/macros.rb +22 -14
- data/lib/asciidoctor/itu/validate.rb +14 -0
- data/lib/isodoc/itu/base_convert.rb +93 -77
- data/lib/isodoc/itu/html/_coverpage.scss +172 -0
- data/lib/isodoc/itu/html/html_itu_intro.html +2 -34
- data/lib/isodoc/itu/html/html_itu_titlepage.html +26 -49
- data/lib/isodoc/itu/html/htmlstyle.scss +295 -918
- data/lib/isodoc/itu/html/itu.scss +49 -21
- data/lib/isodoc/itu/html/word_itu_intro.html +61 -174
- data/lib/isodoc/itu/html/word_itu_titlepage.html +4 -18
- data/lib/isodoc/itu/html/wordstyle.scss +151 -157
- data/lib/isodoc/itu/html_convert.rb +21 -7
- data/lib/isodoc/itu/i18n-en.yaml +1 -0
- data/lib/isodoc/itu/metadata.rb +12 -3
- data/lib/isodoc/itu/pdf_convert.rb +25 -5
- data/lib/isodoc/itu/terms.rb +87 -0
- data/lib/isodoc/itu/word_convert.rb +83 -15
- data/lib/isodoc/itu/xref.rb +4 -5
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +2 -2
- metadata +34 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e18def3906b392a164e0fc200836e95217ec2c0689d4721bc64ef4e8c3a7cc0d
|
4
|
+
data.tar.gz: 1d0ca7d8a3840c579f554fe32208a5b12fa7b9de960e68d2aca824ca103ab030
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d38ceb1119b8a45cad531b4fdad23b3186c1a0765c3f263e6daebdb1632020549c8838fb89a9d9f73983dfe7cadc71facdaec6d5d334df76f5e5eb80c219f2ab
|
7
|
+
data.tar.gz: 015be0de1ece74eb7efb1edda36282cf1979eab4b08a9bb5eed74d28ca9ed288ce1b68fdf9547bef8932b64d5cb222d7a271d5972615e9b994b51bcc9ea7b6bb
|
data/.github/workflows/macos.yml
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
# use ci-master https://github.com/metanorma/metanorma-build-scripts
|
3
3
|
name: macos
|
4
4
|
|
5
|
-
on: [push]
|
5
|
+
on: [push, pull_request]
|
6
6
|
|
7
7
|
jobs:
|
8
8
|
test-macos:
|
9
9
|
name: Test on Ruby ${{ matrix.ruby }} macOS
|
10
10
|
runs-on: macos-latest
|
11
11
|
strategy:
|
12
|
+
fail-fast: false
|
12
13
|
matrix:
|
13
14
|
ruby: [ '2.6', '2.5', '2.4' ]
|
14
15
|
steps:
|
@@ -20,7 +21,7 @@ jobs:
|
|
20
21
|
architecture: 'x64'
|
21
22
|
- name: Update gems
|
22
23
|
run: |
|
23
|
-
sudo gem install bundler
|
24
|
+
sudo gem install bundler --force
|
24
25
|
bundle install --jobs 4 --retry 3
|
25
26
|
- name: Use Node
|
26
27
|
uses: actions/setup-node@v1
|
@@ -2,13 +2,14 @@
|
|
2
2
|
# use ci-master https://github.com/metanorma/metanorma-build-scripts
|
3
3
|
name: ubuntu
|
4
4
|
|
5
|
-
on: [push]
|
5
|
+
on: [push, pull_request]
|
6
6
|
|
7
7
|
jobs:
|
8
8
|
test-linux:
|
9
9
|
name: Test on Ruby ${{ matrix.ruby }} Ubuntu
|
10
10
|
runs-on: ubuntu-latest
|
11
11
|
strategy:
|
12
|
+
fail-fast: false
|
12
13
|
matrix:
|
13
14
|
ruby: [ '2.6', '2.5', '2.4' ]
|
14
15
|
steps:
|
@@ -20,7 +21,7 @@ jobs:
|
|
20
21
|
architecture: 'x64'
|
21
22
|
- name: Update gems
|
22
23
|
run: |
|
23
|
-
gem install bundler
|
24
|
+
gem install bundler
|
24
25
|
bundle install --jobs 4 --retry 3
|
25
26
|
- name: Use Node
|
26
27
|
uses: actions/setup-node@v1
|
@@ -2,13 +2,14 @@
|
|
2
2
|
# use ci-master https://github.com/metanorma/metanorma-build-scripts
|
3
3
|
name: windows
|
4
4
|
|
5
|
-
on: [push]
|
5
|
+
on: [push, pull_request]
|
6
6
|
|
7
7
|
jobs:
|
8
8
|
test-windows:
|
9
9
|
name: Test on Ruby ${{ matrix.ruby }} Windows
|
10
10
|
runs-on: windows-latest
|
11
11
|
strategy:
|
12
|
+
fail-fast: false
|
12
13
|
matrix:
|
13
14
|
ruby: [ '2.6', '2.5', '2.4' ]
|
14
15
|
steps:
|
@@ -21,7 +22,7 @@ jobs:
|
|
21
22
|
- name: Update gems
|
22
23
|
shell: pwsh
|
23
24
|
run: |
|
24
|
-
gem install bundler
|
25
|
+
gem install bundler
|
25
26
|
bundle config --local path vendor/bundle
|
26
27
|
bundle update
|
27
28
|
bundle install --jobs 4 --retry 3
|
data/README.adoc
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
= metanorma-itu: Asciidoctor processor for ITU
|
2
2
|
|
3
3
|
image:https://img.shields.io/gem/v/metanorma-itu.svg["Gem Version", link="https://rubygems.org/gems/metanorma-itu"]
|
4
|
-
image:https://travis-ci.com/metanorma/metanorma-itu.svg
|
4
|
+
image:https://travis-ci.com/metanorma/metanorma-itu.svg["Build Status", link="https://travis-ci.com/metanorma/metanorma-itu"]
|
5
|
+
image:https://ci.appveyor.com/api/projects/status/pl6lh4a9224ijbe1?svg=true["Appveyor Build Status", link="https://ci.appveyor.com/project/metanorma/metanorma-itu"]
|
5
6
|
image:https://codeclimate.com/github/metanorma/metanorma-itu/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-itu"]
|
6
|
-
image:https://
|
7
|
-
|
8
|
-
WARNING: This gem is still under development.
|
7
|
+
image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-itu.svg["Pull Requests", link="https://github.com/metanorma/metanorma-itu/pulls"]
|
8
|
+
image:https://img.shields.io/github/commits-since/metanorma/metanorma-itu/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-itu/releases"]
|
9
9
|
|
10
10
|
== Functionality
|
11
11
|
|
@@ -66,7 +66,6 @@ See https://www.metanorma.com/author/itu/[Write ITU-T documents with Metanorma].
|
|
66
66
|
|
67
67
|
== Examples
|
68
68
|
|
69
|
-
*
|
70
|
-
*
|
71
|
-
* link:spec/examples/rfc6350.doc[] is a Word document generated from the Asciidoctor.
|
69
|
+
* Example documents are avalable at the https://github.com/metanorma/mn-samples-itu[mn-samples-itu] repository.
|
70
|
+
* Document templates are available at the https://github.com/metanorma/mn-templates-itu[mn-templates-itu] repository.
|
72
71
|
|
@@ -1,9 +1,10 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
-
<include href="biblio.rng"
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
<include href="biblio.rng">
|
4
|
+
<start>
|
5
|
+
<ref name="document"/>
|
6
|
+
</start>
|
7
|
+
</include>
|
7
8
|
<define name="document">
|
8
9
|
<element name="document">
|
9
10
|
<optional>
|
@@ -51,9 +52,9 @@
|
|
51
52
|
<optional>
|
52
53
|
<ref name="section-title"/>
|
53
54
|
</optional>
|
54
|
-
<
|
55
|
+
<zeroOrMore>
|
55
56
|
<ref name="BasicBlock"/>
|
56
|
-
</
|
57
|
+
</zeroOrMore>
|
57
58
|
<zeroOrMore>
|
58
59
|
<ref name="note"/>
|
59
60
|
</zeroOrMore>
|
@@ -283,6 +284,9 @@
|
|
283
284
|
<attribute name="id">
|
284
285
|
<data type="ID"/>
|
285
286
|
</attribute>
|
287
|
+
<optional>
|
288
|
+
<attribute name="alt"/>
|
289
|
+
</optional>
|
286
290
|
<optional>
|
287
291
|
<ref name="tname"/>
|
288
292
|
</optional>
|
@@ -341,11 +345,6 @@
|
|
341
345
|
</oneOrMore>
|
342
346
|
</element>
|
343
347
|
</define>
|
344
|
-
<define name="tclass">
|
345
|
-
<element name="name">
|
346
|
-
<text/>
|
347
|
-
</element>
|
348
|
-
</define>
|
349
348
|
<define name="thead">
|
350
349
|
<element name="thead">
|
351
350
|
<ref name="tr"/>
|
@@ -515,19 +514,22 @@
|
|
515
514
|
<attribute name="subsequence"/>
|
516
515
|
</optional>
|
517
516
|
<optional>
|
518
|
-
<
|
517
|
+
<attribute name="class"/>
|
519
518
|
</optional>
|
520
519
|
<optional>
|
521
|
-
<ref name="
|
520
|
+
<ref name="source"/>
|
522
521
|
</optional>
|
523
522
|
<optional>
|
524
|
-
<ref name="
|
523
|
+
<ref name="tname"/>
|
525
524
|
</optional>
|
526
525
|
<choice>
|
527
526
|
<ref name="image"/>
|
528
527
|
<ref name="video"/>
|
529
528
|
<ref name="audio"/>
|
530
529
|
<ref name="pre"/>
|
530
|
+
<oneOrMore>
|
531
|
+
<ref name="paragraph-with-footnote"/>
|
532
|
+
</oneOrMore>
|
531
533
|
<zeroOrMore>
|
532
534
|
<ref name="figure"/>
|
533
535
|
</zeroOrMore>
|
@@ -565,6 +567,7 @@
|
|
565
567
|
<ref name="pagebreak"/>
|
566
568
|
<ref name="bookmark"/>
|
567
569
|
<ref name="image"/>
|
570
|
+
<ref name="index"/>
|
568
571
|
</choice>
|
569
572
|
</define>
|
570
573
|
<define name="PureTextElement">
|
@@ -689,6 +692,17 @@
|
|
689
692
|
<empty/>
|
690
693
|
</element>
|
691
694
|
</define>
|
695
|
+
<define name="index">
|
696
|
+
<element name="index">
|
697
|
+
<attribute name="primary"/>
|
698
|
+
<optional>
|
699
|
+
<attribute name="secondary"/>
|
700
|
+
</optional>
|
701
|
+
<optional>
|
702
|
+
<attribute name="tertiary"/>
|
703
|
+
</optional>
|
704
|
+
</element>
|
705
|
+
</define>
|
692
706
|
<!-- bare ID element, used for referencing arbitrary spans of text -->
|
693
707
|
<define name="bookmark">
|
694
708
|
<element name="bookmark">
|
@@ -33,6 +33,9 @@
|
|
33
33
|
<param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
|
34
34
|
</data>
|
35
35
|
</define>
|
36
|
+
<start>
|
37
|
+
<ref name="bibitem"/>
|
38
|
+
</start>
|
36
39
|
<define name="status">
|
37
40
|
<element name="status">
|
38
41
|
<ref name="stage"/>
|
@@ -275,10 +278,12 @@
|
|
275
278
|
</define>
|
276
279
|
<define name="organization">
|
277
280
|
<element name="organization">
|
278
|
-
<
|
279
|
-
|
281
|
+
<oneOrMore>
|
282
|
+
<ref name="orgname"/>
|
283
|
+
</oneOrMore>
|
284
|
+
<zeroOrMore>
|
280
285
|
<ref name="subdivision"/>
|
281
|
-
</
|
286
|
+
</zeroOrMore>
|
282
287
|
<optional>
|
283
288
|
<ref name="abbreviation"/>
|
284
289
|
</optional>
|
@@ -354,6 +359,9 @@
|
|
354
359
|
</define>
|
355
360
|
<define name="phone">
|
356
361
|
<element name="phone">
|
362
|
+
<optional>
|
363
|
+
<attribute name="type"/>
|
364
|
+
</optional>
|
357
365
|
<text/>
|
358
366
|
</element>
|
359
367
|
</define>
|
@@ -1021,6 +1029,8 @@
|
|
1021
1029
|
<value>correctedBy</value>
|
1022
1030
|
<value>revises</value>
|
1023
1031
|
<value>revisedBy</value>
|
1032
|
+
<value>describes</value>
|
1033
|
+
<value>describedBy</value>
|
1024
1034
|
</choice>
|
1025
1035
|
</define>
|
1026
1036
|
<define name="docrelation">
|
@@ -0,0 +1,118 @@
|
|
1
|
+
module Asciidoctor
|
2
|
+
module ITU
|
3
|
+
class Converter < Standoc::Converter
|
4
|
+
def sections_cleanup(x)
|
5
|
+
super
|
6
|
+
x.xpath("//*[@inline-header]").each do |h|
|
7
|
+
h.delete("inline-header")
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def cleanup(xmldoc)
|
12
|
+
symbols_cleanup(xmldoc)
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def smartquotes_cleanup(xmldoc)
|
17
|
+
return super if @smartquotes
|
18
|
+
xmldoc.traverse do |n|
|
19
|
+
next unless n.text?
|
20
|
+
n.replace(HTMLEntities.new.encode(
|
21
|
+
n.text.gsub(/\u2019|\u2018|\u201a|\u201b/, "'").
|
22
|
+
gsub(/\u201c|\u201d|\u201e|\u201f/, '"'), :basic))
|
23
|
+
end
|
24
|
+
xmldoc
|
25
|
+
end
|
26
|
+
|
27
|
+
def termdef_cleanup(xmldoc)
|
28
|
+
xmldoc.xpath("//term/preferred").each do |p|
|
29
|
+
if ["terms defined elsewhere",
|
30
|
+
"terms defined in this recommendation"].include? p.text.downcase
|
31
|
+
p.name = "title"
|
32
|
+
p.parent.name = "terms"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
super
|
36
|
+
end
|
37
|
+
|
38
|
+
def termdef_boilerplate_cleanup(xmldoc)
|
39
|
+
end
|
40
|
+
|
41
|
+
def symbols_cleanup(xmldoc)
|
42
|
+
sym = xmldoc.at("//definitions/title")
|
43
|
+
sym and sym&.next_element&.name == "dl" and
|
44
|
+
sym.next = "<p>#{@symbols_boilerplate}</p>"
|
45
|
+
end
|
46
|
+
|
47
|
+
PUBLISHER = "./contributor[role/@type = 'publisher']/organization".freeze
|
48
|
+
|
49
|
+
def pub_class(bib)
|
50
|
+
return 1 if bib.at("#{PUBLISHER}[abbreviation = 'ITU']")
|
51
|
+
return 1 if bib.at("#{PUBLISHER}[name = 'International Telecommunication Union']")
|
52
|
+
return 2 if bib.at("#{PUBLISHER}[abbreviation = 'ISO']")
|
53
|
+
return 2 if bib.at("#{PUBLISHER}[name = 'International Organization "\
|
54
|
+
"for Standardization']")
|
55
|
+
return 3 if bib.at("#{PUBLISHER}[abbreviation = 'IEC']")
|
56
|
+
return 3 if bib.at("#{PUBLISHER}[name = 'International "\
|
57
|
+
"Electrotechnical Commission']")
|
58
|
+
return 4 if bib.at("./docidentifier[@type][not(@type = 'DOI' or "\
|
59
|
+
"@type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN')]")
|
60
|
+
5
|
61
|
+
end
|
62
|
+
|
63
|
+
def sort_biblio(bib)
|
64
|
+
bib.sort do |a, b|
|
65
|
+
sort_biblio_key(a) <=> sort_biblio_key(b)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# sort by: doc class (ITU, ISO, IEC, other standard (not DOI &c), other
|
70
|
+
# then standard class (docid class other than DOI &c)
|
71
|
+
# then alphanumeric doc id (not DOI &c)
|
72
|
+
# then title
|
73
|
+
def sort_biblio_key(bib)
|
74
|
+
pubclass = pub_class(bib)
|
75
|
+
num = bib&.at("./docnumber")&.text
|
76
|
+
id = bib&.at("./docidentifier[not(@type = 'DOI' or "\
|
77
|
+
"@type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN')]")
|
78
|
+
metaid = bib&.at("./docidentifier[@type = 'metanorma']")&.text
|
79
|
+
abbrid = metaid unless /^\[\d+\]$/.match(metaid)
|
80
|
+
type = id['type'] if id
|
81
|
+
title = bib&.at("./title[@type = 'main']")&.text ||
|
82
|
+
bib&.at("./title")&.text || bib&.at("./formattedref")&.text
|
83
|
+
"#{pubclass} :: #{type} :: #{id&.text || metaid} :: #{title}"
|
84
|
+
end
|
85
|
+
|
86
|
+
def biblio_reorder(xmldoc)
|
87
|
+
xmldoc.xpath("//references").each do |r|
|
88
|
+
biblio_reorder1(r)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def boilerplate_cleanup(xmldoc)
|
93
|
+
super
|
94
|
+
initial_boilerplate(xmldoc)
|
95
|
+
end
|
96
|
+
|
97
|
+
def initial_boilerplate(x)
|
98
|
+
return if x.at("//boilerplate")
|
99
|
+
preface = x.at("//preface") || x.at("//sections") || x.at("//annex") ||
|
100
|
+
x.at("//references") || return
|
101
|
+
preface.previous = boilerplate(x)
|
102
|
+
end
|
103
|
+
|
104
|
+
def boilerplate(x_orig)
|
105
|
+
x = x_orig.dup
|
106
|
+
# TODO variable
|
107
|
+
x.root.add_namespace(nil, Metanorma::ITU::DOCUMENT_NAMESPACE)
|
108
|
+
x = Nokogiri::XML(x.to_xml)
|
109
|
+
conv = IsoDoc::ITU::HtmlConvert.new({})
|
110
|
+
conv.metadata_init("en", "Latn", {})
|
111
|
+
conv.info(x, nil)
|
112
|
+
file = @boilerplateauthority ? "#{@localdir}/#{@boilerplateauthority}" :
|
113
|
+
File.join(File.dirname(__FILE__), "itu_intro.xml")
|
114
|
+
conv.populate_template((File.read(file, encoding: "UTF-8")), nil)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
@@ -3,6 +3,7 @@ require "asciidoctor/standoc/converter"
|
|
3
3
|
require "fileutils"
|
4
4
|
require_relative "./front.rb"
|
5
5
|
require_relative "./validate.rb"
|
6
|
+
require_relative "./cleanup.rb"
|
6
7
|
require_relative "./macros.rb"
|
7
8
|
|
8
9
|
module Asciidoctor
|
@@ -12,16 +13,22 @@ module Asciidoctor
|
|
12
13
|
# schema encapsulation of the document for validation
|
13
14
|
#
|
14
15
|
class Converter < Standoc::Converter
|
16
|
+
register_for "itu"
|
17
|
+
|
15
18
|
Asciidoctor::Extensions.register do
|
16
|
-
|
19
|
+
inline_macro AddMacro
|
20
|
+
inline_macro DelMacro
|
17
21
|
end
|
18
22
|
|
19
|
-
register_for "itu"
|
20
|
-
|
21
23
|
def title_validate(root)
|
22
24
|
nil
|
23
25
|
end
|
24
26
|
|
27
|
+
def init(node)
|
28
|
+
super
|
29
|
+
@smartquotes = node.attr("smartquotes") == "true"
|
30
|
+
end
|
31
|
+
|
25
32
|
def makexml(node)
|
26
33
|
result = ["<?xml version='1.0' encoding='UTF-8'?>\n<itu-standard>"]
|
27
34
|
@draft = node.attributes.has_key?("draft")
|
@@ -36,31 +43,20 @@ module Asciidoctor
|
|
36
43
|
end
|
37
44
|
|
38
45
|
def doctype(node)
|
39
|
-
node.attr("doctype") || "recommendation"
|
40
|
-
|
41
|
-
|
42
|
-
def example(node)
|
43
|
-
role = node.role || node.attr("style")
|
44
|
-
return pseudocode_example(node) if role == "pseudocode"
|
45
|
-
super
|
46
|
+
ret = node.attr("doctype") || "recommendation"
|
47
|
+
ret = "recommendation" if ret == "article"
|
48
|
+
ret
|
46
49
|
end
|
47
50
|
|
48
|
-
def
|
51
|
+
def olist(node)
|
49
52
|
noko do |xml|
|
50
|
-
xml.
|
51
|
-
|
52
|
-
|
53
|
-
wrap_in_para(node, ex)
|
53
|
+
xml.ol **attr_code(id: Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
|
54
|
+
class: node.attr("class")) do |xml_ol|
|
55
|
+
node.items.each { |item| li(xml_ol, item) }
|
54
56
|
end
|
55
57
|
end.join("\n")
|
56
58
|
end
|
57
59
|
|
58
|
-
def init_indent(s)
|
59
|
-
/^(?<prefix>[ \t]*)(?<suffix>.*)$/ =~ s
|
60
|
-
prefix = prefix.gsub(/\t/, "    ").gsub(/ /, " ")
|
61
|
-
prefix + suffix
|
62
|
-
end
|
63
|
-
|
64
60
|
def clause_parse(attrs, xml, node)
|
65
61
|
attrs[:preface] = true if node.attr("style") == "preface"
|
66
62
|
super
|
@@ -101,18 +97,6 @@ module Asciidoctor
|
|
101
97
|
File.join(File.dirname(__FILE__), "itu.rng"))
|
102
98
|
end
|
103
99
|
|
104
|
-
def sections_cleanup(x)
|
105
|
-
super
|
106
|
-
x.xpath("//*[@inline-header]").each do |h|
|
107
|
-
h.delete("inline-header")
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
def cleanup(xmldoc)
|
112
|
-
symbols_cleanup(xmldoc)
|
113
|
-
super
|
114
|
-
end
|
115
|
-
|
116
100
|
def style(n, t)
|
117
101
|
return
|
118
102
|
end
|
@@ -170,20 +154,6 @@ module Asciidoctor
|
|
170
154
|
"Definitions"
|
171
155
|
end
|
172
156
|
|
173
|
-
def termdef_cleanup(xmldoc)
|
174
|
-
xmldoc.xpath("//term/preferred").each do |p|
|
175
|
-
if ["terms defined elsewhere",
|
176
|
-
"terms defined in this recommendation"].include? p.text.downcase
|
177
|
-
p.name = "title"
|
178
|
-
p.parent.name = "terms"
|
179
|
-
end
|
180
|
-
end
|
181
|
-
super
|
182
|
-
end
|
183
|
-
|
184
|
-
def termdef_boilerplate_cleanup(xmldoc)
|
185
|
-
end
|
186
|
-
|
187
157
|
def terms_extract(div)
|
188
158
|
internal = nil
|
189
159
|
external = nil
|
@@ -213,12 +183,6 @@ module Asciidoctor
|
|
213
183
|
|
214
184
|
NORM_REF = "//bibliography/references[title = 'References']".freeze
|
215
185
|
|
216
|
-
def symbols_cleanup(xmldoc)
|
217
|
-
sym = xmldoc.at("//definitions/title")
|
218
|
-
sym and sym&.next_element&.name == "dl" and
|
219
|
-
sym.next = "<p>#{@symbols_boilerplate}</p>"
|
220
|
-
end
|
221
|
-
|
222
186
|
def load_yaml(lang, script)
|
223
187
|
y = if @i18nyaml then YAML.load_file(@i18nyaml)
|
224
188
|
elsif lang == "en"
|