kramdown-rfc2629 1.6.9 → 1.6.10
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/doilit +12 -1
- data/bin/kramdown-rfc-autolink-iref-cleanup +8 -0
- data/kramdown-rfc2629.gemspec +5 -3
- data/lib/kramdown-rfc/autolink-iref-cleanup.rb +29 -0
- data/lib/kramdown-rfc/command.rb +13 -0
- metadata +5 -3
- data/bin/kramdown-rfc-autolink-iref-cleanup.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0011d934206208f849e93de498b4b423f5576d3c689c88ba1f68c4e9977d402e
|
4
|
+
data.tar.gz: f7aad173988f7fb96d53aba881ec7fef5338b2f358a765af289bd3dd1112ce0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 431a7f5f7ca19ad6a4ac9f2b4bd5d874c71b873c9456befea5846059c69eefb6ecc900fe06a75e3d50359af811e970292ac3f3f2d56d9798b4294891706b7b09
|
7
|
+
data.tar.gz: e7b15df29c4f805d16547650f751535cc0a47e710959f384b58bf9b8351b064d90775a64eff4285711607c9b10d93c05a98309e5bafcc158f7b8b947c0145e71
|
data/bin/doilit
CHANGED
@@ -12,6 +12,7 @@ require 'kramdown-rfc/refxml'
|
|
12
12
|
ACCEPT_CITE_JSON = {"Accept" => "application/citeproc+json"}
|
13
13
|
|
14
14
|
$verbose = false
|
15
|
+
$fuzzy = false
|
15
16
|
$handle = "a"
|
16
17
|
$xml = false
|
17
18
|
|
@@ -25,6 +26,9 @@ ARGV.each do |doi|
|
|
25
26
|
warn '*** please "gem install open-uri-cached" to enable caching'
|
26
27
|
end
|
27
28
|
next
|
29
|
+
when "-f"
|
30
|
+
$fuzzy = true
|
31
|
+
next
|
28
32
|
when "-v"
|
29
33
|
$verbose = true
|
30
34
|
next
|
@@ -36,7 +40,7 @@ ARGV.each do |doi|
|
|
36
40
|
$xml = true
|
37
41
|
next
|
38
42
|
when /\A-/
|
39
|
-
warn "*** Usage: doilit [-c] [-v] [-h=handle|-x=xmlhandle] doi..."
|
43
|
+
warn "*** Usage: doilit [-c] [-f] [-v] [-h=handle|-x=xmlhandle] doi..."
|
40
44
|
exit 1
|
41
45
|
end
|
42
46
|
cite = JSON.parse(URI("https://dx.doi.org/#{doi}").open(ACCEPT_CITE_JSON).read)
|
@@ -72,6 +76,13 @@ ARGV.each do |doi|
|
|
72
76
|
end
|
73
77
|
end
|
74
78
|
end
|
79
|
+
if !lit.key?("date") && $fuzzy && (iss = cite["created"])
|
80
|
+
if dp = iss["date-parts"]
|
81
|
+
if Integer === (dp = dp[0])[0]
|
82
|
+
lit["date"] = ["%04d" % dp[0], *dp[1..-1].map {|p| "%02d" % p}].join("-")
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
75
86
|
if (ct = cite["container-title"]) && ct != []
|
76
87
|
info = []
|
77
88
|
if v = cite["volume"]
|
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.10'
|
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,11 +8,13 @@ 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/kramdown-rfc-autolink-iref-cleanup
|
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 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',
|
15
|
-
'kramdown-rfc-cache-subseries-bibxml',
|
15
|
+
'kramdown-rfc-cache-subseries-bibxml',
|
16
|
+
'kramdown-rfc-autolink-iref-cleanup',
|
17
|
+
'de-gfm']
|
16
18
|
s.required_ruby_version = '>= 2.3.0'
|
17
19
|
# s.requirements = 'wget'
|
18
20
|
# s.has_rdoc = true
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rexml/document'
|
2
|
+
|
3
|
+
def autolink_iref_cleanup(d)
|
4
|
+
|
5
|
+
d.root.get_elements("//section[@anchor]").each do |sec|
|
6
|
+
anchor = sec['anchor']
|
7
|
+
irefs = {}
|
8
|
+
sec.get_elements(".//xref[@target='#{anchor}'][@format='none']").each do |xr|
|
9
|
+
ne = xr.next_element
|
10
|
+
if ne && ne.name == "iref" && (item = ne['item'])
|
11
|
+
irefs[item] = ne['subitem'] # XXX one subitem only
|
12
|
+
ne.remove
|
13
|
+
chi = xr.children
|
14
|
+
chi[1..-1].reverse.each do |ch|
|
15
|
+
xr.parent.insert_after(xr, ch)
|
16
|
+
end
|
17
|
+
xr.replace_with(chi[0])
|
18
|
+
end
|
19
|
+
end
|
20
|
+
irefs.each do |k, v|
|
21
|
+
sec.insert_after(sec.get_elements("name").first,
|
22
|
+
e = REXML::Element.new("iref", sec))
|
23
|
+
e.attributes["item"] = k
|
24
|
+
e.attributes["subitem"] = v
|
25
|
+
e.attributes["primary"] = 'true'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/lib/kramdown-rfc/command.rb
CHANGED
@@ -254,6 +254,10 @@ def xml_from_sections(input)
|
|
254
254
|
end
|
255
255
|
end
|
256
256
|
|
257
|
+
if o = ps[:'autolink-iref-cleanup']
|
258
|
+
$options.autolink_iref_cleanup = o
|
259
|
+
end
|
260
|
+
|
257
261
|
coding_override = ps.has(:coding)
|
258
262
|
smart_quotes = ps[:smart_quotes]
|
259
263
|
typographic_symbols = ps[:typographic_symbols]
|
@@ -570,6 +574,15 @@ if $options.v3_used && !$options.v3
|
|
570
574
|
$options.v3 = true
|
571
575
|
end
|
572
576
|
|
577
|
+
if $options.autolink_iref_cleanup
|
578
|
+
require 'rexml/document'
|
579
|
+
require 'kramdown-rfc/autolink-iref-cleanup'
|
580
|
+
|
581
|
+
d = REXML::Document.new(output)
|
582
|
+
autolink_iref_cleanup(d)
|
583
|
+
output = d.to_s
|
584
|
+
end
|
585
|
+
|
573
586
|
if coding_override
|
574
587
|
output = output.encode(Encoding.find(coding_override), fallback: FALLBACK)
|
575
588
|
end
|
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.10
|
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-05-
|
11
|
+
date: 2022-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -78,6 +78,7 @@ executables:
|
|
78
78
|
- kdrfc
|
79
79
|
- kramdown-rfc-cache-i-d-bibxml
|
80
80
|
- kramdown-rfc-cache-subseries-bibxml
|
81
|
+
- kramdown-rfc-autolink-iref-cleanup
|
81
82
|
- de-gfm
|
82
83
|
extensions: []
|
83
84
|
extra_rdoc_files: []
|
@@ -88,7 +89,7 @@ files:
|
|
88
89
|
- bin/doilit
|
89
90
|
- bin/kdrfc
|
90
91
|
- bin/kramdown-rfc
|
91
|
-
- bin/kramdown-rfc-autolink-iref-cleanup
|
92
|
+
- bin/kramdown-rfc-autolink-iref-cleanup
|
92
93
|
- bin/kramdown-rfc-cache-i-d-bibxml
|
93
94
|
- bin/kramdown-rfc-cache-subseries-bibxml
|
94
95
|
- bin/kramdown-rfc-extract-markdown
|
@@ -97,6 +98,7 @@ files:
|
|
97
98
|
- data/kramdown-rfc2629.erb
|
98
99
|
- data/math.json
|
99
100
|
- kramdown-rfc2629.gemspec
|
101
|
+
- lib/kramdown-rfc/autolink-iref-cleanup.rb
|
100
102
|
- lib/kramdown-rfc/command.rb
|
101
103
|
- lib/kramdown-rfc/erb.rb
|
102
104
|
- lib/kramdown-rfc/gzip-clone.rb
|
@@ -1,31 +0,0 @@
|
|
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
|