kramdown-rfc2629 1.7.13 → 1.7.14
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|