kramdown 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of kramdown might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/CONTRIBUTERS +5 -2
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/data/kramdown/document.latex +5 -0
- data/doc/{design.scss.css → _design.scss} +0 -0
- data/doc/{default.scss.css → default.scss} +6 -2
- data/doc/quickref.page +2 -1
- data/doc/sidebar.template +8 -2
- data/doc/syntax.page +6 -7
- data/lib/kramdown/converter/html.rb +22 -7
- data/lib/kramdown/converter/latex.rb +10 -4
- data/lib/kramdown/parser/kramdown.rb +1 -1
- data/lib/kramdown/parser/kramdown/emphasis.rb +2 -2
- data/lib/kramdown/parser/kramdown/footnote.rb +4 -11
- data/lib/kramdown/parser/kramdown/smart_quotes.rb +1 -0
- data/lib/kramdown/version.rb +1 -1
- data/test/test_files.rb +9 -7
- data/test/testcases/block/12_extension/options.html +1 -1
- data/test/testcases/block/12_extension/options2.html +1 -1
- data/test/testcases/block/16_toc/toc_with_footnotes.html +1 -1
- data/test/testcases/span/02_emphasis/nesting.html +3 -0
- data/test/testcases/span/02_emphasis/nesting.text +4 -1
- data/test/testcases/span/04_footnote/footnote_nr.html +2 -2
- data/test/testcases/span/04_footnote/markers.html +3 -3
- data/test/testcases/span/04_footnote/markers.latex +1 -1
- data/test/testcases/span/04_footnote/markers.text +1 -1
- data/test/testcases/span/abbreviations/abbrev.html +1 -1
- data/test/testcases/span/abbreviations/abbrev.text +2 -2
- data/test/testcases/span/text_substitutions/typography.html +12 -0
- data/test/testcases/span/text_substitutions/typography.text +12 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Yjk2ODI4N2MxZmExMmZjNzEzNzk3OThjNjFjYzA5NTQ4NmY0NjEwNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTgwZjE3MDQ5NmE3OGEwYTdkMmFkOTdjMTFhMWZkYTczNDg2M2FkYg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZmIzYWNkYzE2Mjg1MGNkM2E3MjM0YTNiMWI5Y2VkZmM2ZDdiNzJjNjdjMjU1
|
10
|
+
MjlhNmFlNjRiODM0MjE4ODBmMzA5YjFjOTM4ZTdkOWViZTcxMTE3ZjUzNThk
|
11
|
+
ZmMzZjRhOTlkMDM5NTY2NTNkMmEwNDhkY2RiZGUwNjQxOTRlMDU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjI5NjUxZDZhOWRhZTA2MGEzOWUyZDg4NGI0OTZmZGU5M2RiM2U0ZTgwZGNi
|
14
|
+
ZDRkMzk4NWE0ZGU2ZTI5YjBhNzBjNDA3NWQ0ZjZjM2Y2NDBhNWYwODk0ZWZj
|
15
|
+
NDY5N2ZmYWI2ZTVlZWI1YTQ1NWQyNzU0N2JhODZmMWUyZGQxNjE=
|
data/CONTRIBUTERS
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
Count Name
|
2
2
|
======= ====
|
3
|
-
|
3
|
+
592 Thomas Leitner <t_leitner@gmx.at>
|
4
4
|
6 Gioele Barabucci <gioele@svario.it>
|
5
|
+
4 Ted Pak <powerpak006@gmail.com>
|
5
6
|
3 gettalong <t_leitner@gmx.at>
|
6
7
|
3 Ben Armston <ben.armston@googlemail.com>
|
7
8
|
3 Alex Marandon <contact@alexmarandon.com>
|
9
|
+
2 Henning Perl <perl@fast-sicher.de>
|
8
10
|
2 Bran <m.versum@gmail.com>
|
11
|
+
1 Trevor Wennblom <trevor@well.com>
|
9
12
|
1 tomykaira <tomykaira@gmail.com>
|
13
|
+
1 Tim Besard <tim.besard@gmail.com>
|
10
14
|
1 Tim Bates <tim@rumpuslabs.com>
|
11
15
|
1 Postmodern <postmodern.mod3@gmail.com>
|
12
16
|
1 myqlarson <myqlarson@gmail.com>
|
@@ -14,6 +18,5 @@
|
|
14
18
|
1 Marcus Stollsteimer <sto.mar@web.de>
|
15
19
|
1 John Croisant <jacius@gmail.com>
|
16
20
|
1 Joe Fiorini <joe@faithfulgeek.org>
|
17
|
-
1 Henning Perl <perl@fast-sicher.de>
|
18
21
|
1 Damien Pollet <damien.pollet@gmail.com>
|
19
22
|
1 Alex Tomlins <alex.tomlins@digital.cabinet-office.gov.uk>
|
data/Rakefile
CHANGED
@@ -218,7 +218,7 @@ EOF
|
|
218
218
|
rf.configure
|
219
219
|
rf.login
|
220
220
|
|
221
|
-
rf.userconfig["release_notes"] = REL_PAGE.blocks['content'].content.force_encoding(
|
221
|
+
rf.userconfig["release_notes"] = REL_PAGE.blocks['content'].content.force_encoding("BINARY")
|
222
222
|
rf.userconfig["preformatted"] = false
|
223
223
|
|
224
224
|
files = %w[.gem .tgz .zip].collect {|ext| "pkg/kramdown-#{Kramdown::VERSION}" + ext}
|
@@ -237,9 +237,9 @@ EOF
|
|
237
237
|
rf.configure
|
238
238
|
rf.login
|
239
239
|
|
240
|
-
content = REL_PAGE.blocks['content']
|
240
|
+
content = REL_PAGE.blocks['content']
|
241
241
|
content += "\n\n\nAbout kramdown\n\n#{SUMMARY}\n\n#{DESCRIPTION}"
|
242
|
-
rf.post_news('kramdown', "kramdown #{Kramdown::VERSION} released", content)
|
242
|
+
rf.post_news('kramdown', "kramdown #{Kramdown::VERSION} released", content).force_encoding("BINARY")
|
243
243
|
puts "done"
|
244
244
|
end
|
245
245
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
@@ -36,6 +36,11 @@ encmap = {
|
|
36
36
|
\VerbatimFootnotes
|
37
37
|
<% end %>
|
38
38
|
|
39
|
+
<% if @converter.data[:packages].include?('acronym') %>
|
40
|
+
<% @converter.root.options[:abbrev_defs].each_pair do |k,v| %>\acrodef{<%= @converter.normalize_abbreviation_key(k) %>}[<%= k %>]{<%= @converter.escape(v) %>}
|
41
|
+
<% end %>
|
42
|
+
<% end %>
|
43
|
+
|
39
44
|
\hypersetup{colorlinks=true,urlcolor=blue}
|
40
45
|
|
41
46
|
\begin{document}
|
File without changes
|
@@ -1,4 +1,8 @@
|
|
1
|
-
@import
|
1
|
+
@import 'design';
|
2
|
+
|
3
|
+
a:hover {
|
4
|
+
background-color: rgba(0,0,0,0.1);
|
5
|
+
}
|
2
6
|
|
3
7
|
aside.banner {
|
4
8
|
font-size: 18px;
|
@@ -8,7 +12,7 @@ aside.banner {
|
|
8
12
|
aside a {
|
9
13
|
text-decoration: none;
|
10
14
|
|
11
|
-
&:hover {
|
15
|
+
&:hover, &:link {
|
12
16
|
text-decoration: underline;
|
13
17
|
}
|
14
18
|
|
data/doc/quickref.page
CHANGED
@@ -555,7 +555,8 @@ footnote[^2].
|
|
555
555
|
{kdexample}
|
556
556
|
|
557
557
|
As can be seen above the footnote name is only used for the anchors and the numbering is done
|
558
|
-
automatically in document order.
|
558
|
+
automatically in document order. Repeated footnote markers will link to the same footnote
|
559
|
+
definition.
|
559
560
|
|
560
561
|
|
561
562
|
## Abbreviations
|
data/doc/sidebar.template
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<h2>News</h2>
|
2
2
|
|
3
|
-
<p>The latest version of kramdown is <span class="inline-important">1.0
|
4
|
-
on <span class="inline-important">2013-
|
3
|
+
<p>The latest version of kramdown is <span class="inline-important">1.1.0</span> and it was released
|
4
|
+
on <span class="inline-important">2013-07-02</span></p>
|
5
5
|
|
6
6
|
<p>More <a href="{relocatable: news.html}">news</a>…</p>
|
7
7
|
|
@@ -19,3 +19,9 @@ donation (PayPal or Pledgie) -- it will surely be appreciated! Thanks!</p>
|
|
19
19
|
</form>
|
20
20
|
|
21
21
|
<a href='http://www.pledgie.com/campaigns/16657'><img alt='Click here to lend your support to: kramdown and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/16657.png?skin_name=chrome' border='0' /></a>
|
22
|
+
|
23
|
+
<h2>Sponsors</h2>
|
24
|
+
|
25
|
+
<p>GROSSWEBER provides <a href="http://grossweber.com/b/kramdown" target="_blank">software
|
26
|
+
development consulting and training services</a>. <em>We like to work on open source. We use it heavily.
|
27
|
+
We love kramdown!</em></p>
|
data/doc/syntax.page
CHANGED
@@ -1354,13 +1354,12 @@ optionally followed by other word characters, digits or dashes. For example:
|
|
1354
1354
|
|
1355
1355
|
This is some text.[^1]. Other text.[^footnote].
|
1356
1356
|
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1361
|
-
|
1362
|
-
|
1363
|
-
IAL are ignored for a footnote marker!
|
1357
|
+
Footnote markers with the same name will link to the same footnote definition. The actual naming of
|
1358
|
+
a footnote does not matter since the numbering of footnotes is controlled via the position of the
|
1359
|
+
footnote markers in the document (the first found footnote marker will get the number 1, the second
|
1360
|
+
new footnote marker the number 2 and so on). If there is a footnote definition found for the
|
1361
|
+
identifier, a footnote will be created. Otherwise the footnote marker is not converted to a footnote
|
1362
|
+
link. Also note that all attributes set via a span IAL are ignored for a footnote marker!
|
1364
1363
|
|
1365
1364
|
A footnote definition is used to define the content of a footnote and has the following structure:
|
1366
1365
|
|
@@ -48,6 +48,7 @@ module Kramdown
|
|
48
48
|
super
|
49
49
|
@footnote_counter = @footnote_start = @options[:footnote_nr]
|
50
50
|
@footnotes = []
|
51
|
+
@footnotes_by_name = {}
|
51
52
|
@toc = []
|
52
53
|
@toc_code = nil
|
53
54
|
@indent = 2
|
@@ -264,10 +265,17 @@ module Kramdown
|
|
264
265
|
end
|
265
266
|
|
266
267
|
def convert_footnote(el, indent)
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
268
|
+
repeat = ''
|
269
|
+
if (footnote = @footnotes_by_name[el.options[:name]])
|
270
|
+
number = footnote[2]
|
271
|
+
repeat = ":#{footnote[3] += 1}"
|
272
|
+
else
|
273
|
+
number = @footnote_counter
|
274
|
+
@footnote_counter += 1
|
275
|
+
@footnotes << [el.options[:name], el.value, number, 0]
|
276
|
+
@footnotes_by_name[el.options[:name]] = @footnotes.last
|
277
|
+
end
|
278
|
+
"<sup id=\"fnref:#{el.options[:name]}#{repeat}\"><a href=\"#fn:#{el.options[:name]}\" class=\"footnote\">#{number}</a></sup>"
|
271
279
|
end
|
272
280
|
|
273
281
|
def convert_raw(el, indent)
|
@@ -405,22 +413,29 @@ module Kramdown
|
|
405
413
|
result
|
406
414
|
end
|
407
415
|
|
416
|
+
FOOTNOTE_BACKLINK_FMT = "%s<a href=\"#fnref:%s\" class=\"reversefootnote\">%s</a>"
|
417
|
+
|
408
418
|
# Return a HTML ordered list with the footnote content for the used footnotes.
|
409
419
|
def footnote_content
|
410
420
|
ol = Element.new(:ol)
|
411
421
|
ol.attr['start'] = @footnote_start if @footnote_start != 1
|
412
|
-
@footnotes.each do |name, data|
|
422
|
+
@footnotes.each do |name, data, _, repeat|
|
413
423
|
li = Element.new(:li, nil, {'id' => "fn:#{name}"})
|
414
424
|
li.children = Marshal.load(Marshal.dump(data.children))
|
415
425
|
ol.children << li
|
416
426
|
|
417
|
-
ref = Element.new(:raw, "<a href=\"#fnref:#{name}\" class=\"reversefootnote\">↩</a>")
|
418
427
|
if li.children.last.type == :p
|
419
428
|
para = li.children.last
|
429
|
+
insert_space = true
|
420
430
|
else
|
421
431
|
li.children << (para = Element.new(:p))
|
432
|
+
insert_space = false
|
433
|
+
end
|
434
|
+
|
435
|
+
para.children << Element.new(:raw, FOOTNOTE_BACKLINK_FMT % [insert_space ? ' ' : '', name, "↩"])
|
436
|
+
(1..repeat).each do |index|
|
437
|
+
para.children << Element.new(:raw, FOOTNOTE_BACKLINK_FMT % [" ", "#{name}:#{index}", "↩<sup>#{index+1}</sup>"])
|
422
438
|
end
|
423
|
-
para.children << ref
|
424
439
|
end
|
425
440
|
(ol.children.empty? ? '' : format_as_indented_block_html('div', {:class => "footnotes"}, convert(ol, 2), 0))
|
426
441
|
end
|
@@ -145,10 +145,10 @@ module Kramdown
|
|
145
145
|
end
|
146
146
|
|
147
147
|
def convert_html_element(el, opts)
|
148
|
-
if el.value == 'i'
|
149
|
-
"\\emph{#{inner(el, opts)}}"
|
150
|
-
elsif el.value == 'b'
|
148
|
+
if el.value == 'i' || el.value == 'em'
|
151
149
|
"\\emph{#{inner(el, opts)}}"
|
150
|
+
elsif el.value == 'b' || el.value == 'strong'
|
151
|
+
"\\textbf{#{inner(el, opts)}}"
|
152
152
|
else
|
153
153
|
warning("Can't convert HTML element")
|
154
154
|
''
|
@@ -545,7 +545,13 @@ module Kramdown
|
|
545
545
|
end
|
546
546
|
|
547
547
|
def convert_abbreviation(el, opts)
|
548
|
-
|
548
|
+
@data[:packages] += %w[acronym]
|
549
|
+
"\\ac{#{normalize_abbreviation_key(el.value)}}"
|
550
|
+
end
|
551
|
+
|
552
|
+
# Normalize the abbreviation key so that it only contains allowed ASCII character
|
553
|
+
def normalize_abbreviation_key(key)
|
554
|
+
key.gsub(/\W/) {|m| m.unpack('H*').first}
|
549
555
|
end
|
550
556
|
|
551
557
|
# Wrap the +text+ inside a LaTeX environment of type +type+. The element +el+ is passed on to
|
@@ -89,7 +89,7 @@ module Kramdown
|
|
89
89
|
parse_blocks(@root, adapt_source(source))
|
90
90
|
update_tree(@root)
|
91
91
|
replace_abbreviations(@root)
|
92
|
-
@footnotes.each {|name,data| update_tree(data[:marker].value) if data[:marker]}
|
92
|
+
@footnotes.each {|name,data| update_tree(data[:marker].last.value) if data[:marker]}
|
93
93
|
end
|
94
94
|
|
95
95
|
#######
|
@@ -20,7 +20,7 @@ module Kramdown
|
|
20
20
|
type = result[0..0]
|
21
21
|
reset_pos = @src.pos
|
22
22
|
|
23
|
-
if (type == '_' && @src.pre_match =~ /[[:
|
23
|
+
if (type == '_' && @src.pre_match =~ /[[:alnum:]]\z/ && @src.check(/[[:alnum:]]/)) || @src.check(/\s/) ||
|
24
24
|
@tree.type == element || @stack.any? {|el, _| el.type == element}
|
25
25
|
add_text(result)
|
26
26
|
return
|
@@ -32,7 +32,7 @@ module Kramdown
|
|
32
32
|
found = parse_spans(el, stop_re) do
|
33
33
|
(@src.pre_match[-1, 1] !~ /\s/) &&
|
34
34
|
(elem != :em || !@src.match?(/#{Regexp.escape(delim*2)}(?!#{Regexp.escape(delim)})/)) &&
|
35
|
-
(type != '_' || !@src.match?(/#{Regexp.escape(delim)}[[:
|
35
|
+
(type != '_' || !@src.match?(/#{Regexp.escape(delim)}[[:alnum:]]/)) && el.children.size > 0
|
36
36
|
end
|
37
37
|
[found, el, stop_re]
|
38
38
|
end
|
@@ -38,17 +38,10 @@ module Kramdown
|
|
38
38
|
@src.pos += @src.matched_size
|
39
39
|
fn_def = @footnotes[@src[1]]
|
40
40
|
if fn_def
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
fn_def[:marker] = Element.new(:footnote, fn_def[:content], nil, :name => @src[1])
|
46
|
-
fn_def[:stack] = [@stack.map {|s| s.first}, @tree, fn_def[:marker]].flatten.compact
|
47
|
-
@tree.children << fn_def[:marker]
|
48
|
-
else
|
49
|
-
warning("Footnote marker '#{@src[1]}' already appeared in document, ignoring newly found marker")
|
50
|
-
add_text(@src.matched)
|
51
|
-
end
|
41
|
+
fn_def[:marker] ||= []
|
42
|
+
fn_def[:marker].push(Element.new(:footnote, fn_def[:content], nil, :name => @src[1]))
|
43
|
+
fn_def[:stack] = [@stack.map {|s| s.first}, @tree, fn_def[:marker]].flatten.compact
|
44
|
+
@tree.children << fn_def[:marker].last
|
52
45
|
else
|
53
46
|
warning("Footnote definition for '#{@src[1]}' not found")
|
54
47
|
add_text(@src.matched)
|
@@ -122,6 +122,7 @@ module Kramdown
|
|
122
122
|
SQ_CLOSE = %![^\ \\\\\t\r\n\\[{(-]!
|
123
123
|
|
124
124
|
SQ_RULES = [
|
125
|
+
[/("|')(?=[_*]{1,2}\S)/, [:lquote1]],
|
125
126
|
[/("|')(?=#{SQ_PUNCT}\B)/, [:rquote1]],
|
126
127
|
# Special case for double sets of quotes, e.g.:
|
127
128
|
# <p>He said, "'Quoted' words in a larger quote."</p>
|
data/lib/kramdown/version.rb
CHANGED
data/test/test_files.rb
CHANGED
@@ -90,14 +90,16 @@ class TestFiles < Test::Unit::TestCase
|
|
90
90
|
next if EXCLUDE_LATEX_FILES.any? {|f| text_file =~ /#{f}$/}
|
91
91
|
define_method('test_' + text_file.tr('.', '_') + "_to_latex_compilation") do
|
92
92
|
latex = Kramdown::Document.new(File.read(text_file),
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
93
|
+
:auto_ids => false, :footnote_nr => 1,
|
94
|
+
:template => 'document').to_latex
|
95
|
+
Dir.mktmpdir do |tmpdir|
|
96
|
+
result = IO.popen("latex -output-directory='#{tmpdir}' 2>/dev/null", 'r+') do |io|
|
97
|
+
io.write(latex)
|
98
|
+
io.close_write
|
99
|
+
io.read
|
100
|
+
end
|
101
|
+
assert($?.exitstatus == 0, result.scan(/^!(.*\n.*)/).join("\n"))
|
99
102
|
end
|
100
|
-
assert($?.exitstatus == 0, result.scan(/^!(.*\n.*)/).join("\n"))
|
101
103
|
end
|
102
104
|
end
|
103
105
|
end
|
@@ -15,7 +15,7 @@ some <span>*para*</span>
|
|
15
15
|
<div class="footnotes">
|
16
16
|
<ol start="10">
|
17
17
|
<li id="fn:ab">
|
18
|
-
<p>Some text
|
18
|
+
<p>Some text. <a href="#fnref:ab" class="reversefootnote">↩</a></p>
|
19
19
|
</li>
|
20
20
|
</ol>
|
21
21
|
</div>
|
@@ -3,10 +3,10 @@
|
|
3
3
|
<div class="footnotes">
|
4
4
|
<ol start="35">
|
5
5
|
<li id="fn:ab">
|
6
|
-
<p>Some text
|
6
|
+
<p>Some text. <a href="#fnref:ab" class="reversefootnote">↩</a></p>
|
7
7
|
</li>
|
8
8
|
<li id="fn:bc">
|
9
|
-
<p>Some other text
|
9
|
+
<p>Some other text. <a href="#fnref:bc" class="reversefootnote">↩</a></p>
|
10
10
|
</li>
|
11
11
|
</ol>
|
12
12
|
</div>
|
@@ -12,12 +12,12 @@
|
|
12
12
|
|
13
13
|
<p>A marker without a definition [^without].</p>
|
14
14
|
|
15
|
-
<p>A marker <sup id="fnref:empty"><a href="#fn:empty" class="footnote">5</a></sup> used twice
|
15
|
+
<p>A marker <sup id="fnref:empty"><a href="#fn:empty" class="footnote">5</a></sup> used twice<sup id="fnref:fn:1"><a href="#fn:fn" class="footnote">1</a></sup> and thrice<sup id="fnref:fn:2"><a href="#fn:fn" class="footnote">1</a></sup>.</p>
|
16
16
|
|
17
17
|
<div class="footnotes">
|
18
18
|
<ol>
|
19
19
|
<li id="fn:fn">
|
20
|
-
<p>Some foot note text<a href="#fnref:fn" class="reversefootnote">↩</a></p>
|
20
|
+
<p>Some foot note text <a href="#fnref:fn" class="reversefootnote">↩</a> <a href="#fnref:fn:1" class="reversefootnote">↩<sup>2</sup></a> <a href="#fnref:fn:2" class="reversefootnote">↩<sup>3</sup></a></p>
|
21
21
|
</li>
|
22
22
|
<li id="fn:3">
|
23
23
|
<p>other text
|
@@ -29,7 +29,7 @@ with more lines</p>
|
|
29
29
|
<p><a href="#fnref:3" class="reversefootnote">↩</a></p>
|
30
30
|
</li>
|
31
31
|
<li id="fn:1">
|
32
|
-
<p>some <em>text</em
|
32
|
+
<p>some <em>text</em> <a href="#fnref:1" class="reversefootnote">↩</a></p>
|
33
33
|
</li>
|
34
34
|
<li id="fn:now">
|
35
35
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<p>There <em><abbr title="It is, yes">is some</abbr> real</em> concern about <abbr title="This & that">OtHeR!</abbr></p>
|
4
4
|
|
5
|
-
<p><abbr title="It is, yes">is some</abbr> Think <abbr>empty</abbr> about <abbr title="Very nice country"
|
5
|
+
<p><abbr title="It is, yes">is some</abbr> Think <abbr>empty</abbr> about <abbr title="Very nice country">Oesterreich</abbr>. <abbr title="Cascading">CSS</abbr> und <abbr title="Cascading 3">CSS3</abbr></p>
|
6
6
|
|
7
7
|
<p>no abbrev here because there is someone and kulis some</p>
|
8
8
|
|
@@ -8,11 +8,11 @@ This is some text.
|
|
8
8
|
|
9
9
|
There *is some real* concern about OtHeR!
|
10
10
|
|
11
|
-
is some Think empty about
|
11
|
+
is some Think empty about Oesterreich. CSS und CSS3
|
12
12
|
|
13
13
|
no abbrev here because there is someone and kulis some
|
14
14
|
|
15
|
-
*[
|
15
|
+
*[Oesterreich]: Very nice country
|
16
16
|
|
17
17
|
*[CSS]: Cascading
|
18
18
|
*[CSS3]: Cascading 3
|
@@ -16,3 +16,15 @@ Mark’s name. “…you”
|
|
16
16
|
|
17
17
|
<p>Nam liber tempor
|
18
18
|
“…At vero eos et accusam”</p>
|
19
|
+
|
20
|
+
<p>“<em>Single underscores</em> should work.”</p>
|
21
|
+
|
22
|
+
<p>“<em>Single asterisks</em> should work.”</p>
|
23
|
+
|
24
|
+
<p>‘<strong>Double underscores</strong> should work.’</p>
|
25
|
+
|
26
|
+
<p>‘<strong>Double asterisks</strong> should work.’</p>
|
27
|
+
|
28
|
+
<p>“<em>Hurrah!</em>”</p>
|
29
|
+
|
30
|
+
<p>‘<strong>Absolutely</strong>.’</p>
|
@@ -16,3 +16,15 @@ Mark's name. "...you"
|
|
16
16
|
|
17
17
|
Nam liber tempor
|
18
18
|
"...At vero eos et accusam"
|
19
|
+
|
20
|
+
"_Single underscores_ should work."
|
21
|
+
|
22
|
+
"*Single asterisks* should work."
|
23
|
+
|
24
|
+
'__Double underscores__ should work.'
|
25
|
+
|
26
|
+
'**Double asterisks** should work.'
|
27
|
+
|
28
|
+
"_Hurrah!_"
|
29
|
+
|
30
|
+
'__Absolutely__.'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kramdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Leitner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coderay
|
@@ -115,10 +115,10 @@ files:
|
|
115
115
|
- man/man1/kramdown.1
|
116
116
|
- data/kramdown/document.html
|
117
117
|
- data/kramdown/document.latex
|
118
|
+
- doc/_design.scss
|
118
119
|
- doc/bg.png
|
119
|
-
- doc/default.scss
|
120
|
+
- doc/default.scss
|
120
121
|
- doc/default.template
|
121
|
-
- doc/design.scss.css
|
122
122
|
- doc/documentation.page
|
123
123
|
- doc/documentation.template
|
124
124
|
- doc/index.page
|