kramdown-rfc2629 1.4.8 → 1.4.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/kramdown-rfc2629 +20 -6
- data/kramdown-rfc2629.gemspec +1 -1
- 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: 4be8093af3b860dba2fe1389dd720da6f34206ff112e84dcca98dd35ad200a07
|
4
|
+
data.tar.gz: 2772970e704ad1bcea1930602e3b7f2e21cfe34a5bcdde3e1fdd0e2a71722bcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8feb2ef692ca46abe03f14dbfd34cce993856e03cb3eb2fa105db0c16766c931992facdcf6affbc0a164c6b48e3abe5110f2f76118c394c652d4c2bdff530769
|
7
|
+
data.tar.gz: 5fab2d82e41c88603abbe33224a763534d0920da3751529b01110b885dec060564a4431bd4617360427cc1ef6aaac4b5375888ec2387983b62daabad1fb6822e
|
data/bin/kramdown-rfc2629
CHANGED
@@ -89,6 +89,14 @@ def yaml_load(input, *args)
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
+
XREF_SECTIONS_RE = ::Kramdown::Parser::RFC2629Kramdown::SECTIONS_RE
|
93
|
+
XSR_PREFIX = "#{XREF_SECTIONS_RE} of "
|
94
|
+
XSR_SUFFIX = ", (#{XREF_SECTIONS_RE})| \((#{XREF_SECTIONS_RE})\)"
|
95
|
+
|
96
|
+
def spacify_re(s)
|
97
|
+
s.gsub(' ', '[\u00A0\s]+')
|
98
|
+
end
|
99
|
+
|
92
100
|
def xml_from_sections(input)
|
93
101
|
|
94
102
|
unless ENV["KRAMDOWN_NO_SOURCE"]
|
@@ -158,11 +166,17 @@ def xml_from_sections(input)
|
|
158
166
|
# collect normative/informative tagging {{!RFC2119}} {{?RFC4711}}
|
159
167
|
sechash.each do |k, v|
|
160
168
|
next if k == "fluff"
|
161
|
-
v.gsub!(/{{(
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
169
|
+
v.gsub!(/{{(#{
|
170
|
+
spacify_re(XSR_PREFIX)
|
171
|
+
})?(?:([?!])(-)?|(-))([\w._\-]+)(?:=([\w.\/_\-]+))?(#{
|
172
|
+
spacify_re(XSR_SUFFIX)
|
173
|
+
})?}}/) do |match|
|
174
|
+
xsr_prefix = $1
|
175
|
+
norminform = $2
|
176
|
+
replacing = $3 || $4
|
177
|
+
word = $5
|
178
|
+
bibref = $6
|
179
|
+
xsr_suffix = $7
|
166
180
|
if replacing
|
167
181
|
if new = ref_replacements[word]
|
168
182
|
word = new
|
@@ -186,7 +200,7 @@ def xml_from_sections(input)
|
|
186
200
|
if norminform
|
187
201
|
norm_ref[word] ||= norminform == '!' # one normative ref is enough
|
188
202
|
end
|
189
|
-
"{{#{word}}}"
|
203
|
+
"{{#{xsr_prefix}#{word}#{xsr_suffix}}}"
|
190
204
|
end
|
191
205
|
end
|
192
206
|
|
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.4.
|
3
|
+
s.version = '1.4.9'
|
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.}
|