metanorma-iec 1.4.1 → 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Rakefile +1 -1
- data/lib/asciidoctor/iec/converter.rb +43 -26
- data/lib/asciidoctor/iec/front.rb +2 -3
- data/lib/asciidoctor/iec/iec.rng +48 -0
- data/lib/asciidoctor/iec/isodoc.rng +61 -18
- data/lib/asciidoctor/iec/isostandard.rng +14 -0
- data/lib/isodoc/iec/base_convert.rb +23 -58
- data/lib/isodoc/iec/html/htmlstyle.css +37 -5
- data/lib/isodoc/iec/html/htmlstyle.scss +34 -5
- data/lib/isodoc/iec/html/isodoc.css +1 -2
- data/lib/isodoc/iec/html/isodoc.scss +1 -2
- data/lib/isodoc/iec/html/scripts.html +0 -1
- data/lib/isodoc/iec/html/wordstyle.css +13 -11
- data/lib/isodoc/iec/html/wordstyle.scss +13 -11
- data/lib/isodoc/iec/iec.international-standard.xsl +428 -111
- data/lib/isodoc/iec/presentation_xml_convert.rb +193 -5
- data/lib/metanorma/iec/processor.rb +15 -8
- data/lib/metanorma/iec/version.rb +1 -1
- data/metanorma-iec.gemspec +2 -2
- data/spec/asciidoctor/base_spec.rb +0 -4
- data/spec/asciidoctor/cleanup_spec.rb +231 -202
- data/spec/asciidoctor/iev_spec.rb +195 -190
- data/spec/isodoc/iev_spec.rb +459 -118
- data/spec/isodoc/postproc_spec.rb +2 -5
- data/spec/isodoc/terms_spec.rb +183 -181
- data/spec/metanorma/processor_spec.rb +139 -44
- data/spec/spec_helper.rb +10 -12
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2cd54ae113583e981d0db28b08ed00eb92f1b07a79d395c1d907860270889b59
|
4
|
+
data.tar.gz: bb89fee2a134f6affa9a94d21da24a9ef2c827bb5a5ea03991d405325fe101b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b3b33b44d4f1434415774b9ceccdff08a48ce8983aee4e7717e5a217fb47bfbfa77b447d70dd4a4530e5fd0e36e9158ebc18ff9ff58a07d4e3a7d80aee82219
|
7
|
+
data.tar.gz: 4aa8430cb7caa4450916cf7a677612c937183e62a77b938787f4baf76e4d63fa4de0630283bc761cdd30063aca1df8472a8e5098bc9b453121f9eec75038c684
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "asciidoctor"
|
2
2
|
require "metanorma-iso"
|
3
|
-
require_relative "./front
|
3
|
+
require_relative "./front"
|
4
4
|
|
5
5
|
module Asciidoctor
|
6
6
|
module Iec
|
@@ -12,7 +12,10 @@ module Asciidoctor
|
|
12
12
|
|
13
13
|
def init(node)
|
14
14
|
super
|
15
|
-
@is_iev = node.attr("docnumber") == "60050"
|
15
|
+
if @is_iev = node.attr("docnumber") == "60050"
|
16
|
+
@vocab = true
|
17
|
+
node.set_attr("docsubtype", "vocabulary")
|
18
|
+
end
|
16
19
|
end
|
17
20
|
|
18
21
|
def boilerplate_file(x_orig)
|
@@ -26,13 +29,15 @@ module Asciidoctor
|
|
26
29
|
|
27
30
|
def doctype_validate(xmldoc)
|
28
31
|
doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
|
29
|
-
%w(international-standard technical-specification technical-report
|
30
|
-
|
31
|
-
|
32
|
-
|
32
|
+
%w(international-standard technical-specification technical-report
|
33
|
+
publicly-available-specification international-workshop-agreement
|
34
|
+
guide interpretation-sheet).include? doctype or
|
35
|
+
@log.add("Document Attributes", nil,
|
36
|
+
"#{doctype} is not a recognised document type")
|
33
37
|
if function = xmldoc&.at("//bibdata/ext/function")&.text
|
34
|
-
%w(emc quality-assurance safety environment).include? function or
|
35
|
-
@log.add("Document Attributes", nil,
|
38
|
+
%w(emc quality-assurance safety environment).include? function or
|
39
|
+
@log.add("Document Attributes", nil,
|
40
|
+
"#{function} is not a recognised document function")
|
36
41
|
end
|
37
42
|
end
|
38
43
|
|
@@ -43,29 +48,43 @@ module Asciidoctor
|
|
43
48
|
end
|
44
49
|
|
45
50
|
def html_converter(node)
|
46
|
-
node.nil?
|
51
|
+
if node.nil?
|
52
|
+
IsoDoc::Iec::HtmlConvert.new({})
|
53
|
+
else
|
47
54
|
IsoDoc::Iec::HtmlConvert.new(html_extract_attributes(node))
|
55
|
+
end
|
48
56
|
end
|
49
57
|
|
50
58
|
def doc_converter(node)
|
51
|
-
node.nil?
|
59
|
+
if node.nil?
|
60
|
+
IsoDoc::Iec::WordConvert.new({})
|
61
|
+
else
|
52
62
|
IsoDoc::Iec::WordConvert.new(doc_extract_attributes(node))
|
63
|
+
end
|
53
64
|
end
|
54
65
|
|
55
66
|
def pdf_converter(node)
|
56
67
|
return if node.attr("no-pdf")
|
57
|
-
|
58
|
-
|
68
|
+
|
69
|
+
if node.nil?
|
70
|
+
IsoDoc::Iec::PdfConvert.new({})
|
71
|
+
else
|
72
|
+
IsoDoc::Iec::PdfConvert.new(pdf_extract_attributes(node))
|
73
|
+
end
|
59
74
|
end
|
60
75
|
|
61
76
|
def presentation_xml_converter(node)
|
62
|
-
node.nil?
|
77
|
+
if node.nil?
|
78
|
+
IsoDoc::Iec::PresentationXMLConvert.new({})
|
79
|
+
else
|
63
80
|
IsoDoc::Iec::PresentationXMLConvert.new(doc_extract_attributes(node))
|
81
|
+
end
|
64
82
|
end
|
65
83
|
|
66
|
-
def norm_ref_preface(
|
84
|
+
def norm_ref_preface(node)
|
67
85
|
return super unless @is_iev
|
68
|
-
|
86
|
+
|
87
|
+
node.at("./title").next =
|
69
88
|
"<p>#{@i18n.norm_empty_pref}</p>"
|
70
89
|
end
|
71
90
|
|
@@ -73,19 +92,17 @@ module Asciidoctor
|
|
73
92
|
return super unless @is_iev
|
74
93
|
end
|
75
94
|
|
76
|
-
def
|
77
|
-
end
|
78
|
-
|
79
|
-
def sections_names_cleanup(x)
|
95
|
+
def sections_names_cleanup(xml)
|
80
96
|
super
|
81
|
-
@is_iev and replace_title(
|
97
|
+
@is_iev and replace_title(xml, "//introduction",
|
98
|
+
@i18n&.introduction_iev)
|
82
99
|
end
|
83
100
|
|
84
|
-
def note(
|
85
|
-
if
|
101
|
+
def note(note)
|
102
|
+
if note.title == "Note from TC/SC Officers"
|
86
103
|
noko do |xml|
|
87
104
|
xml.tc_sc_officers_note do |c|
|
88
|
-
wrap_in_para(
|
105
|
+
wrap_in_para(note, c)
|
89
106
|
end
|
90
107
|
end.join("\n")
|
91
108
|
else
|
@@ -95,11 +112,11 @@ module Asciidoctor
|
|
95
112
|
|
96
113
|
def note_cleanup(xmldoc)
|
97
114
|
super
|
98
|
-
n = xmldoc.at("//tc-sc-officers-note") and
|
115
|
+
n = xmldoc.at("//tc-sc-officers-note") and
|
116
|
+
xmldoc.at("//bibdata/ext").add_child(n.remove)
|
99
117
|
end
|
100
118
|
|
101
|
-
def image_name_validate(xmldoc)
|
102
|
-
end
|
119
|
+
def image_name_validate(xmldoc); end
|
103
120
|
end
|
104
121
|
end
|
105
122
|
end
|
@@ -199,9 +199,8 @@ module Asciidoctor
|
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
202
|
-
def
|
203
|
-
|
204
|
-
xml.horizontal (node.attr("horizontal") || "false")
|
202
|
+
def metadata_subdoctype(node, xml)
|
203
|
+
super
|
205
204
|
a = node.attr("function") and xml.function a
|
206
205
|
end
|
207
206
|
|
data/lib/asciidoctor/iec/iec.rng
CHANGED
@@ -57,6 +57,54 @@
|
|
57
57
|
<ref name="tc-sc-officers-note"/>
|
58
58
|
</optional>
|
59
59
|
</define>
|
60
|
+
<define name="term">
|
61
|
+
<element name="term">
|
62
|
+
<optional>
|
63
|
+
<attribute name="id">
|
64
|
+
<data type="ID"/>
|
65
|
+
</attribute>
|
66
|
+
</optional>
|
67
|
+
<optional>
|
68
|
+
<attribute name="language"/>
|
69
|
+
</optional>
|
70
|
+
<optional>
|
71
|
+
<attribute name="script"/>
|
72
|
+
</optional>
|
73
|
+
<optional>
|
74
|
+
<attribute name="tag"/>
|
75
|
+
</optional>
|
76
|
+
<optional>
|
77
|
+
<attribute name="multilingual-rendering">
|
78
|
+
<ref name="MultilingualRenderingType"/>
|
79
|
+
</attribute>
|
80
|
+
</optional>
|
81
|
+
<oneOrMore>
|
82
|
+
<ref name="preferred"/>
|
83
|
+
</oneOrMore>
|
84
|
+
<zeroOrMore>
|
85
|
+
<ref name="admitted"/>
|
86
|
+
</zeroOrMore>
|
87
|
+
<zeroOrMore>
|
88
|
+
<ref name="deprecates"/>
|
89
|
+
</zeroOrMore>
|
90
|
+
<optional>
|
91
|
+
<ref name="termdomain"/>
|
92
|
+
</optional>
|
93
|
+
<ref name="termdefinition"/>
|
94
|
+
<zeroOrMore>
|
95
|
+
<ref name="termnote"/>
|
96
|
+
</zeroOrMore>
|
97
|
+
<zeroOrMore>
|
98
|
+
<ref name="termexample"/>
|
99
|
+
</zeroOrMore>
|
100
|
+
<zeroOrMore>
|
101
|
+
<ref name="termsource"/>
|
102
|
+
</zeroOrMore>
|
103
|
+
<zeroOrMore>
|
104
|
+
<ref name="term"/>
|
105
|
+
</zeroOrMore>
|
106
|
+
</element>
|
107
|
+
</define>
|
60
108
|
</include>
|
61
109
|
<!-- end overrides -->
|
62
110
|
<define name="function">
|
@@ -58,7 +58,7 @@
|
|
58
58
|
<attribute name="alt"/>
|
59
59
|
</optional>
|
60
60
|
<optional>
|
61
|
-
<attribute name="
|
61
|
+
<attribute name="update-type">
|
62
62
|
<data type="boolean"/>
|
63
63
|
</attribute>
|
64
64
|
</optional>
|
@@ -1796,6 +1796,20 @@
|
|
1796
1796
|
<data type="ID"/>
|
1797
1797
|
</attribute>
|
1798
1798
|
</optional>
|
1799
|
+
<optional>
|
1800
|
+
<attribute name="language"/>
|
1801
|
+
</optional>
|
1802
|
+
<optional>
|
1803
|
+
<attribute name="script"/>
|
1804
|
+
</optional>
|
1805
|
+
<optional>
|
1806
|
+
<attribute name="tag"/>
|
1807
|
+
</optional>
|
1808
|
+
<optional>
|
1809
|
+
<attribute name="multilingual-rendering">
|
1810
|
+
<ref name="MultilingualRenderingType"/>
|
1811
|
+
</attribute>
|
1812
|
+
</optional>
|
1799
1813
|
<oneOrMore>
|
1800
1814
|
<ref name="preferred"/>
|
1801
1815
|
</oneOrMore>
|
@@ -1814,9 +1828,6 @@
|
|
1814
1828
|
<optional>
|
1815
1829
|
<ref name="termsubject"/>
|
1816
1830
|
</optional>
|
1817
|
-
<optional>
|
1818
|
-
<ref name="termusage"/>
|
1819
|
-
</optional>
|
1820
1831
|
<oneOrMore>
|
1821
1832
|
<ref name="termdefinition"/>
|
1822
1833
|
</oneOrMore>
|
@@ -1880,17 +1891,37 @@
|
|
1880
1891
|
</attribute>
|
1881
1892
|
</optional>
|
1882
1893
|
<optional>
|
1883
|
-
<attribute name="
|
1894
|
+
<attribute name="geographic-area"/>
|
1884
1895
|
</optional>
|
1885
1896
|
<choice>
|
1886
1897
|
<ref name="expression_designation"/>
|
1887
1898
|
<ref name="letter_symbol_designation"/>
|
1888
1899
|
<ref name="graphical_symbol_designation"/>
|
1889
1900
|
</choice>
|
1901
|
+
<optional>
|
1902
|
+
<ref name="fieldofapplication"/>
|
1903
|
+
</optional>
|
1904
|
+
<optional>
|
1905
|
+
<ref name="usageinfo"/>
|
1906
|
+
</optional>
|
1890
1907
|
<zeroOrMore>
|
1891
1908
|
<ref name="termsource"/>
|
1892
1909
|
</zeroOrMore>
|
1893
1910
|
</define>
|
1911
|
+
<define name="fieldofapplication">
|
1912
|
+
<element name="field-of-application">
|
1913
|
+
<oneOrMore>
|
1914
|
+
<ref name="PureTextElement"/>
|
1915
|
+
</oneOrMore>
|
1916
|
+
</element>
|
1917
|
+
</define>
|
1918
|
+
<define name="usageinfo">
|
1919
|
+
<element name="usage-info">
|
1920
|
+
<oneOrMore>
|
1921
|
+
<ref name="PureTextElement"/>
|
1922
|
+
</oneOrMore>
|
1923
|
+
</element>
|
1924
|
+
</define>
|
1894
1925
|
<define name="letter_symbol_designation">
|
1895
1926
|
<element name="letter-symbol">
|
1896
1927
|
<optional>
|
@@ -1942,11 +1973,15 @@
|
|
1942
1973
|
</optional>
|
1943
1974
|
<element name="name">
|
1944
1975
|
<zeroOrMore>
|
1945
|
-
<
|
1976
|
+
<choice>
|
1977
|
+
<ref name="PureTextElement"/>
|
1978
|
+
<ref name="stem"/>
|
1979
|
+
<ref name="index"/>
|
1980
|
+
</choice>
|
1946
1981
|
</zeroOrMore>
|
1947
1982
|
</element>
|
1948
1983
|
<optional>
|
1949
|
-
<element name="
|
1984
|
+
<element name="abbreviation-type">
|
1950
1985
|
<ref name="AbbreviationType"/>
|
1951
1986
|
</element>
|
1952
1987
|
</optional>
|
@@ -1956,7 +1991,7 @@
|
|
1956
1991
|
</element>
|
1957
1992
|
</optional>
|
1958
1993
|
<optional>
|
1959
|
-
<element name="
|
1994
|
+
<element name="grammar">
|
1960
1995
|
<ref name="Grammar"/>
|
1961
1996
|
</element>
|
1962
1997
|
</optional>
|
@@ -1983,6 +2018,11 @@
|
|
1983
2018
|
<ref name="GrammarGender"/>
|
1984
2019
|
</element>
|
1985
2020
|
</zeroOrMore>
|
2021
|
+
<zeroOrMore>
|
2022
|
+
<element name="number">
|
2023
|
+
<ref name="GrammarNumber"/>
|
2024
|
+
</element>
|
2025
|
+
</zeroOrMore>
|
1986
2026
|
<optional>
|
1987
2027
|
<element name="isPreposition">
|
1988
2028
|
<data type="boolean"/>
|
@@ -2014,7 +2054,7 @@
|
|
2014
2054
|
</element>
|
2015
2055
|
</optional>
|
2016
2056
|
<zeroOrMore>
|
2017
|
-
<element name="
|
2057
|
+
<element name="grammar-value">
|
2018
2058
|
<text/>
|
2019
2059
|
</element>
|
2020
2060
|
</zeroOrMore>
|
@@ -2027,6 +2067,13 @@
|
|
2027
2067
|
<value>common</value>
|
2028
2068
|
</choice>
|
2029
2069
|
</define>
|
2070
|
+
<define name="GrammarNumber">
|
2071
|
+
<choice>
|
2072
|
+
<value>singular</value>
|
2073
|
+
<value>dual</value>
|
2074
|
+
<value>plural</value>
|
2075
|
+
</choice>
|
2076
|
+
</define>
|
2030
2077
|
<define name="termdomain">
|
2031
2078
|
<element name="domain">
|
2032
2079
|
<oneOrMore>
|
@@ -2041,13 +2088,6 @@
|
|
2041
2088
|
</oneOrMore>
|
2042
2089
|
</element>
|
2043
2090
|
</define>
|
2044
|
-
<define name="termusage">
|
2045
|
-
<element name="usageinfo">
|
2046
|
-
<oneOrMore>
|
2047
|
-
<ref name="BasicBlock"/>
|
2048
|
-
</oneOrMore>
|
2049
|
-
</element>
|
2050
|
-
</define>
|
2051
2091
|
<define name="termdefinition">
|
2052
2092
|
<element name="definition">
|
2053
2093
|
<choice>
|
@@ -2061,13 +2101,16 @@
|
|
2061
2101
|
</element>
|
2062
2102
|
</define>
|
2063
2103
|
<define name="verbaldefinition">
|
2064
|
-
<element name="
|
2104
|
+
<element name="verbal-definition">
|
2065
2105
|
<oneOrMore>
|
2066
2106
|
<choice>
|
2067
2107
|
<ref name="paragraph"/>
|
2068
2108
|
<ref name="dl"/>
|
2069
2109
|
<ref name="ol"/>
|
2070
2110
|
<ref name="ul"/>
|
2111
|
+
<ref name="table"/>
|
2112
|
+
<ref name="figure"/>
|
2113
|
+
<ref name="formula"/>
|
2071
2114
|
</choice>
|
2072
2115
|
</oneOrMore>
|
2073
2116
|
<zeroOrMore>
|
@@ -2076,7 +2119,7 @@
|
|
2076
2119
|
</element>
|
2077
2120
|
</define>
|
2078
2121
|
<define name="nonverbalrep">
|
2079
|
-
<element name="
|
2122
|
+
<element name="non-verbal-representation">
|
2080
2123
|
<oneOrMore>
|
2081
2124
|
<choice>
|
2082
2125
|
<ref name="table"/>
|
@@ -159,6 +159,20 @@
|
|
159
159
|
<data type="ID"/>
|
160
160
|
</attribute>
|
161
161
|
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="language"/>
|
164
|
+
</optional>
|
165
|
+
<optional>
|
166
|
+
<attribute name="script"/>
|
167
|
+
</optional>
|
168
|
+
<optional>
|
169
|
+
<attribute name="tag"/>
|
170
|
+
</optional>
|
171
|
+
<optional>
|
172
|
+
<attribute name="multilingual-rendering">
|
173
|
+
<ref name="MultilingualRenderingType"/>
|
174
|
+
</attribute>
|
175
|
+
</optional>
|
162
176
|
<ref name="preferred"/>
|
163
177
|
<zeroOrMore>
|
164
178
|
<ref name="admitted"/>
|
@@ -14,13 +14,17 @@ module IsoDoc
|
|
14
14
|
page_break(out)
|
15
15
|
iec_orgname(out)
|
16
16
|
middle_title(isoxml, out)
|
17
|
-
|
17
|
+
foreword1(f, b, out)
|
18
|
+
end
|
19
|
+
|
20
|
+
def foreword1(sect, boilerplate, out)
|
21
|
+
out.div **attr_code(id: sect ? sect["id"] : "") do |s|
|
18
22
|
s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @i18n.foreword }
|
19
23
|
@meta.get[:doctype] == "Amendment" or
|
20
24
|
s.div **attr_code(class: "boilerplate_legal") do |s1|
|
21
|
-
|
25
|
+
boilerplate&.elements&.each { |e| parse(e, s1) }
|
22
26
|
end
|
23
|
-
|
27
|
+
sect&.elements&.each { |e| parse(e, s) unless e.name == "title" }
|
24
28
|
end
|
25
29
|
end
|
26
30
|
|
@@ -31,19 +35,11 @@ module IsoDoc
|
|
31
35
|
end
|
32
36
|
|
33
37
|
def middle_title(_isoxml, out)
|
34
|
-
title1 =
|
35
|
-
@meta.get[:doctitleintro] and
|
36
|
-
title1 = "#{@meta.get[:doctitleintro]} — #{title1}"
|
37
|
-
if @meta.get[:doctitlepart]
|
38
|
-
title1 += " —"
|
39
|
-
title2 = @meta.get[:doctitlepart]&.sub(/\s+$/, "")
|
40
|
-
@meta.get[:doctitlepartlabel] and
|
41
|
-
title2 = "#{@meta.get[:doctitlepartlabel]}: #{title2}"
|
42
|
-
end
|
38
|
+
title1, title2 = middle_title_parts(out)
|
43
39
|
out.p(**{ class: "zzSTDTitle1" }) do |p|
|
44
40
|
p.b { |b| b << title1 }
|
45
41
|
end
|
46
|
-
if
|
42
|
+
if title2
|
47
43
|
out.p(**{ class: "zzSTDTitle1" }) { |p| p << " " }
|
48
44
|
out.p(**{ class: "zzSTDTitle2" }) do |p|
|
49
45
|
p.b { |b| b << title2 }
|
@@ -52,6 +48,20 @@ module IsoDoc
|
|
52
48
|
out.p(**{ class: "zzSTDTitle1" }) { |p| p << " " }
|
53
49
|
end
|
54
50
|
|
51
|
+
def middle_title_parts(out)
|
52
|
+
title1 = @meta.get[:doctitlemain]&.sub(/\s+$/, "")
|
53
|
+
@meta.get[:doctitleintro] and
|
54
|
+
title1 = "#{@meta.get[:doctitleintro]} — #{title1}"
|
55
|
+
title2 = nil
|
56
|
+
if @meta.get[:doctitlepart]
|
57
|
+
title1 += " —"
|
58
|
+
title2 = @meta.get[:doctitlepart]&.sub(/\s+$/, "")
|
59
|
+
@meta.get[:doctitlepartlabel] and
|
60
|
+
title2 = "#{@meta.get[:doctitlepartlabel]}: #{title2}"
|
61
|
+
end
|
62
|
+
[title1, title2]
|
63
|
+
end
|
64
|
+
|
55
65
|
def bibliography(isoxml, out)
|
56
66
|
return super unless @is_iev
|
57
67
|
end
|
@@ -80,54 +90,9 @@ module IsoDoc
|
|
80
90
|
end
|
81
91
|
end
|
82
92
|
|
83
|
-
def termref_cleanup(docxml)
|
84
|
-
return super unless @is_iev
|
85
|
-
|
86
|
-
docxml
|
87
|
-
.gsub(%r{\s*\[/TERMREF\]\s*</p>\s*<p>\s*\[TERMREF\]}, "; ")
|
88
|
-
.gsub(/\[TERMREF\]\s*/, l10n("#{@i18n.source}: "))
|
89
|
-
.gsub(/\s*\[MODIFICATION\]\s*\[\/TERMREF\]/,
|
90
|
-
l10n(", #{@i18n.modified} [/TERMREF]"))
|
91
|
-
.gsub(/\s*\[\/TERMREF\]\s*/, l10n(""))
|
92
|
-
.gsub(/\s*\[MODIFICATION\]/, l10n(", #{@i18n.modified} — "))
|
93
|
-
end
|
94
|
-
|
95
93
|
def set_termdomain(termdomain)
|
96
94
|
return super unless @is_iev
|
97
95
|
end
|
98
|
-
|
99
|
-
def term_suffix(node, out)
|
100
|
-
return unless @is_iev
|
101
|
-
|
102
|
-
domain = node&.at(ns("../domain"))&.text
|
103
|
-
return unless domain
|
104
|
-
|
105
|
-
out << ", <#{domain}>"
|
106
|
-
end
|
107
|
-
|
108
|
-
def deprecated_term_parse(node, out)
|
109
|
-
out.p **{ class: "DeprecatedTerms", style: "text-align:left;" } do |p|
|
110
|
-
p << l10n("#{@i18n.deprecated}: ")
|
111
|
-
node.children.each { |c| parse(c, p) }
|
112
|
-
term_suffix(node, p)
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
def admitted_term_parse(node, out)
|
117
|
-
out.p **{ class: "AltTerms", style: "text-align:left;" } do |p|
|
118
|
-
node.children.each { |c| parse(c, p) }
|
119
|
-
term_suffix(node, p)
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def term_parse(node, out)
|
124
|
-
return super unless @is_iev
|
125
|
-
|
126
|
-
out.p **{ class: "Terms", style: "text-align:left;" } do |p|
|
127
|
-
node.children.each { |c| parse(c, p) }
|
128
|
-
term_suffix(node, p)
|
129
|
-
end
|
130
|
-
end
|
131
96
|
end
|
132
97
|
end
|
133
98
|
end
|
@@ -75,6 +75,12 @@ code *, pre *, tt *, kbd *, samp * {
|
|
75
75
|
font-family: {{monospacefont}} !important;
|
76
76
|
font-variant-ligatures: none; }
|
77
77
|
|
78
|
+
p code, dt code, li code, label code, legend code, caption code, th code, td code,
|
79
|
+
p tt, dt tt, li tt, label tt, legend tt, caption tt, th tt, td tt,
|
80
|
+
p kbd, dt kbd, li kbd, label kbd, legend kbd, caption kbd, th kbd, td kbd,
|
81
|
+
p samp, dt samp, li samp, label samp, legend samp, caption samp, th samp, td samp {
|
82
|
+
font-size: {{monospacefontsize}}; }
|
83
|
+
|
78
84
|
article, aside, details, figcaption, figure,
|
79
85
|
footer, header, hgroup, menu, nav, section {
|
80
86
|
display: block; }
|
@@ -86,6 +92,9 @@ table {
|
|
86
92
|
h1, h2, h3, h4, h5, h6 {
|
87
93
|
font-family: {{headerfont}}; }
|
88
94
|
|
95
|
+
.h1, .h2, .h3, .h4, .h5, .h6 {
|
96
|
+
font-family: {{headerfont}}; }
|
97
|
+
|
89
98
|
blockquote, q {
|
90
99
|
quotes: none; }
|
91
100
|
blockquote:before, blockquote:after, q:before, q:after {
|
@@ -298,19 +307,19 @@ span.partlabel {
|
|
298
307
|
font-size: 0.9em; }
|
299
308
|
|
300
309
|
/* TYPOGRAPHY */
|
301
|
-
h1 {
|
310
|
+
h1, .h1 {
|
302
311
|
font-size: 1.5em;
|
303
312
|
line-height: 2em;
|
304
313
|
margin-top: 2em;
|
305
314
|
margin-bottom: 1em; }
|
306
315
|
|
307
|
-
h2 {
|
316
|
+
h2, .h2 {
|
308
317
|
font-size: 1.2em;
|
309
318
|
line-height: 1.5em;
|
310
319
|
margin-top: 2em;
|
311
320
|
margin-bottom: 1em; }
|
312
321
|
|
313
|
-
h1, h2, h3, h4, h5, h6 {
|
322
|
+
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
314
323
|
line-height: 1.2; }
|
315
324
|
|
316
325
|
p {
|
@@ -337,7 +346,7 @@ nav a {
|
|
337
346
|
text-decoration: none;
|
338
347
|
color: black; }
|
339
348
|
|
340
|
-
h2 p {
|
349
|
+
h2 p, .h2 p {
|
341
350
|
display: inline; }
|
342
351
|
|
343
352
|
ul > li {
|
@@ -365,9 +374,11 @@ p.AltTerms {
|
|
365
374
|
margin-left: 2em; }
|
366
375
|
|
367
376
|
p.Terms {
|
368
|
-
font-weight: bold;
|
369
377
|
margin-top: 0em; }
|
370
378
|
|
379
|
+
p.TermNum {
|
380
|
+
font-weight: bold; }
|
381
|
+
|
371
382
|
/* Navigation*/
|
372
383
|
@media screen and (min-width: 768px) {
|
373
384
|
nav {
|
@@ -971,3 +982,24 @@ span.keyword {
|
|
971
982
|
|
972
983
|
.Admonition p, .admonition p {
|
973
984
|
margin: 0; }
|
985
|
+
|
986
|
+
/* Collapse TOC */
|
987
|
+
.collapse-group {
|
988
|
+
display: flex;
|
989
|
+
align-items: center;
|
990
|
+
position: relative; }
|
991
|
+
|
992
|
+
.collapse-button {
|
993
|
+
position: absolute;
|
994
|
+
right: 0;
|
995
|
+
display: inline-block;
|
996
|
+
height: 20px;
|
997
|
+
width: 20px;
|
998
|
+
cursor: pointer;
|
999
|
+
background-image: url('data:image/svg+xml,<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="rgba(0,0,0,.54)" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg>'); }
|
1000
|
+
|
1001
|
+
.collapse {
|
1002
|
+
display: none; }
|
1003
|
+
|
1004
|
+
.expand {
|
1005
|
+
transform: rotateZ(-180deg); }
|