kramdown-rfc2629 1.6.19 → 1.6.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/kramdown-rfc2629.gemspec +1 -1
- data/lib/kramdown-rfc/doi.rb +3 -1
- data/lib/kramdown-rfc2629.rb +25 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c26f93c43853de6883440e6a3214201def29879da0945a42681749ffe545c1e
|
4
|
+
data.tar.gz: fce8091ebcdfe69d9d96e12bca694ef8e1f66fab43ccbb6f7aeabf4f5be298f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1536eaeae7bcbd548fea24c97e5a49c5482531c0ec929f410af5dda419fa4f13ed8d92cc71e2132dd931351cde97faf36d9a3ec5a57539d3c334ed4df7228d3
|
7
|
+
data.tar.gz: 5370b01327233a3f027673939f2e7e15f166bc27a81c48d3f8d82976af85b3c9c2cd219fe1c3281d364f21faf33b50f467efc18136b0cdc697739f7b82baa8c3
|
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.21'
|
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.}
|
data/lib/kramdown-rfc/doi.rb
CHANGED
@@ -5,7 +5,9 @@ require 'yaml'
|
|
5
5
|
ACCEPT_CITE_JSON = {"Accept" => "application/citeproc+json"}
|
6
6
|
|
7
7
|
def doi_fetch_and_convert(doi, fuzzy: false, verbose: false)
|
8
|
-
|
8
|
+
doipath = doi.sub(/^([0-9.]+)_/) {"#$1/"} # convert initial _ back to /
|
9
|
+
# warn "** SUB #{doi} #{doipath}" if doi != doipath
|
10
|
+
cite = JSON.parse(URI("https://dx.doi.org/#{doipath}").open(ACCEPT_CITE_JSON).read)
|
9
11
|
puts cite.to_yaml if verbose
|
10
12
|
lit = {}
|
11
13
|
ser = lit["seriesinfo"] = {}
|
data/lib/kramdown-rfc2629.rb
CHANGED
@@ -714,6 +714,20 @@ COLORS
|
|
714
714
|
[clean, irefs]
|
715
715
|
end
|
716
716
|
|
717
|
+
def clean_pcdatav3(parts) # hack, will become unnecessary with v3 tables
|
718
|
+
clean = ''
|
719
|
+
parts.each do |p|
|
720
|
+
next if p.empty?
|
721
|
+
d = REXML::Document.new("<foo>#{p}</foo>")
|
722
|
+
t = REXML::XPath.each(d.root, "//text()").to_a.join
|
723
|
+
if t != p
|
724
|
+
warn "** simplified markup #{p.inspect} into #{t.inspect} in table heading"
|
725
|
+
end
|
726
|
+
clean << t
|
727
|
+
end
|
728
|
+
clean
|
729
|
+
end
|
730
|
+
|
717
731
|
def convert_header(el, indent, opts)
|
718
732
|
# todo: handle appendix tags
|
719
733
|
el = el.deep_clone
|
@@ -892,8 +906,13 @@ COLORS
|
|
892
906
|
end
|
893
907
|
end
|
894
908
|
if alignment
|
895
|
-
|
896
|
-
|
909
|
+
xmlres = inner_a(el, indent, opts)
|
910
|
+
if $options.v3
|
911
|
+
res = clean_pcdatav3(xmlres)
|
912
|
+
else
|
913
|
+
res, irefs = clean_pcdata(xmlres)
|
914
|
+
warn "*** lost markup #{irefs} in table heading" unless irefs.empty?
|
915
|
+
end
|
897
916
|
"#{' '*indent}<ttcol #{widthopt}align='#{alignment}'#{el_html_attributes(el)}>#{res.empty? ? " " : res}</ttcol>\n" # XXX need clean_pcdata
|
898
917
|
else
|
899
918
|
res = inner(el, indent, opts)
|
@@ -1124,6 +1143,7 @@ COLORS
|
|
1124
1143
|
KRAMDOWN_REFCACHETTL = (e = ENV["KRAMDOWN_REFCACHETTL"]) ? e.to_i : 3600
|
1125
1144
|
|
1126
1145
|
KRAMDOWN_NO_TARGETS = ENV['KRAMDOWN_NO_TARGETS']
|
1146
|
+
KRAMDOWN_KEEP_TARGETS = ENV['KRAMDOWN_KEEP_TARGETS']
|
1127
1147
|
|
1128
1148
|
def convert_img(el, indent, opts) # misuse the tag!
|
1129
1149
|
if a = el.attr
|
@@ -1167,7 +1187,7 @@ COLORS
|
|
1167
1187
|
d.delete d.doctype
|
1168
1188
|
d.root.attributes["anchor"] = anchor
|
1169
1189
|
if t == "RFC" or t == "I-D"
|
1170
|
-
if KRAMDOWN_NO_TARGETS
|
1190
|
+
if KRAMDOWN_NO_TARGETS || !KRAMDOWN_KEEP_TARGETS
|
1171
1191
|
d.root.attributes["target"] = nil
|
1172
1192
|
REXML::XPath.each(d.root, "/reference/format") { |x|
|
1173
1193
|
d.root.delete_element(x)
|
@@ -1390,9 +1410,9 @@ COLORS
|
|
1390
1410
|
end
|
1391
1411
|
iref ||= "<iref#{html_attributes(item: item, subitem: subitem)}/>"
|
1392
1412
|
if target
|
1393
|
-
"<xref#{html_attributes(target: target, format: "none")}>#{value}</xref
|
1413
|
+
"#{iref}<xref#{html_attributes(target: target, format: "none")}>#{value}</xref>"
|
1394
1414
|
else
|
1395
|
-
"#{
|
1415
|
+
"#{iref}#{value}"
|
1396
1416
|
end
|
1397
1417
|
end
|
1398
1418
|
|
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.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|