kramdown-rfc2629 1.5.14 → 1.5.15
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/data/kramdown-rfc2629.erb +26 -0
- data/kramdown-rfc2629.gemspec +1 -1
- data/lib/kramdown-rfc2629.rb +14 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a7de9b6c78edf74415c185732e4b41a2d5685b07968bd187ce0948ea6dfd607
|
4
|
+
data.tar.gz: 52abd5a775d5c9922531b199fc957fbfe645621b4db3b59a624b0940ec328bf9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a10a5fa3678b60ac5e1fa56ca42ef38529ff577e1a206c87784d9afb53d73af853ba16fbf0ec233152c55614b0ee9a22b40e332c0fd2b14bf7371333359baf7
|
7
|
+
data.tar.gz: 4dd3ef2b8698068f39b3e2c032f3bd76d281ac8fadb46820867b266339bee9aa86787eb0a60b72d853f03b33f0190256c4125fdf8950d8a877106dbdb855e6e3
|
data/data/kramdown-rfc2629.erb
CHANGED
@@ -42,6 +42,31 @@
|
|
42
42
|
|
43
43
|
</abstract>
|
44
44
|
|
45
|
+
<% if $options.v3 -%>
|
46
|
+
<% venue = ps[:venue] -%>
|
47
|
+
<% if venue -%>
|
48
|
+
<% venue = KramdownRFC::ParameterSet.new(venue) -%>
|
49
|
+
<note title="Discussion Venues" removeInRFC="true">
|
50
|
+
<% if mail = venue[:mail] -%>
|
51
|
+
<% mail_local, mail_host = mail.split("@", 2) -%>
|
52
|
+
<% mail_subdomain, mail_domain = mail_host.split(".", 2) -%>
|
53
|
+
<% group = venue[:group] || mail_local # XXX -%>
|
54
|
+
<% arch = venue[:arch] || "https://mailarchive.ietf.org/arch/browse/#{mail_local}/" -%>
|
55
|
+
<% GROUPS = {"ietf" => "Working ", "irtf" => "Research "} -%>
|
56
|
+
<% type = venue[:type] || "#{GROUPS[mail_subdomain]}Group" -%>
|
57
|
+
<t>Discussion of this document takes place on the
|
58
|
+
<%=group%> <%=type%> mailing list (<%=mail%>),
|
59
|
+
which is archived at <eref target="<%=arch%>"/>.</t>
|
60
|
+
<% end -%>
|
61
|
+
<% if gh = venue[:github] -%>
|
62
|
+
<t>Source for this draft and an issue tracker can be found at
|
63
|
+
<eref target="https://github.com/<%=gh%>"/>.</t>
|
64
|
+
<% end -%>
|
65
|
+
</note>
|
66
|
+
<% venue.warn_if_leftovers -%>
|
67
|
+
<% end -%>
|
68
|
+
<% end -%>
|
69
|
+
|
45
70
|
<% sechash.keys.each do |k| -%>
|
46
71
|
<% if k =~ /\A(to_be_removed_)?note_(.*)/ -%>
|
47
72
|
|
@@ -78,6 +103,7 @@
|
|
78
103
|
{:removeinrfc: removeinrfc="true"}
|
79
104
|
{:notoc: toc="exclude"}
|
80
105
|
{:compact: spacing="compact"}
|
106
|
+
{:noabbrev: noabbrev="true"}
|
81
107
|
{::nomarkdown}
|
82
108
|
|
83
109
|
<%= sechash.delete("middle") %>
|
data/kramdown-rfc2629.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
2
2
|
s.name = 'kramdown-rfc2629'
|
3
|
-
s.version = '1.5.
|
3
|
+
s.version = '1.5.15'
|
4
4
|
s.summary = "Kramdown extension for generating RFC 7749 XML."
|
5
5
|
s.description = %{An RFC7749 (XML2RFC) generating backend for Thomas Leitner's
|
6
6
|
"kramdown" markdown parser. Mostly useful for RFC writers.}
|
data/lib/kramdown-rfc2629.rb
CHANGED
@@ -226,7 +226,11 @@ module Kramdown
|
|
226
226
|
)
|
227
227
|
STUDLY_ATTR_MAP = Hash[STUDLY_ATTR.map {|s| [s.downcase, s]}]
|
228
228
|
|
229
|
-
|
229
|
+
TRUTHY = Hash.new {|h, k| k}
|
230
|
+
TRUTHY["false"] = false
|
231
|
+
TRUTHY["no"] = false
|
232
|
+
|
233
|
+
def rfc2629_fix(opts)
|
230
234
|
if a = attr
|
231
235
|
if anchor = a.delete('id')
|
232
236
|
a['anchor'] = ::Kramdown::Parser::RFC2629Kramdown.idref_cleanup(anchor)
|
@@ -234,12 +238,16 @@ module Kramdown
|
|
234
238
|
if anchor = a.delete('href')
|
235
239
|
a['target'] = ::Kramdown::Parser::RFC2629Kramdown.idref_cleanup(anchor)
|
236
240
|
end
|
241
|
+
if av = a.delete('noabbrev') # pseudo attribute -> opts
|
242
|
+
opts = opts.merge(noabbrev: TRUTHY[av]) # updated copy
|
243
|
+
end
|
237
244
|
attr.keys.each do |k|
|
238
245
|
if (d = k.gsub(/_(.|$)/) { $1.upcase }) != k or d = STUDLY_ATTR_MAP[k]
|
239
246
|
a[d] = a.delete(k)
|
240
247
|
end
|
241
248
|
end
|
242
249
|
end
|
250
|
+
opts
|
243
251
|
end
|
244
252
|
end
|
245
253
|
|
@@ -294,15 +302,15 @@ module Kramdown
|
|
294
302
|
end
|
295
303
|
|
296
304
|
def convert1(el, indent, opts = {})
|
297
|
-
el.rfc2629_fix
|
298
|
-
send("convert_#{el.type}", el, indent,
|
305
|
+
nopts = el.rfc2629_fix(opts)
|
306
|
+
send("convert_#{el.type}", el, indent, nopts)
|
299
307
|
end
|
300
308
|
|
301
309
|
def inner_a(el, indent, opts)
|
302
310
|
indent += INDENTATION
|
303
311
|
el.children.map do |inner_el|
|
304
|
-
inner_el.rfc2629_fix
|
305
|
-
send("convert_#{inner_el.type}", inner_el, indent,
|
312
|
+
nopts = inner_el.rfc2629_fix(opts)
|
313
|
+
send("convert_#{inner_el.type}", inner_el, indent, nopts)
|
306
314
|
end
|
307
315
|
end
|
308
316
|
|
@@ -664,6 +672,7 @@ COLORS
|
|
664
672
|
if sl = el.attr.delete('slugifiedName') # could do general name- play
|
665
673
|
attrstring = html_attributes({'slugifiedName' => sl})
|
666
674
|
end
|
675
|
+
# noabbrev: true -- Workaround for https://trac.ietf.org/trac/xml2rfc/ticket/683
|
667
676
|
irefs = "<name#{attrstring}>#{inner(el, indent, opts.merge(noabbrev: true))}</name>" #
|
668
677
|
else
|
669
678
|
clean, irefs = clean_pcdata(inner_a(el, indent, opts))
|