kramdown-rfc2629 1.6.2 → 1.6.5
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/data/kramdown-rfc2629.erb +4 -0
- data/kramdown-rfc2629.gemspec +1 -1
- data/lib/kramdown-rfc/command.rb +5 -0
- data/lib/kramdown-rfc/refxml.rb +12 -0
- data/lib/kramdown-rfc2629.rb +17 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0115e72b1d82f546c2681cc3f25a9e473b976bd32f70cf5c922cf31345a24b3
|
4
|
+
data.tar.gz: 914787571e83ab08a6a355ca280fe4e85c79d00fd4c25446702edf824b39f968
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d07f0c3c4d96dd0dfb9833ec57dcf6b1221aee08d1df3d0819a8263e1f499a152661e8e2d0d6cf0cb40a16083f2ea8abd416849c500a6fad60c37722166ba18a
|
7
|
+
data.tar.gz: f7a157dc317405b405a02a39b459e510e5a6cff2488f79abe261501c40cb6d1ed152034a49ddfd90cfb274cc8c8eb5962d043624a6d856354a63b34f8fefb3c6
|
data/data/kramdown-rfc2629.erb
CHANGED
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.5'
|
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/command.rb
CHANGED
@@ -283,6 +283,8 @@ def xml_from_sections(input)
|
|
283
283
|
ref_replacements = { }
|
284
284
|
anchor_to_bibref = { }
|
285
285
|
|
286
|
+
displayref = {}
|
287
|
+
|
286
288
|
[:ref, :normative, :informative].each do |sn|
|
287
289
|
if refs = ps.has(sn)
|
288
290
|
warn "*** bad section #{sn}: #{refs.inspect}" unless refs.respond_to? :each
|
@@ -300,6 +302,9 @@ def xml_from_sections(input)
|
|
300
302
|
if bibref = v.delete("=")
|
301
303
|
anchor_to_bibref[k] = bibref
|
302
304
|
end
|
305
|
+
if dr = v.delete("display")
|
306
|
+
displayref[k] = dr
|
307
|
+
end
|
303
308
|
end
|
304
309
|
end
|
305
310
|
end
|
data/lib/kramdown-rfc/refxml.rb
CHANGED
@@ -93,6 +93,10 @@ module KramdownRFC
|
|
93
93
|
def self.handle_ins(aups, ins_k, initials_k, surname_k)
|
94
94
|
if ins = aups[ins_k]
|
95
95
|
parts = ins.split('.').map(&:strip) # split on dots first
|
96
|
+
if parts == []
|
97
|
+
warn "*** an empty '#{ins_k}:' value is not useful, try leaving it out"
|
98
|
+
return
|
99
|
+
end
|
96
100
|
# Coalesce H.-P.
|
97
101
|
i = 1; while i < parts.size
|
98
102
|
if parts[i][0] == "-"
|
@@ -115,6 +119,10 @@ module KramdownRFC
|
|
115
119
|
def self.handle_name(aups, fn_k, initials_k, surname_k)
|
116
120
|
if name = aups.rest[fn_k]
|
117
121
|
names = name.split(/ *\| */, 2) # boundary for given/last name
|
122
|
+
if names == []
|
123
|
+
warn "*** an empty '#{fn_k}:' value is not useful, try leaving it out"
|
124
|
+
return
|
125
|
+
end
|
118
126
|
if names[1]
|
119
127
|
aups.rest[fn_k] = name = names.join(" ") # remove boundary
|
120
128
|
if surname = aups.rest[surname_k]
|
@@ -125,6 +133,10 @@ module KramdownRFC
|
|
125
133
|
aups.rest[surname_k] = names[1]
|
126
134
|
end
|
127
135
|
parts = name.split
|
136
|
+
if parts == []
|
137
|
+
warn "*** a blank '#{fn_k}:' value is not useful, try leaving it out"
|
138
|
+
return
|
139
|
+
end
|
128
140
|
surname = aups.rest[surname_k] || parts[-1]
|
129
141
|
s = surname.split
|
130
142
|
aups.rest[initials_k] ||= initials_from_parts_and_surname(aups, parts, s)
|
data/lib/kramdown-rfc2629.rb
CHANGED
@@ -722,7 +722,12 @@ COLORS
|
|
722
722
|
attrstring = html_attributes({'slugifiedName' => sl})
|
723
723
|
end
|
724
724
|
# noabbrev: true -- Workaround for https://trac.ietf.org/trac/xml2rfc/ticket/683
|
725
|
-
|
725
|
+
nm = inner(el, indent, opts.merge(noabbrev: true))
|
726
|
+
if ttl = el.attr['title']
|
727
|
+
warn "*** Section has two titles: >>#{ttl}<< and >>#{nm}<<"
|
728
|
+
warn "*** Do you maybe have a loose IAL?"
|
729
|
+
end
|
730
|
+
irefs = "<name#{attrstring}>#{nm}</name>" #
|
726
731
|
else
|
727
732
|
clean, irefs = clean_pcdata(inner_a(el, indent, opts))
|
728
733
|
el.attr['title'] = clean
|
@@ -914,6 +919,17 @@ COLORS
|
|
914
919
|
gi = el.attr.delete('gi')
|
915
920
|
res = inner(el, indent, opts)
|
916
921
|
target = el.attr['target']
|
922
|
+
if target[0..1] == "{{"
|
923
|
+
# XXX ignoring all attributes and content
|
924
|
+
s = ::Kramdown::Converter::Rfc2629::process_markdown(target)
|
925
|
+
# if res != '' && s[-2..-1] == '/>'
|
926
|
+
# if s =~ /\A<([-A-Za-z0-9_.]+) /
|
927
|
+
# gi ||= $1
|
928
|
+
# end
|
929
|
+
# s[-2..-1] = ">#{res}</#{gi}>"
|
930
|
+
# end
|
931
|
+
return s
|
932
|
+
end
|
917
933
|
if target[0] == "#" # handle [](#foo) as xref as in RFC 7328
|
918
934
|
el.attr['target'] = target = target[1..-1]
|
919
935
|
if target.downcase == res.downcase
|
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.5
|
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-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
requirements: []
|
126
|
-
rubygems_version: 3.3.
|
126
|
+
rubygems_version: 3.3.7
|
127
127
|
signing_key:
|
128
128
|
specification_version: 4
|
129
129
|
summary: Kramdown extension for generating RFCXML (RFC 799x).
|