metanorma-ietf 3.5.8 → 3.6.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 +1 -1
- data/lib/isodoc/ietf/blocks.rb +9 -2
- data/lib/isodoc/ietf/cleanup.rb +18 -0
- data/lib/isodoc/ietf/cleanup_blocks.rb +12 -4
- data/lib/isodoc/ietf/front.rb +5 -7
- data/lib/isodoc/ietf/metadata.rb +6 -0
- data/lib/isodoc/ietf/reqt.rb +1 -1
- data/lib/isodoc/ietf/section.rb +1 -1
- data/lib/metanorma/ietf/basicdoc.rng +6 -6
- data/lib/metanorma/ietf/blocks.rb +2 -3
- data/lib/metanorma/ietf/cleanup.rb +2 -2
- data/lib/metanorma/ietf/isodoc.rng +48 -55
- data/lib/metanorma/ietf/version.rb +1 -1
- data/lib/relaton/render/config.yml +1 -1
- data/lib/relaton/render/template.rb +4 -4
- data/metanorma-ietf.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f0e7013a9c1c4dc1e68120b61238fbd30241630349e0c9b8f84b73c4b51eb59
|
4
|
+
data.tar.gz: eb27229d92af97141eaaaa446cd86bf70b28a06c9f35ef6da8e2535e696e6d11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a59ffbbadc531aed8203951b6727c0eb9c9218e8826ceceb9578e9ab4b79775eaaa096fca3ee96bfcbfa3101e24384201c041b5a5769911d8f609cc76a15c74
|
7
|
+
data.tar.gz: 02146517cb6d24b14565e24424fcc191a8d64eae2dc985be127d9897474871b368c88844cf4b0e6c8a6b386ed0d73617ba4bef2a58854319dd3cf5db07fe4618
|
data/README.adoc
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
image:https://img.shields.io/gem/v/metanorma-ietf.svg["Gem Version", link="https://rubygems.org/gems/metanorma-ietf"]
|
8
8
|
image:https://github.com/metanorma/metanorma-ietf/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-ietf/actions?workflow=rake"]
|
9
|
-
image:https://codeclimate.com/github/metanorma/metanorma-ietf/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-ietf"]
|
9
|
+
// image:https://codeclimate.com/github/metanorma/metanorma-ietf/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-ietf"]
|
10
10
|
image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-ietf.svg["Pull Requests", link="https://github.com/metanorma/metanorma-ietf/pulls"]
|
11
11
|
image:https://img.shields.io/github/commits-since/metanorma/metanorma-ietf/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-ietf/releases"]
|
12
12
|
|
data/lib/isodoc/ietf/blocks.rb
CHANGED
@@ -83,10 +83,10 @@ module IsoDoc
|
|
83
83
|
|
84
84
|
def annotation_parse(node, out)
|
85
85
|
@sourcecode = false
|
86
|
-
node.at(ns("./annotation")) or return
|
86
|
+
node.at(ns("./callout-annotation")) or return
|
87
87
|
out.t { |p| p << @i18n.key }
|
88
88
|
out.dl do |dl|
|
89
|
-
node.xpath(ns("./annotation")).each do |a|
|
89
|
+
node.xpath(ns("./callout-annotation")).each do |a|
|
90
90
|
annotation_parse1(a, dl)
|
91
91
|
end
|
92
92
|
end
|
@@ -162,7 +162,14 @@ module IsoDoc
|
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
165
|
+
def render_annotations?(node)
|
166
|
+
node.at(ns("//presentation-metadata/render-document-annotations"))
|
167
|
+
&.text == "true" ||
|
168
|
+
node.at(ns("//bibdata/ext/notedraftinprogress"))
|
169
|
+
end
|
170
|
+
|
165
171
|
def review_note_parse(node, out)
|
172
|
+
render_annotations?(node) or return
|
166
173
|
out.cref **attr_code(anchor: node["id"], display: node["display"],
|
167
174
|
source: node["reviewer"], from: node["from"]) do |c|
|
168
175
|
if name = node.at(ns("./name"))
|
data/lib/isodoc/ietf/cleanup.rb
CHANGED
@@ -17,15 +17,27 @@ module IsoDoc
|
|
17
17
|
front_cleanup(docxml)
|
18
18
|
u_cleanup(docxml)
|
19
19
|
biblio_cleanup(docxml) # feeds aside
|
20
|
+
abstract_cleanup(docxml) # bleeds aside
|
20
21
|
aside_cleanup(docxml)
|
21
22
|
docxml
|
22
23
|
end
|
23
24
|
|
25
|
+
def abstract_cleanup(docxml)
|
26
|
+
docxml.xpath("//abstract").each do |a|
|
27
|
+
a.xpath(".//eref | .//xref").each do |node|
|
28
|
+
crossref_remove_markup_elem(node)
|
29
|
+
end
|
30
|
+
a.xpath(".//aside | ./title | .//table")
|
31
|
+
.each(&:remove)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
24
35
|
def biblio_cleanup(xmldoc)
|
25
36
|
biblio_referencegroup_cleanup(xmldoc)
|
26
37
|
biblio_abstract_cleanup(xmldoc)
|
27
38
|
biblio_date_cleanup(xmldoc)
|
28
39
|
biblio_refcontent_cleanup(xmldoc)
|
40
|
+
biblio_format_cleanup(xmldoc)
|
29
41
|
annotation_cleanup(xmldoc)
|
30
42
|
end
|
31
43
|
|
@@ -72,6 +84,12 @@ module IsoDoc
|
|
72
84
|
end
|
73
85
|
end
|
74
86
|
|
87
|
+
def biblio_format_cleanup(xmldoc)
|
88
|
+
xmldoc.xpath("//reference[format]").each do |r|
|
89
|
+
r.xpath("./format").each(&:remove)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
75
93
|
def reparse_abstract(abstract)
|
76
94
|
a1 = Nokogiri::XML(abstract.dup.to_xml
|
77
95
|
.sub("<abstract>", "<abstract xmlns='http://www.example.com'>")).root
|
@@ -109,20 +109,28 @@ module IsoDoc
|
|
109
109
|
def sourcecode_remove_markup(node)
|
110
110
|
node.traverse do |n|
|
111
111
|
n.text? and next
|
112
|
-
%w(name callout annotation note
|
112
|
+
%w(name callout callout-annotation note
|
113
|
+
sourcecode).include? n.name and next
|
113
114
|
sourcecode_remove_markup_elem(n)
|
114
115
|
end
|
115
116
|
end
|
116
117
|
|
117
|
-
def
|
118
|
+
def crossref_remove_markup_elem(node)
|
118
119
|
case node.name
|
119
|
-
when "br" then node.replace("\n")
|
120
|
-
when "t" then node.replace("\n\n#{node.children}")
|
121
120
|
when "eref"
|
122
121
|
node.replace(node.children.empty? ? node["target"] : node.children)
|
123
122
|
when "xref"
|
124
123
|
node.children.empty? ? sourcecode_xref(node) : node.replace(node.children)
|
125
124
|
# when "relref" then n.replace(n.children.empty? ? n["target"] : n.children)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def sourcecode_remove_markup_elem(node)
|
129
|
+
case node.name
|
130
|
+
when "br" then node.replace("\n")
|
131
|
+
when "t" then node.replace("\n\n#{node.children}")
|
132
|
+
when "eref", "xref"
|
133
|
+
crossref_remove_markup_elem(node)
|
126
134
|
else node.replace(node.children)
|
127
135
|
end
|
128
136
|
end
|
data/lib/isodoc/ietf/front.rb
CHANGED
@@ -177,7 +177,8 @@ module IsoDoc
|
|
177
177
|
end
|
178
178
|
|
179
179
|
def date(_isoxml, front)
|
180
|
-
date = @meta.get[:publisheddate] || @meta.get[:circulateddate] ||
|
180
|
+
date = @meta.get[:publisheddate] || @meta.get[:circulateddate] ||
|
181
|
+
Date.today.to_s
|
181
182
|
date = date.gsub(/T.*$/, "")
|
182
183
|
attr = date_attr(date) || return
|
183
184
|
front.date **attr_code(attr)
|
@@ -220,12 +221,8 @@ module IsoDoc
|
|
220
221
|
|
221
222
|
def abstract(isoxml, front)
|
222
223
|
a = isoxml.at(ns("//preface/abstract | //preface/foreword")) || return
|
223
|
-
front.abstract
|
224
|
-
a
|
225
|
-
%w(title note).include? c1.name
|
226
|
-
end.each do |c1|
|
227
|
-
parse(c1, abs)
|
228
|
-
end
|
224
|
+
front.abstract do |abs|
|
225
|
+
children_parse(a, abs)
|
229
226
|
end
|
230
227
|
end
|
231
228
|
|
@@ -239,6 +236,7 @@ module IsoDoc
|
|
239
236
|
a.children.reject { |c1| c1.name == "name" }.each do |c1|
|
240
237
|
parse(c1, n)
|
241
238
|
end
|
239
|
+
a.remove
|
242
240
|
end
|
243
241
|
end
|
244
242
|
|
data/lib/isodoc/ietf/metadata.rb
CHANGED
@@ -49,6 +49,12 @@ module IsoDoc
|
|
49
49
|
super
|
50
50
|
set(:doctype, "RFC") if get[:doctype].nil?
|
51
51
|
end
|
52
|
+
|
53
|
+
def initialize(lang, script, locale, i18n, fonts_options = {})
|
54
|
+
super
|
55
|
+
@metadata[:publisheddate] = nil
|
56
|
+
@metadata[:circulateddate] = nil
|
57
|
+
end
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
data/lib/isodoc/ietf/reqt.rb
CHANGED
data/lib/isodoc/ietf/section.rb
CHANGED
@@ -198,14 +198,14 @@ Applicable to modify and delete</a:documentation>
|
|
198
198
|
</zeroOrMore>
|
199
199
|
</element>
|
200
200
|
</optional>
|
201
|
-
<
|
201
|
+
<zeroOrMore>
|
202
202
|
<element name="description">
|
203
|
-
<a:documentation>Description of the change described in this block</a:documentation>
|
204
|
-
<
|
203
|
+
<a:documentation>Description(s) of the change described in this block</a:documentation>
|
204
|
+
<oneOrMore>
|
205
205
|
<ref name="BasicBlock"/>
|
206
|
-
</
|
206
|
+
</oneOrMore>
|
207
207
|
</element>
|
208
|
-
</
|
208
|
+
</zeroOrMore>
|
209
209
|
<optional>
|
210
210
|
<element name="newcontent">
|
211
211
|
<a:documentation>New content to be added to the document; applicable to add and modify</a:documentation>
|
@@ -1291,13 +1291,13 @@ Restricted recursively to contain only other such inline elements with no identi
|
|
1291
1291
|
<ref name="pure_strike"/>
|
1292
1292
|
<ref name="pure_smallcap"/>
|
1293
1293
|
<ref name="br"/>
|
1294
|
+
<ref name="stem"/>
|
1294
1295
|
</choice>
|
1295
1296
|
</define>
|
1296
1297
|
<define name="NestedTextElement">
|
1297
1298
|
<a:documentation>Contents of TextElement tags: leaves out tags that should occur only at top level of block: bookmark image hr pagebreak</a:documentation>
|
1298
1299
|
<choice>
|
1299
1300
|
<ref name="PureTextElement"/>
|
1300
|
-
<ref name="stem"/>
|
1301
1301
|
<ref name="eref"/>
|
1302
1302
|
<ref name="xref"/>
|
1303
1303
|
<ref name="hyperlink"/>
|
@@ -38,14 +38,13 @@ module Metanorma
|
|
38
38
|
))
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
41
|
+
def sidebar_attrs(node)
|
42
42
|
super.merge(attr_code(display: node.attr("display")))
|
43
43
|
end
|
44
44
|
|
45
45
|
def sidebar(node)
|
46
|
-
draft? or return
|
47
46
|
noko do |xml|
|
48
|
-
xml.
|
47
|
+
xml.annotation **sidebar_attrs(node) do |r|
|
49
48
|
block_title(node, r)
|
50
49
|
wrap_in_para(node, r)
|
51
50
|
end
|
@@ -36,14 +36,14 @@ module Metanorma
|
|
36
36
|
|
37
37
|
def cref_cleanup(xmldoc)
|
38
38
|
xmldoc.xpath("//crefref").each do |r|
|
39
|
-
if c = xmldoc.at("//
|
39
|
+
if c = xmldoc.at("//annotation[@anchor = '#{r.text}']")
|
40
40
|
id = "_#{UUIDTools::UUID.random_create}"
|
41
41
|
c["from"] = id
|
42
42
|
c["to"] = id
|
43
43
|
r.replace("<bookmark id='#{id}'/>")
|
44
44
|
else
|
45
45
|
@log.add("Crossrefences", r,
|
46
|
-
"No matching
|
46
|
+
"No matching annotation for cref:[#{r.text}]", severity: 1)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<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">
|
3
|
-
<!-- VERSION v2.0
|
3
|
+
<!-- VERSION v2.1.0 -->
|
4
4
|
|
5
5
|
<!--
|
6
6
|
ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
|
@@ -42,33 +42,43 @@ All IdRefType instances point not to `@id` in Semantic XML, which is the Content
|
|
42
42
|
but to `@anchor`, the user-supplied cross-reference</a:documentation>
|
43
43
|
<text/>
|
44
44
|
</define>
|
45
|
-
<define name="
|
46
|
-
<element
|
45
|
+
<define name="review">
|
46
|
+
<a:documentation>Generalise BasicDoc element from just review comments, to general annotations;
|
47
|
+
the type attribute defaults to `review` for reviews</a:documentation>
|
48
|
+
<element name="annotation">
|
49
|
+
<ref name="RequiredId"/>
|
50
|
+
<ref name="ReviewAttributes"/>
|
47
51
|
<oneOrMore>
|
48
|
-
<
|
49
|
-
<
|
50
|
-
|
51
|
-
</choice>
|
52
|
+
<ref name="paragraph">
|
53
|
+
<a:documentation>Reviewer comments content</a:documentation>
|
54
|
+
</ref>
|
52
55
|
</oneOrMore>
|
53
56
|
</element>
|
54
57
|
</define>
|
55
|
-
<define name="
|
56
|
-
<
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
</oneOrMore>
|
58
|
+
<define name="ruby_pronunciation">
|
59
|
+
<a:documentation>Ruby annotation giving pronunciation of text: change tag from BasicDoc for disambiguation</a:documentation>
|
60
|
+
<element name="ruby-pronunciation">
|
61
|
+
<attribute name="value">
|
62
|
+
<a:documentation>Ruby annotation value</a:documentation>
|
63
|
+
</attribute>
|
64
|
+
<ref name="LocalizedStringAttributes"/>
|
63
65
|
</element>
|
64
66
|
</define>
|
65
|
-
<define name="
|
66
|
-
<
|
67
|
+
<define name="ruby_annotation">
|
68
|
+
<a:documentation>Ruby annotation giving information other than pronunciation of text: change tag from BasicDoc for disambiguation</a:documentation>
|
69
|
+
<element name="ruby-annotation">
|
70
|
+
<attribute name="value">
|
71
|
+
<a:documentation>Ruby annotation value</a:documentation>
|
72
|
+
</attribute>
|
73
|
+
<ref name="LocalizedStringAttributes"/>
|
74
|
+
</element>
|
75
|
+
</define>
|
76
|
+
<define name="annotation">
|
77
|
+
<a:documentation>Source code annotation, corresponding to a callout</a:documentation>
|
78
|
+
<element name="callout-annotation">
|
79
|
+
<ref name="RequiredId"/>
|
67
80
|
<oneOrMore>
|
68
|
-
<
|
69
|
-
<ref name="PureTextElement"/>
|
70
|
-
<ref name="stem"/>
|
71
|
-
</choice>
|
81
|
+
<ref name="paragraph"/>
|
72
82
|
</oneOrMore>
|
73
83
|
</element>
|
74
84
|
</define>
|
@@ -540,7 +550,7 @@ normative or informative references, some split references into sections organiz
|
|
540
550
|
<ref name="OptionalId"/>
|
541
551
|
<optional>
|
542
552
|
<attribute name="style">
|
543
|
-
<a:documentation>CSS style: only background-color supported</a:documentation>
|
553
|
+
<a:documentation>CSS style: only background-color, color, border supported</a:documentation>
|
544
554
|
</attribute>
|
545
555
|
</optional>
|
546
556
|
</define>
|
@@ -552,28 +562,6 @@ normative or informative references, some split references into sections organiz
|
|
552
562
|
</oneOrMore>
|
553
563
|
</element>
|
554
564
|
</define>
|
555
|
-
<define name="sub">
|
556
|
-
<a:documentation>Subscript text. Corresponds to HTML `sub</a:documentation>
|
557
|
-
<element name="sub">
|
558
|
-
<zeroOrMore>
|
559
|
-
<choice>
|
560
|
-
<ref name="PureTextElement"/>
|
561
|
-
<ref name="stem"/>
|
562
|
-
</choice>
|
563
|
-
</zeroOrMore>
|
564
|
-
</element>
|
565
|
-
</define>
|
566
|
-
<define name="sup">
|
567
|
-
<a:documentation>Superscript text. Corresponds to HTML `sup`</a:documentation>
|
568
|
-
<element name="sup">
|
569
|
-
<zeroOrMore>
|
570
|
-
<choice>
|
571
|
-
<ref name="PureTextElement"/>
|
572
|
-
<ref name="stem"/>
|
573
|
-
</choice>
|
574
|
-
</zeroOrMore>
|
575
|
-
</element>
|
576
|
-
</define>
|
577
565
|
<define name="pagebreak">
|
578
566
|
<a:documentation>Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML)</a:documentation>
|
579
567
|
<element name="pagebreak">
|
@@ -620,7 +608,7 @@ This is done if the footnote reference is already presented in some other form,
|
|
620
608
|
<ref name="RequiredId"/>
|
621
609
|
<optional>
|
622
610
|
<attribute name="style">
|
623
|
-
<a:documentation>CSS style: only background-color supported</a:documentation>
|
611
|
+
<a:documentation>CSS style: only background-color, color, border supported</a:documentation>
|
624
612
|
</attribute>
|
625
613
|
</optional>
|
626
614
|
</define>
|
@@ -695,11 +683,22 @@ titlecase, or lowercase</a:documentation>
|
|
695
683
|
<ref name="BlockAttributes"/>
|
696
684
|
</define>
|
697
685
|
<define name="TableAttributes" combine="interleave">
|
686
|
+
<optional>
|
687
|
+
<attribute name="plain">
|
688
|
+
<a:documentation>Render as a plain attribute, with no shading or borders</a:documentation>
|
689
|
+
<data type="boolean"/>
|
690
|
+
</attribute>
|
691
|
+
</optional>
|
698
692
|
<optional>
|
699
693
|
<attribute name="width">
|
700
694
|
<a:documentation>Width of the table block in rendering</a:documentation>
|
701
695
|
</attribute>
|
702
696
|
</optional>
|
697
|
+
<optional>
|
698
|
+
<attribute name="style">
|
699
|
+
<a:documentation>CSS style: only background-color, color, border supported</a:documentation>
|
700
|
+
</attribute>
|
701
|
+
</optional>
|
703
702
|
<ref name="BlockAttributes"/>
|
704
703
|
</define>
|
705
704
|
<define name="FigureAttributes" combine="interleave">
|
@@ -1043,7 +1042,6 @@ That concept may be defined as a term within the current document, or it may be
|
|
1043
1042
|
<zeroOrMore>
|
1044
1043
|
<choice>
|
1045
1044
|
<ref name="PureTextElement"/>
|
1046
|
-
<ref name="stem"/>
|
1047
1045
|
<ref name="index"/>
|
1048
1046
|
<ref name="index-xref"/>
|
1049
1047
|
</choice>
|
@@ -1056,7 +1054,6 @@ That concept may be defined as a term within the current document, or it may be
|
|
1056
1054
|
<zeroOrMore>
|
1057
1055
|
<choice>
|
1058
1056
|
<ref name="PureTextElement"/>
|
1059
|
-
<ref name="stem"/>
|
1060
1057
|
<ref name="index"/>
|
1061
1058
|
<ref name="index-xref"/>
|
1062
1059
|
</choice>
|
@@ -1417,7 +1414,7 @@ numbers</a:documentation>
|
|
1417
1414
|
</optional>
|
1418
1415
|
<ref name="DocumentBody"/>
|
1419
1416
|
<optional>
|
1420
|
-
<ref name="
|
1417
|
+
<ref name="annotation-container">
|
1421
1418
|
<a:documentation>Annotations to the document</a:documentation>
|
1422
1419
|
</ref>
|
1423
1420
|
</optional>
|
@@ -1461,8 +1458,8 @@ numbers</a:documentation>
|
|
1461
1458
|
</oneOrMore>
|
1462
1459
|
</element>
|
1463
1460
|
</define>
|
1464
|
-
<define name="
|
1465
|
-
<element name="
|
1461
|
+
<define name="annotation-container">
|
1462
|
+
<element name="annotation-container">
|
1466
1463
|
<oneOrMore>
|
1467
1464
|
<ref name="review"/>
|
1468
1465
|
</oneOrMore>
|
@@ -1974,10 +1971,7 @@ used in document amendments</a:documentation>
|
|
1974
1971
|
<element name="name">
|
1975
1972
|
<a:documentation>The symbolic form of the designation</a:documentation>
|
1976
1973
|
<oneOrMore>
|
1977
|
-
<
|
1978
|
-
<ref name="PureTextElement"/>
|
1979
|
-
<ref name="stem"/>
|
1980
|
-
</choice>
|
1974
|
+
<ref name="PureTextElement"/>
|
1981
1975
|
</oneOrMore>
|
1982
1976
|
</element>
|
1983
1977
|
</element>
|
@@ -2030,7 +2024,6 @@ used in document amendments</a:documentation>
|
|
2030
2024
|
<zeroOrMore>
|
2031
2025
|
<choice>
|
2032
2026
|
<ref name="PureTextElement"/>
|
2033
|
-
<ref name="stem"/>
|
2034
2027
|
<ref name="index"/>
|
2035
2028
|
<ref name="index-xref"/>
|
2036
2029
|
</choice>
|
@@ -20,7 +20,7 @@ template:
|
|
20
20
|
# skip standardidentifier, it is inserted in front of formattedref within metanorma
|
21
21
|
# date is cleaned up into RFC XML formatting afterwards
|
22
22
|
# ref-included is cleaned up as referencegroup/reference in RFC XML afterwards
|
23
|
-
standard: "{% if stream %}<stream>{{stream}}</stream>{% endif %} <front> <title>{{ title }}</title> {{ creatornames }} <date_cleanme='true'>{{date}}</date> {% for k in keywords %}<keyword>{{k}}</keyword>{%endfor%} <abstract_cleanme='true'>{{abstract}}</abstract> </front> {
|
23
|
+
standard: "{% if stream %}<stream>{{stream}}</stream>{% endif %} <front> <title>{{ title }}</title> {{ creatornames }} <date_cleanme='true'>{{date}}</date> {% for k in keywords %}<keyword>{{k}}</keyword>{%endfor%} <abstract_cleanme='true'>{{abstract}}</abstract> </front> {{ series }} {%for d in doi %}<seriesInfo_value='{{ d | replace: ' ', ' ' | remove_first: 'DOI' | strip }}'_name='DOI'/>{% endfor %} {% if home_standard %}{% for j in authoritative_identifier %} <seriesInfo_value='{{ j | replace: ' ', ' ' | strip | split: ' ' | last | remove_first: 'I-D.'}}'_name='{%if j contains 'I-D.'%}Internet-Draft{% else %}{{ j | replace: ' ', ' ' | strip | split: ' ' | slice: -2 }}{%endif%}'/> {% endfor %} {% else %} <refcontent>{{authoritative_identifier | join: ', '}}</refcontent> {% endif %} {% for i in included %}<ref-included target='{{ i.uris[0].content }}'> {% if i.stream %}<stream>{{i.stream}}</stream>{% endif %} <front> <title>{% if i.title %}{{ i.title}}{%else%}[TITLE]{%endif%}</title> {% if i.creatornames %}{{ i.creatornames }}{%else%}<author></author>{%endif%} <date_cleanme='true'>{{i.date}}</date> {% for k in i.keywords %}<keyword>{{k}}</keyword>{%endfor%} <abstract_cleanme='true'>{{i.abstract}}</abstract> </front> {{ series }} {%for d in i.doi %}<seriesInfo_value='{{ d | replace: ' ', ' ' | remove_first: 'DOI' | strip }}'_name='DOI'/>{% endfor %} {% if home_standard %}{% for j in i.authoritative_identifier %} <seriesInfo_value='{{ j | replace: ' ', ' ' | strip | split: ' ' | last | remove_first: 'I-D.'}}'_name='{%if j contains 'I-D.'%}Internet-Draft{% else %}{{ j | replace: ' ', ' ' | strip | split: ' ' | slice: -2 }}{%endif%}'/> {% endfor %} {% else %} <refcontent>{{i.authoritative_identifier | join: ', '}}</refcontent> {% endif %}</ref-included>{% endfor %}"
|
24
24
|
website: standard
|
25
25
|
book: standard
|
26
26
|
booklet: standard
|
@@ -17,10 +17,10 @@ module Relaton
|
|
17
17
|
module Ietf
|
18
18
|
module Template
|
19
19
|
class Name < ::Relaton::Render::Template::Name
|
20
|
-
def
|
21
|
-
super
|
22
|
-
::
|
23
|
-
|
20
|
+
def create_liquid_environment
|
21
|
+
env = super
|
22
|
+
env.register_filter(::Relaton::Render::Template::Ascii)
|
23
|
+
env
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
data/metanorma-ietf.gemspec
CHANGED
@@ -51,5 +51,5 @@ spec.add_development_dependency "rubocop-performance"
|
|
51
51
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
52
52
|
spec.add_development_dependency "timecop", "~> 0.9"
|
53
53
|
spec.add_development_dependency "webmock"
|
54
|
-
spec.add_development_dependency "
|
54
|
+
spec.add_development_dependency "canon"
|
55
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ietf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.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: 2025-
|
11
|
+
date: 2025-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-ietf-data
|
@@ -207,7 +207,7 @@ dependencies:
|
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '0'
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
210
|
+
name: canon
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - ">="
|