kramdown-rfc2629 1.7.13 → 1.7.14
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/bin/kramdown-rfc-lsr +32 -35
- data/kramdown-rfc2629.gemspec +3 -2
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b41a30362d3a7084d976dc97ce0126a4b7db5240f3f6428a8c76f328c33bdbd
|
4
|
+
data.tar.gz: c14d74f755f417531ef362bdaea1aa9caeb48d98f28b55a2e69d13cb0aa3e47f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57694f76cafeadd2a3950e68607ab2e0c2a0b91132e3be9647444e4b759394687d0cf47a4cf6ee797065080838d0904890b5e6f74e8e29613c49b5c40650543b
|
7
|
+
data.tar.gz: 83d561cf23be4b41285339ec78976cbdffe8a3a29c5e974c4b80c7879a8c539b7cba5c7a33b14d2425ce9c3cefaa72b60b6c88c733b9d8017fe49f6ad5470f4f
|
data/bin/kramdown-rfc-lsr
CHANGED
@@ -152,34 +152,46 @@ def num_expand(s)
|
|
152
152
|
s.gsub(/\d+/) {|n| "%09d" % n.to_i}
|
153
153
|
end
|
154
154
|
|
155
|
+
def want_one(secs, what)
|
156
|
+
case secs.size
|
157
|
+
when 0
|
158
|
+
error_out "*** cannot match #{what}"
|
159
|
+
"*** DOESN'T EXIST ***"
|
160
|
+
when 1
|
161
|
+
yield secs.first
|
162
|
+
else
|
163
|
+
error_out "*** multiple matches for #{what}"
|
164
|
+
"*** MULTIPLE MATCHES ***"
|
165
|
+
end
|
166
|
+
end
|
155
167
|
require 'open3'
|
156
168
|
|
157
169
|
module OpenURI
|
158
170
|
class << self
|
159
|
-
def
|
160
|
-
newuri = uri.to_s.sub(
|
171
|
+
def processed(uri, old, camo, *rest)
|
172
|
+
newuri = uri.to_s.sub(old, camo) # camo name for processed data
|
161
173
|
response = Cache.get(newuri) || (
|
162
|
-
|
174
|
+
unprocessed = open_uri(uri, *rest).read
|
163
175
|
fn = [OpenURI::Cache.cache_path, uri.sub(/.*\//, '')].join('/')
|
164
|
-
File.open(fn, 'wb'){|f| f.write
|
165
|
-
|
166
|
-
fail s.inspect unless s.success?
|
167
|
-
new_fn = fn.sub(/\.xml$/, ".prepped.xml")
|
176
|
+
File.open(fn, 'wb'){|f| f.write unprocessed }
|
177
|
+
new_fn = yield newuri, fn
|
168
178
|
Cache.set(newuri, File.open(new_fn))
|
169
179
|
)
|
170
180
|
response
|
171
181
|
end
|
172
|
-
def
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
fn
|
177
|
-
|
182
|
+
def prepped(uri)
|
183
|
+
processed(uri, /\.xml$/, ".prepped.xml") do |newuri, fn|
|
184
|
+
_prep_out, s = Open3.capture2("xml2rfc", "--prep", fn)
|
185
|
+
fail s.inspect unless s.success?
|
186
|
+
fn.sub(/\.xml$/, ".prepped.xml") # xml2rfc creates new file
|
187
|
+
end
|
188
|
+
end
|
189
|
+
def tidied(uri)
|
190
|
+
processed(uri, /\.html$/, ".tidied.html") do |newuri, fn|
|
178
191
|
_prep_out, s = Open3.capture2("tidy", "-mq", "-asxml", "-f", "/dev/null", fn)
|
179
|
-
fail s.inspect unless s.exited?
|
180
|
-
|
181
|
-
|
182
|
-
response
|
192
|
+
fail s.inspect unless s.exited? # can't check success
|
193
|
+
fn # -m makes in-place change
|
194
|
+
end
|
183
195
|
end
|
184
196
|
end
|
185
197
|
end
|
@@ -233,16 +245,8 @@ per_reference.keys.sort_by {|x| num_expand(x)}.each do |trg|
|
|
233
245
|
REXML::XPath.match(refdoc.root, "//section[@pn=$pn]",
|
234
246
|
{}, {"pn" => c})}
|
235
247
|
what = "#{secpn.join(" or ")} in #{trg}"
|
236
|
-
add << " (#{
|
237
|
-
when 0
|
238
|
-
error_out "*** cannot match #{what}"
|
239
|
-
"*** DOESN'T EXIST ***"
|
240
|
-
when 1
|
241
|
-
sec = secs.first
|
248
|
+
add << " (#{want_one(secs, what) do |sec|
|
242
249
|
sec[:title] || sec.elements["name"].all_text
|
243
|
-
else
|
244
|
-
error_out "*** multiple matches for #{what}"
|
245
|
-
"*** MULTIPLE MATCHES ***"
|
246
250
|
end})"
|
247
251
|
elsif refhtmldoc # find section name in HTML from anchor s
|
248
252
|
secpn = section_number_to_htmlid(s)
|
@@ -251,15 +255,8 @@ per_reference.keys.sort_by {|x| num_expand(x)}.each do |trg|
|
|
251
255
|
{"xmlns" => "http://www.w3.org/1999/xhtml"},
|
252
256
|
{"pn" => secpn})
|
253
257
|
what = "#{secpn} in #{trg}"
|
254
|
-
add << " (#{
|
255
|
-
|
256
|
-
error_out "*** cannot match #{what}"
|
257
|
-
"*** DOESN'T EXIST ***"
|
258
|
-
when 1
|
259
|
-
secs.first.text.sub(/^\.\s+/, '')
|
260
|
-
else
|
261
|
-
error_out "*** multiple matches for #{what}"
|
262
|
-
"*** MULTIPLE MATCHES ***"
|
258
|
+
add << " (#{want_one(secs, what) do |sec|
|
259
|
+
sec.text.sub(/^\.\s+/, '')
|
263
260
|
end})"
|
264
261
|
end
|
265
262
|
puts "* #{/^[0-9]/ =~ s ? "Section" : "Appendix"} #{s}#{add}"
|
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.7.
|
3
|
+
s.version = '1.7.14'
|
4
4
|
s.summary = "Kramdown extension for generating RFCXML (RFC 799x)."
|
5
5
|
s.description = %{An RFCXML (RFC 799x) generating backend for Thomas Leitner's
|
6
6
|
"kramdown" markdown parser. Mostly useful for RFC writers.}
|
@@ -12,7 +12,8 @@ spec = Gem::Specification.new do |s|
|
|
12
12
|
s.add_dependency('unicode-blocks', '~> 1.0')
|
13
13
|
s.add_dependency('unicode-scripts', '~> 1.0')
|
14
14
|
s.add_dependency('net-http-persistent', '~> 4.0')
|
15
|
-
s.add_dependency('differ', '~>0.1')
|
15
|
+
s.add_dependency('differ', '~> 0.1')
|
16
|
+
s.add_dependency('base64', '>= 0.1')
|
16
17
|
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/echars bin/kramdown-rfc-extract-markdown bin/kramdown-rfc-extract-sourcecode bin/kramdown-rfc-lsr data/kramdown-rfc2629.erb data/encoding-fallbacks.txt data/math.json bin/kramdown-rfc-cache-subseries-bibxml bin/kramdown-rfc-autolink-iref-cleanup bin/de-gfm bin/kramdown-rfc-clean-svg-ids)
|
17
18
|
s.require_path = 'lib'
|
18
19
|
s.executables = ['kramdown-rfc', 'kramdown-rfc2629', 'doilit', 'echars',
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kramdown-rfc2629
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0.1'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: base64
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.1'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.1'
|
139
153
|
description: |-
|
140
154
|
An RFCXML (RFC 799x) generating backend for Thomas Leitner's
|
141
155
|
"kramdown" markdown parser. Mostly useful for RFC writers.
|