metanorma-iec 1.4.1 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- 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); }
|