kramdown-rfc2629 1.0.1 → 1.0.2
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-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']
|