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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc148b7d5a6a85688d2fb08e18c43eaed83d2d260a09a76411ac5b843b6fe826
4
- data.tar.gz: 81b2b54cea8334913f060748f41e70f9af5986930d57c2181355149a17a47077
3
+ metadata.gz: 4be8093af3b860dba2fe1389dd720da6f34206ff112e84dcca98dd35ad200a07
4
+ data.tar.gz: 2772970e704ad1bcea1930602e3b7f2e21cfe34a5bcdde3e1fdd0e2a71722bcf
5
5
  SHA512:
6
- metadata.gz: 3030de20ba98b79a56f391c69a38ff44c470f39830b550cfd96bbf3c2202f2eb3e5ffe60071657c81e91bbe4307b41b803e7d4a9778bf06aa61a9ec1ff87bb7b
7
- data.tar.gz: c83e052a005012a7b2e5a595e1a4c1e133d651ee6e70e2bda135295a007f8a97b89cde5e1c1e7f9985333dd28df9f1f7566a3b57ce890e87229aaa412c84eacd
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!(/{{(?:([?!])(-)?|(-))([\w._\-]+)(?:=([\w.\/_\-]+))?}}/) do |match|
162
- norminform = $1
163
- replacing = $2 || $3
164
- word = $4
165
- bibref = $5
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
 
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.4.8'
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.}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-rfc2629
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.8
4
+ version: 1.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann