kramdown-rfc2629 1.0.1 → 1.0.2
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-rfc2629.rb +12 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5b374a652c01bf5be8224ac29dce91b88ddabc2
|
4
|
+
data.tar.gz: ff8e2f02be3c2fa0c1940f47fb6a8620fbb8cc96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 465d42ddd5285fc636fa62bebb664b72557c8679cacfc4bcb6147a3f358e6d0dd53ebb20124aa2870348d149a6e05ac483c67e34173055f3e66525bd85b3ca25
|
7
|
+
data.tar.gz: 44bfd7348d0526f757447b6cab6a08df540215d8a4f92bdc3ca861654b705182a0ea0e7543a5e67d634e35e8e016d1b1beac22cfc76ed254e986af02b7930bf6
|
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.0.
|
3
|
+
s.version = '1.0.2'
|
4
4
|
s.summary = "Kramdown extension for generating RFC 2629 XML."
|
5
5
|
s.description = %{An RFC2629 (XML2RFC) generating backend for Thomas Leitner's
|
6
6
|
"kramdown" markdown parser. Mostly useful for RFC writers.}
|
data/lib/kramdown-rfc2629.rb
CHANGED
@@ -134,10 +134,6 @@ module Kramdown
|
|
134
134
|
def convert_codeblock(el, indent, opts)
|
135
135
|
el.attr['anchor'] ||= saner_generate_id(el.value)
|
136
136
|
result = el.value
|
137
|
-
# compensate for XML2RFC idiosyncracy by insisting on a blank line
|
138
|
-
unless el.attr.delete('tight')
|
139
|
-
result[0,0] = "\n" unless result[0,1] == "\n"
|
140
|
-
end
|
141
137
|
blockclass = el.attr.delete('class')
|
142
138
|
if blockclass == 'language-tbreak'
|
143
139
|
result = result.lines.map {|line| [line.chomp, 0]}
|
@@ -145,19 +141,24 @@ module Kramdown
|
|
145
141
|
result.each_with_index {|pair, index|
|
146
142
|
if pair[0] == ''
|
147
143
|
result[spaceind][1] += 1
|
144
|
+
pair[0] = nil unless index == spaceind
|
148
145
|
else
|
149
146
|
spaceind = index
|
150
147
|
end
|
151
148
|
}
|
152
|
-
$stderr.puts(result.inspect)
|
149
|
+
# $stderr.puts(result.inspect)
|
153
150
|
result = result.map {|line, space|
|
154
|
-
"<![CDATA[#{line.gsub(/^\s+/) {|s| "\u00A0" * s.size}}]]><vspace blankLines=\"#{space}\"/>"
|
155
|
-
}.join("\n")
|
151
|
+
"<![CDATA[#{line.gsub(/^\s+/) {|s| "\u00A0" * s.size}}]]><vspace blankLines=\"#{space}\"/>" if line
|
152
|
+
}.compact.join("\n")
|
156
153
|
"#{' '*indent}<t>#{result}</t>\n"
|
157
154
|
else
|
158
155
|
if blockclass
|
159
156
|
$stderr.puts "*** Unimplemented block class: #{blockclass}"
|
160
157
|
end
|
158
|
+
# compensate for XML2RFC idiosyncracy by insisting on a blank line
|
159
|
+
unless el.attr.delete('tight')
|
160
|
+
result[0,0] = "\n" unless result[0,1] == "\n"
|
161
|
+
end
|
161
162
|
"#{' '*indent}<figure#{el_html_attributes(el)}><artwork><![CDATA[#{result}#{result =~ /\n\Z/ ? '' : "\n"}]]></artwork></figure>\n"
|
162
163
|
end
|
163
164
|
end
|
@@ -198,6 +199,7 @@ module Kramdown
|
|
198
199
|
|
199
200
|
def convert_ul(el, indent, opts)
|
200
201
|
style = STYLES[el.type]
|
202
|
+
opts = opts.merge(vspace: el.attr.delete('vspace'))
|
201
203
|
if opts[:unpacked]
|
202
204
|
"#{' '*indent}<list style='#{style}'#{el_html_attributes(el)}>\n#{inner(el, indent, opts)}#{' '*indent}</list>\n"
|
203
205
|
else
|
@@ -239,7 +241,9 @@ module Kramdown
|
|
239
241
|
def convert_dt(el, indent, opts) # SERIOUSLY BAD HACK:
|
240
242
|
close = "#{' '*indent}</t>\n" * @in_dt
|
241
243
|
@in_dt = 1
|
242
|
-
|
244
|
+
vspace = opts[:vspace]
|
245
|
+
vspaceel = "<vspace blankLines='#{vspace}'/>" if vspace
|
246
|
+
"#{close}#{' '*indent}<t#{el_html_attributes(el)} hangText='#{inner(el, indent, opts)}'>#{vspaceel}\n"
|
243
247
|
end
|
244
248
|
|
245
249
|
HTML_TAGS_WITH_BODY=['div', 'script']
|