kramdown-rfc2629 1.4.8 → 1.4.9

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 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