kramdown-rfc2629 1.6.27 → 1.6.28
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-clean-svg-ids +48 -0
- data/kramdown-rfc2629.gemspec +4 -3
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 172e0d4fcfbb65449f29ffa7ca743ecf090a031638feaa355d8d5f7df10eca28
|
4
|
+
data.tar.gz: 335e0852a920a3e9f3a8b5319a0328bcb49216a2bc6ba9dd1ce8c5e515759587
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 446b0fb243297a7eff9231b43615ee06b389f9a7ab571f5699cf2527e4d062ed116caf5e9924c3a4fa842e2bfae82d47c2e9be68886c9be7005fbc23944cf326
|
7
|
+
data.tar.gz: 14679cac5457fa6238a408e0547e27ce84d611af5d503db23aed52c76df1ef574f873cd13b467393e5e57111460c283f216c8b00c248c458b4b606e9d7455631
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
require 'rexml/document'
|
5
|
+
|
6
|
+
SVG_NAMESPACES = {"svg"=>"http://www.w3.org/2000/svg",
|
7
|
+
"xlink"=>"http://www.w3.org/1999/xlink"}
|
8
|
+
|
9
|
+
def svg_clean_ids(s)
|
10
|
+
d = REXML::Document.new(s)
|
11
|
+
d.context[:attribute_quote] = :quote # <-- Set double-quote as the attribute value delimiter
|
12
|
+
gensym = "gensym000"
|
13
|
+
REXML::XPath.each(d.root, "//svg:svg", SVG_NAMESPACES) do |x|
|
14
|
+
gensym = gensym.succ
|
15
|
+
# warn "*** SVG"
|
16
|
+
# warn "*** SVG: #{x.to_s.size}"
|
17
|
+
found_as_id = Set[]
|
18
|
+
found_as_href = Set[]
|
19
|
+
REXML::XPath.each(x, ".//*[@id]", SVG_NAMESPACES) do |y|
|
20
|
+
# warn "*** ID: #{y}"
|
21
|
+
name = y.attributes["id"]
|
22
|
+
if found_as_id === name
|
23
|
+
warn "*** duplicate ID #{name}"
|
24
|
+
end
|
25
|
+
found_as_id.add(name)
|
26
|
+
y.attributes["id"] = "#{name}-#{gensym}"
|
27
|
+
end
|
28
|
+
REXML::XPath.each(x, ".//*[@xlink:href]", SVG_NAMESPACES) do |y|
|
29
|
+
# warn "*** HREF: #{y}"
|
30
|
+
name = y.attributes["href"]
|
31
|
+
name1 = name[1..-1]
|
32
|
+
if !found_as_id === name1
|
33
|
+
warn "*** unknown HREF #{name}"
|
34
|
+
end
|
35
|
+
found_as_href.add(name1)
|
36
|
+
y.attributes["xlink:href"] = "#{name}-#{gensym}"
|
37
|
+
end
|
38
|
+
found_as_id -= found_as_href
|
39
|
+
warn "*** warning: unused ID: #{found_as_id}" unless found_as_id.empty?
|
40
|
+
end
|
41
|
+
d.to_s
|
42
|
+
rescue => detail
|
43
|
+
warn "*** Can't clean SVG: #{detail}"
|
44
|
+
d
|
45
|
+
end
|
46
|
+
|
47
|
+
c = svg_clean_ids(ARGF.read)
|
48
|
+
puts c.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.28'
|
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.}
|
@@ -13,14 +13,15 @@ spec = Gem::Specification.new do |s|
|
|
13
13
|
s.add_dependency('unicode-scripts', '~> 1.0')
|
14
14
|
s.add_dependency('net-http-persistent', '~> 4.0')
|
15
15
|
s.add_dependency('differ', '~>0.1')
|
16
|
-
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/echars 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)
|
16
|
+
s.files = Dir['lib/**/*.rb'] + %w(README.md LICENSE kramdown-rfc2629.gemspec bin/kdrfc bin/kramdown-rfc bin/kramdown-rfc2629 bin/doilit bin/echars 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 bin/kramdown-rfc-clean-svg-ids)
|
17
17
|
s.require_path = 'lib'
|
18
18
|
s.executables = ['kramdown-rfc', 'kramdown-rfc2629', 'doilit', 'echars',
|
19
19
|
'kramdown-rfc-extract-markdown',
|
20
20
|
'kdrfc', 'kramdown-rfc-cache-i-d-bibxml',
|
21
21
|
'kramdown-rfc-cache-subseries-bibxml',
|
22
22
|
'kramdown-rfc-autolink-iref-cleanup',
|
23
|
-
'de-gfm'
|
23
|
+
'de-gfm',
|
24
|
+
'kramdown-rfc-clean-svg-ids']
|
24
25
|
s.required_ruby_version = '>= 2.3.0'
|
25
26
|
# s.requirements = 'wget'
|
26
27
|
# s.has_rdoc = true
|
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.28
|
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-
|
11
|
+
date: 2023-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kramdown
|
@@ -151,6 +151,7 @@ executables:
|
|
151
151
|
- kramdown-rfc-cache-subseries-bibxml
|
152
152
|
- kramdown-rfc-autolink-iref-cleanup
|
153
153
|
- de-gfm
|
154
|
+
- kramdown-rfc-clean-svg-ids
|
154
155
|
extensions: []
|
155
156
|
extra_rdoc_files: []
|
156
157
|
files:
|
@@ -164,6 +165,7 @@ files:
|
|
164
165
|
- bin/kramdown-rfc-autolink-iref-cleanup
|
165
166
|
- bin/kramdown-rfc-cache-i-d-bibxml
|
166
167
|
- bin/kramdown-rfc-cache-subseries-bibxml
|
168
|
+
- bin/kramdown-rfc-clean-svg-ids
|
167
169
|
- bin/kramdown-rfc-extract-markdown
|
168
170
|
- bin/kramdown-rfc2629
|
169
171
|
- data/encoding-fallbacks.txt
|