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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0115e72b1d82f546c2681cc3f25a9e473b976bd32f70cf5c922cf31345a24b3
4
- data.tar.gz: 914787571e83ab08a6a355ca280fe4e85c79d00fd4c25446702edf824b39f968
3
+ metadata.gz: 0665cf9a250a3ccecfd5ffb7c58f2443e8b21e518972714d22098142fef1de8e
4
+ data.tar.gz: 24dca25b6ced5deca65ad0baab89eb74e606683b0e2c08afb7de88cdbfc4d5bc
5
5
  SHA512:
6
- metadata.gz: d07f0c3c4d96dd0dfb9833ec57dcf6b1221aee08d1df3d0819a8263e1f499a152661e8e2d0d6cf0cb40a16083f2ea8abd416849c500a6fad60c37722166ba18a
7
- data.tar.gz: f7a157dc317405b405a02a39b459e510e5a6cff2488f79abe261501c40cb6d1ed152034a49ddfd90cfb274cc8c8eb5962d043624a6d856354a63b34f8fefb3c6
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
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'kramdown-rfc2629'
3
- s.version = '1.6.5'
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',
@@ -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.compress(input)
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.compress(source, level=Zlib::DEFAULT_COMPRESSION, strategy=Zlib::DEFAULT_STRATEGY)
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.5
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-03-08 00:00:00.000000000 Z
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