kramdown-rfc2629 1.7.33 → 1.7.34
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/kramdown-rfc2629.gemspec +1 -1
- data/lib/kramdown-rfc/command.rb +18 -3
- data/lib/kramdown-rfc/doi.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 578ba11fded96819876c37b58d2218984ea5e555d45b92b6f43eb9e0bf0db92e
|
|
4
|
+
data.tar.gz: 60005eb557bee97cf0ce1edfe00a64c976a6b2e8df999f9dc1a30ca6aa346bd9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6d1e37362972e50c000f548921a8e34d6eab1d54c81fabb1a563eee7218806593f8db5dbf74007ff2a2bd221f6249e57c853e83c5c8f9315301e82fd45b0fffb
|
|
7
|
+
data.tar.gz: 5ac5dc95f10144fbf805b644df0cef37b7bb3bbb15c1fa9ae75e0b5ec9bd437d8539a5e60d0885f7ead3b611d978aa4c54ac4662c996cf4b7d11c5783cb2e578
|
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.7.
|
|
3
|
+
s.version = '1.7.34'
|
|
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
|
@@ -18,9 +18,18 @@ def add_quote(s)
|
|
|
18
18
|
l.map {|li| "> #{li}"}.join
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
def
|
|
21
|
+
def process_xml(s)
|
|
22
|
+
d = REXML::Document.new(s) # XXX add some better error handling
|
|
23
|
+
d.xml_decl.nowrite
|
|
24
|
+
d.delete d.doctype
|
|
25
|
+
d.to_s
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def process_chunk(s, nested, dedent, fold, quote, xml, data)
|
|
22
29
|
process_includes(s) if nested
|
|
23
30
|
s = remove_indentation(s) if dedent
|
|
31
|
+
s = process_xml(s) if xml
|
|
32
|
+
s = %{src="data:application/octet-stream;base64,#{[s].pack('m0')}"} if data
|
|
24
33
|
s = fold8792_1(s, *fold) if fold
|
|
25
34
|
s = add_quote(s) if quote
|
|
26
35
|
s
|
|
@@ -35,6 +44,8 @@ def process_includes(input)
|
|
|
35
44
|
dedent = false
|
|
36
45
|
fold = false
|
|
37
46
|
quote = false
|
|
47
|
+
xml = false
|
|
48
|
+
data = false
|
|
38
49
|
include_flags.split("-") do |flag|
|
|
39
50
|
case flag
|
|
40
51
|
when ""
|
|
@@ -44,6 +55,10 @@ def process_includes(input)
|
|
|
44
55
|
quote = true
|
|
45
56
|
when "dedent"
|
|
46
57
|
dedent = true
|
|
58
|
+
when "xml"
|
|
59
|
+
xml = true
|
|
60
|
+
when "data"
|
|
61
|
+
data = true
|
|
47
62
|
when /\Afold(\d*)(left(\d*))?(dry)?\z/
|
|
48
63
|
fold = [$1.to_i, # col 0 for ''
|
|
49
64
|
($3.to_i if $2), # left 0 for '', nil if no "left"
|
|
@@ -52,7 +67,7 @@ def process_includes(input)
|
|
|
52
67
|
fn = fn.flat_map{|n| Dir[n]}
|
|
53
68
|
fn = [fn.last] if flag == "last"
|
|
54
69
|
chunks = fn.map{ |f|
|
|
55
|
-
ret = process_chunk(File.read(f), nested, dedent, fold, quote)
|
|
70
|
+
ret = process_chunk(File.read(f), nested, dedent, fold, quote, xml, data)
|
|
56
71
|
nested = false; dedent = false; fold = false; quote = false
|
|
57
72
|
ret
|
|
58
73
|
}
|
|
@@ -61,7 +76,7 @@ def process_includes(input)
|
|
|
61
76
|
end
|
|
62
77
|
end
|
|
63
78
|
chunks = fn.map{|f| File.read(f)} unless chunks # no all/last
|
|
64
|
-
chunks = chunks.map {|ch| process_chunk(ch, nested, dedent, fold, quote)}
|
|
79
|
+
chunks = chunks.map {|ch| process_chunk(ch, nested, dedent, fold, quote, xml, data)}
|
|
65
80
|
chunks.join.chomp
|
|
66
81
|
}
|
|
67
82
|
end
|
data/lib/kramdown-rfc/doi.rb
CHANGED