metanorma-ietf 3.1.8 → 3.2.1
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/README.adoc +8 -29
- data/lib/isodoc/ietf/inline.rb +14 -16
- data/lib/metanorma/ietf/converter.rb +2 -2
- data/lib/metanorma/ietf/isodoc.rng +29 -4
- data/lib/metanorma/ietf/relaton-ietf.rng +15 -0
- data/lib/metanorma/ietf/version.rb +1 -1
- data/metanorma-ietf.gemspec +1 -2
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0caa70c59e0b00b7eaf785a68d24b0ec9368c4c0c45c1dee96ef973b0d8c0150
|
4
|
+
data.tar.gz: fcc948fcdb7b9e4b05596b741659052789c595deaf65798a517929bc30173faf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4699fae2fcb874453ca24a16295b72efe450f03dbb16f002884002b7b324f0f5bf03c843f0424a1a8395914d3db9d031f37b2ffb221d0fa2317e0a63c487b0cc
|
7
|
+
data.tar.gz: ba585e9aa3859230b9bf0ff1f574a33ded9268620e40c4438495c8b5a1731b0f8a89e2628b9e1d8a942b9a6d25bcecaba8e0557fc0ea943bebd5eed2c6265280
|
data/README.adoc
CHANGED
@@ -23,12 +23,8 @@ gem, and aligns closely to it.
|
|
23
23
|
|
24
24
|
The following outputs are generated:
|
25
25
|
|
26
|
-
* RFC XML v2
|
27
|
-
** Metanorma `doctype`: `rfc2`
|
28
|
-
** Metanorma file extension: `xmlrfc` (not `xml`!)
|
29
|
-
|
30
26
|
* RFC XML v3
|
31
|
-
** Metanorma `doctype`: `
|
27
|
+
** Metanorma `doctype`: `ietf`
|
32
28
|
** Metanorma file extension: `xmlrfc` (not `xml`!)
|
33
29
|
|
34
30
|
The "`xml2rfc`" Vocabulary (hereinafter "`RFC XML`") is an XML-based language
|
@@ -37,18 +33,16 @@ https://www.ietf.org/id-info/guidelines.html[Internet-Drafts]
|
|
37
33
|
and https://tools.ietf.org/html/rfc7322[RFCs (RFC7322)].
|
38
34
|
|
39
35
|
This gem allows you to author these types of documents in AsciiDoc, and outputs
|
40
|
-
RFC XML output in
|
36
|
+
RFC XML output in v3 format:
|
41
37
|
|
42
38
|
* v3 RFC XML (https://tools.ietf.org/html/rfc7991[RFC 7991])
|
43
|
-
* v2 RFC XML (https://tools.ietf.org/html/rfc7749[RFC 7749])
|
44
39
|
|
45
40
|
Its syntax is designed to be "`native-asciidoctor`" as much as possible, with
|
46
41
|
some templated use of attributes to convey added information for RFC XML
|
47
42
|
output.
|
48
43
|
|
49
|
-
|
50
|
-
|
51
|
-
https://datatracker.ietf.org/doc/draft-ribose-asciirfc/[AsciiRFC IETF Internet-Draft].
|
44
|
+
For further information about the markup used, please refer to the
|
45
|
+
https://www.metanorma.org/author/ietf/[Writing IETF I-Ds and RFCs using AsciiDoc & Metanorma].
|
52
46
|
|
53
47
|
|
54
48
|
|
@@ -58,13 +52,12 @@ The preferred way to invoke this gem is via the `metanorma` command:
|
|
58
52
|
|
59
53
|
[source,console]
|
60
54
|
----
|
61
|
-
$ metanorma --type
|
62
|
-
$ metanorma --type
|
55
|
+
$ metanorma --type ietf a.adoc # output RFC XML v3, text, HTML
|
56
|
+
$ metanorma --type ietf --extensions xmlrfc a.adoc # output RFC XML v3
|
63
57
|
----
|
64
58
|
|
65
|
-
The gem translates the document into IETF XML RFC format.
|
66
|
-
|
67
|
-
Text and HTML versions should be generated using the `xml2rfc` tool.
|
59
|
+
The gem translates the document into IETF XML RFC format. By default, the gem
|
60
|
+
then runs the `xml2rfc` tool to generate text and HTML versions as well.
|
68
61
|
|
69
62
|
|
70
63
|
== Installation
|
@@ -141,18 +134,6 @@ include::spec/examples/example-v3.adoc[]
|
|
141
134
|
----
|
142
135
|
endif::[]
|
143
136
|
|
144
|
-
=== RFC XML v2 Example
|
145
|
-
|
146
|
-
ifdef::env-github[]
|
147
|
-
include::spec/examples/example-v2.adoc[]
|
148
|
-
endif::[]
|
149
|
-
ifndef::env-github[]
|
150
|
-
[source,asciidoc]
|
151
|
-
----
|
152
|
-
include::spec/examples/example-v2.adoc[]
|
153
|
-
----
|
154
|
-
endif::[]
|
155
|
-
|
156
137
|
|
157
138
|
== Development
|
158
139
|
|
@@ -210,9 +191,7 @@ This gem is developed, maintained and funded by https://www.ribose.com[Ribose In
|
|
210
191
|
|
211
192
|
== Examples
|
212
193
|
|
213
|
-
////
|
214
194
|
* Example documents are avalable at the https://github.com/metanorma/mn-samples-ietf[mn-samples-ietf] repository.
|
215
|
-
////
|
216
195
|
|
217
196
|
* Document templates are available at the https://github.com/metanorma/mn-templates-ietf[mn-templates-ietf] repository.
|
218
197
|
|
data/lib/isodoc/ietf/inline.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require "mathml2asciimath"
|
2
|
-
|
3
1
|
module IsoDoc
|
4
2
|
module Ietf
|
5
3
|
class RfcConvert < ::IsoDoc::Convert
|
@@ -60,7 +58,8 @@ module IsoDoc
|
|
60
58
|
|
61
59
|
def stem_parse(node, out)
|
62
60
|
stem = case node["type"]
|
63
|
-
when "MathML" then
|
61
|
+
when "MathML" then Plurimath::Math
|
62
|
+
.parse(node.children.to_xml, "mathml").to_asciimath
|
64
63
|
else HTMLEntities.new.encode(node.text)
|
65
64
|
end
|
66
65
|
out << "#{@openmathdelim} #{stem} #{@closemathdelim}"
|
@@ -82,12 +81,15 @@ module IsoDoc
|
|
82
81
|
end
|
83
82
|
end
|
84
83
|
|
84
|
+
def image_parse_attrs(node)
|
85
|
+
{ src: node["src"], title: node["title"],
|
86
|
+
align: node["align"], name: node["filename"],
|
87
|
+
anchor: node["id"], type: "svg",
|
88
|
+
alt: node["alt"] }
|
89
|
+
end
|
90
|
+
|
85
91
|
def image_parse(node, out, caption)
|
86
|
-
|
87
|
-
align: node["align"], name: node["filename"],
|
88
|
-
anchor: node["id"], type: "svg",
|
89
|
-
alt: node["alt"] }
|
90
|
-
out.artwork **attr_code(attrs)
|
92
|
+
out.artwork **attr_code(image_parse_attrs(node))
|
91
93
|
image_title_parse(out, caption)
|
92
94
|
end
|
93
95
|
|
@@ -102,14 +104,10 @@ module IsoDoc
|
|
102
104
|
def svg_parse(node, out)
|
103
105
|
if node.parent.name == "image" then super
|
104
106
|
else
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
out.artwork **attr_code(attrs) do |x|
|
110
|
-
out = x
|
111
|
-
super
|
112
|
-
end
|
107
|
+
out.artwork **attr_code(image_parse_attrs(node)) do |x|
|
108
|
+
out = x
|
109
|
+
super
|
110
|
+
end
|
113
111
|
end
|
114
112
|
end
|
115
113
|
|
@@ -53,8 +53,8 @@ module Metanorma
|
|
53
53
|
when :single then xml << "'#{node.text}'"
|
54
54
|
when :superscript then xml.sup { |s| s << node.text }
|
55
55
|
when :subscript then xml.sub { |s| s << node.text }
|
56
|
-
when :asciimath then stem_parse(node.text, xml, :asciimath)
|
57
|
-
when :latexmath then stem_parse(node.text, xml, :latexmath)
|
56
|
+
when :asciimath then stem_parse(node.text, xml, :asciimath, false)
|
57
|
+
when :latexmath then stem_parse(node.text, xml, :latexmath, false)
|
58
58
|
else
|
59
59
|
case node.role
|
60
60
|
when "bcp14" then xml.bcp14 { |s| s << node.text.upcase }
|
@@ -17,7 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
-
<!-- VERSION v1.2.
|
20
|
+
<!-- VERSION v1.2.4 -->
|
21
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
22
22
|
<include href="reqt.rng"/>
|
23
23
|
<include href="basicdoc.rng">
|
@@ -192,9 +192,11 @@
|
|
192
192
|
</attribute>
|
193
193
|
</optional>
|
194
194
|
<attribute name="citeas"/>
|
195
|
-
<
|
196
|
-
<
|
197
|
-
|
195
|
+
<optional>
|
196
|
+
<attribute name="type">
|
197
|
+
<ref name="ReferenceFormat"/>
|
198
|
+
</attribute>
|
199
|
+
</optional>
|
198
200
|
<optional>
|
199
201
|
<attribute name="alt"/>
|
200
202
|
</optional>
|
@@ -836,6 +838,26 @@
|
|
836
838
|
<ref name="paragraph"/>
|
837
839
|
</element>
|
838
840
|
</define>
|
841
|
+
<define name="stem">
|
842
|
+
<element name="stem">
|
843
|
+
<attribute name="type">
|
844
|
+
<choice>
|
845
|
+
<value>MathML</value>
|
846
|
+
<value>AsciiMath</value>
|
847
|
+
<value>LatexMath</value>
|
848
|
+
</choice>
|
849
|
+
</attribute>
|
850
|
+
<attribute name="block">
|
851
|
+
<data type="boolean"/>
|
852
|
+
</attribute>
|
853
|
+
<oneOrMore>
|
854
|
+
<choice>
|
855
|
+
<text/>
|
856
|
+
<ref name="AnyElement"/>
|
857
|
+
</choice>
|
858
|
+
</oneOrMore>
|
859
|
+
</element>
|
860
|
+
</define>
|
839
861
|
<define name="em">
|
840
862
|
<element name="em">
|
841
863
|
<zeroOrMore>
|
@@ -2046,6 +2068,9 @@
|
|
2046
2068
|
</define>
|
2047
2069
|
<define name="termdefinition">
|
2048
2070
|
<element name="definition">
|
2071
|
+
<optional>
|
2072
|
+
<attribute name="type"/>
|
2073
|
+
</optional>
|
2049
2074
|
<choice>
|
2050
2075
|
<ref name="verbaldefinition"/>
|
2051
2076
|
<ref name="nonverbalrep"/>
|
@@ -26,6 +26,9 @@
|
|
26
26
|
<zeroOrMore>
|
27
27
|
<ref name="area"/>
|
28
28
|
</zeroOrMore>
|
29
|
+
<optional>
|
30
|
+
<ref name="stream"/>
|
31
|
+
</optional>
|
29
32
|
<optional>
|
30
33
|
<ref name="ipr"/>
|
31
34
|
</optional>
|
@@ -315,4 +318,16 @@
|
|
315
318
|
</optional>
|
316
319
|
</element>
|
317
320
|
</define>
|
321
|
+
<define name="stream">
|
322
|
+
<element name="stream">
|
323
|
+
<choice>
|
324
|
+
<value>IAB</value>
|
325
|
+
<value>IETF</value>
|
326
|
+
<value>Independent</value>
|
327
|
+
<value>IRTF</value>
|
328
|
+
<value>Legacy</value>
|
329
|
+
<value>Editorial</value>
|
330
|
+
</choice>
|
331
|
+
</element>
|
332
|
+
</define>
|
318
333
|
</grammar>
|
data/metanorma-ietf.gemspec
CHANGED
@@ -36,9 +36,8 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.require_paths = ["lib"]
|
37
37
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
38
38
|
|
39
|
-
spec.add_dependency "mathml2asciimath"
|
40
39
|
spec.add_dependency "metanorma-ietf-data"
|
41
|
-
spec.add_dependency "metanorma-standoc", "~> 2.4
|
40
|
+
spec.add_dependency "metanorma-standoc", "~> 2.5.4"
|
42
41
|
|
43
42
|
spec.add_development_dependency "debug"
|
44
43
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: mathml2asciimath
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: metanorma-ietf-data
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +30,14 @@ dependencies:
|
|
44
30
|
requirements:
|
45
31
|
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.4
|
33
|
+
version: 2.5.4
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
38
|
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.4
|
40
|
+
version: 2.5.4
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: debug
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|