kramdown-rfc2629 1.6.5 → 1.6.6
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-autolink-iref-cleanup.rb +31 -0
- data/kramdown-rfc2629.gemspec +2 -2
- data/lib/kramdown-rfc/command.rb +1 -1
- data/lib/kramdown-rfc/gzip-clone.rb +3 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0665cf9a250a3ccecfd5ffb7c58f2443e8b21e518972714d22098142fef1de8e
|
4
|
+
data.tar.gz: 24dca25b6ced5deca65ad0baab89eb74e606683b0e2c08afb7de88cdbfc4d5bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c579b8fec2e8b0c1aa2b749cbdcc1b70fb850db6d6ca6162b5045c31b8848a780e72ae26bcf9551987002681513d276b04bdc734c5030e068dafca11fd53a19
|
7
|
+
data.tar.gz: e73d2deed187c22f5f74c2664981fd65e23fa6e83b3ae3779221fe59dc361a3c0807fff74f4155055043fff603c6a29dfb35b8fba7689cf7d5d8f432908eed21
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
require 'rexml/document'
|
4
|
+
|
5
|
+
d = REXML::Document.new(ARGF.read)
|
6
|
+
|
7
|
+
d.root.get_elements("//section[@anchor]").each do |sec|
|
8
|
+
anchor = sec['anchor']
|
9
|
+
irefs = {}
|
10
|
+
sec.get_elements(".//xref[@target='#{anchor}'][@format='none']").each do |xr|
|
11
|
+
ne = xr.next_element
|
12
|
+
if ne && ne.name == "iref" && (item = ne['item'])
|
13
|
+
irefs[item] = ne['subitem'] # XXX one subitem only
|
14
|
+
ne.remove
|
15
|
+
chi = xr.children
|
16
|
+
chi[1..-1].reverse.each do |ch|
|
17
|
+
xr.parent.insert_after(xr, ch)
|
18
|
+
end
|
19
|
+
xr.replace_with(chi[0])
|
20
|
+
end
|
21
|
+
end
|
22
|
+
irefs.each do |k, v|
|
23
|
+
sec.insert_after(sec.get_elements("name").first,
|
24
|
+
e = REXML::Element.new("iref", sec))
|
25
|
+
e.attributes["item"] = k
|
26
|
+
e.attributes["subitem"] = v
|
27
|
+
e.attributes["primary"] = 'true'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
puts d.to_s
|
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.6.
|
3
|
+
s.version = '1.6.6'
|
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.}
|
@@ -8,7 +8,7 @@ spec = Gem::Specification.new do |s|
|
|
8
8
|
s.add_dependency('kramdown-parser-gfm', '~> 1.1')
|
9
9
|
s.add_dependency('certified', '~> 1.0')
|
10
10
|
s.add_dependency('json_pure', '~> 2.0')
|
11
|
-
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/kramdown-rfc-extract-markdown data/kramdown-rfc2629.erb data/encoding-fallbacks.txt data/math.json bin/kramdown-rfc-cache-subseries-bibxml bin/de-gfm)
|
11
|
+
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/kramdown-rfc-extract-markdown data/kramdown-rfc2629.erb data/encoding-fallbacks.txt data/math.json bin/kramdown-rfc-cache-subseries-bibxml bin/kramdown-rfc-autolink-iref-cleanup.rb bin/de-gfm)
|
12
12
|
s.require_path = 'lib'
|
13
13
|
s.executables = ['kramdown-rfc', 'kramdown-rfc2629', 'doilit', 'kramdown-rfc-extract-markdown',
|
14
14
|
'kdrfc', 'kramdown-rfc-cache-i-d-bibxml',
|
data/lib/kramdown-rfc/command.rb
CHANGED
@@ -229,7 +229,7 @@ def xml_from_sections(input)
|
|
229
229
|
unless ENV["KRAMDOWN_NO_SOURCE"]
|
230
230
|
require 'kramdown-rfc/gzip-clone'
|
231
231
|
require 'base64'
|
232
|
-
compressed_input = Gzip.
|
232
|
+
compressed_input = Gzip.compress_m0(input)
|
233
233
|
$source = Base64.encode64(compressed_input)
|
234
234
|
end
|
235
235
|
|
@@ -24,10 +24,11 @@ require 'stringio'
|
|
24
24
|
Zlib::GzipReader.new(StringIO.new(source)).read
|
25
25
|
end
|
26
26
|
|
27
|
-
# Compresses a string using gzip
|
28
|
-
def self.
|
27
|
+
# Compresses a string using gzip, setting mtime to 0
|
28
|
+
def self.compress_m0(source, level=Zlib::DEFAULT_COMPRESSION, strategy=Zlib::DEFAULT_STRATEGY)
|
29
29
|
output = Stream.new
|
30
30
|
gz = Zlib::GzipWriter.new(output, level, strategy)
|
31
|
+
gz.mtime = 0
|
31
32
|
gz.write(source)
|
32
33
|
gz.close
|
33
34
|
output.string
|
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.6.
|
4
|
+
version: 1.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- bin/doilit
|
89
89
|
- bin/kdrfc
|
90
90
|
- bin/kramdown-rfc
|
91
|
+
- bin/kramdown-rfc-autolink-iref-cleanup.rb
|
91
92
|
- bin/kramdown-rfc-cache-i-d-bibxml
|
92
93
|
- bin/kramdown-rfc-cache-subseries-bibxml
|
93
94
|
- bin/kramdown-rfc-extract-markdown
|