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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTBhZjcwZjY5ODk0ZGY5YjBmMmNiOTQ3NzdlMzBkNTIxYTc0YWY2ZA==
4
+ Yjk2ODI4N2MxZmExMmZjNzEzNzk3OThjNjFjYzA5NTQ4NmY0NjEwNg==
5
5
  data.tar.gz: !binary |-
6
- NGE3NGIyYmMzMTlkZjEzMmY2MWQ2ZTJhMzA5MmNjZmM4Yjc0MTU4NQ==
6
+ NTgwZjE3MDQ5NmE3OGEwYTdkMmFkOTdjMTFhMWZkYTczNDg2M2FkYg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OWYyMzFlOTY3N2NiY2NlYzAzODdlYWY4ZjBlMWNkZjQxN2EzNzE1ODZmMmIy
10
- Mzc1NGI2ZDMwYzFlZmRjNWJmMGIwZmI4OGZlZjUyZTdkOWQyMTg3YjFjYzU2
11
- NjI2ZmVhZDIzNzU0NzM3ODFkNGNkZmVlYTA5NWVkNDQyOWYyZmU=
9
+ ZmIzYWNkYzE2Mjg1MGNkM2E3MjM0YTNiMWI5Y2VkZmM2ZDdiNzJjNjdjMjU1
10
+ MjlhNmFlNjRiODM0MjE4ODBmMzA5YjFjOTM4ZTdkOWViZTcxMTE3ZjUzNThk
11
+ ZmMzZjRhOTlkMDM5NTY2NTNkMmEwNDhkY2RiZGUwNjQxOTRlMDU=
12
12
  data.tar.gz: !binary |-
13
- MzAzYjQ4NDA1NjNhMDg0YWQ3MGFkZTVkNTc2ZTViYTA0MWIwNGMzZjRlOWU4
14
- Mjk4NGFlNWJjZjAxMWZhMzhlOGI5YzJhZDhhYWMzMDVjYzA1YjE4ODY0Y2E0
15
- NDg3Yjg5N2I1OGZmMWMwNDdhMTlkNWM4OTZhOWU1MzBlZGE0ODg=
13
+ ZjI5NjUxZDZhOWRhZTA2MGEzOWUyZDg4NGI0OTZmZGU5M2RiM2U0ZTgwZGNi
14
+ ZDRkMzk4NWE0ZGU2ZTI5YjBhNzBjNDA3NWQ0ZjZjM2Y2NDBhNWYwODk0ZWZj
15
+ NDY5N2ZmYWI2ZTVlZWI1YTQ1NWQyNzU0N2JhODZmMWUyZGQxNjE=
@@ -1,12 +1,16 @@
1
1
  Count Name
2
2
  ======= ====
3
- 584 Thomas Leitner <t_leitner@gmx.at>
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('ASCII-8BIT')
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'].content.force_encoding('ASCII-8BIT')
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.2
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 url(design.css);
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
 
@@ -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
@@ -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.2</span> and it was released
4
- on <span class="inline-important">2013-05-09</span></p>
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>
@@ -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
- The footnote name has to be unique in the whole kramdown document. Therefore you can't link to the
1358
- same footnote definition twice. The actual naming of a footnote does not matter since the numbering
1359
- of footnotes is controlled via the position of the footnote markers in the document (the first found
1360
- footnote marker will get the number 1, the second footnote marker the number 2 and so on). If there
1361
- is a footnote definition found for the identifier, a footnote will be created. Otherwise the
1362
- footnote marker is not converted to a footnote link. Also note that all attributes set via a span
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
- number = @footnote_counter
268
- @footnote_counter += 1
269
- @footnotes << [el.options[:name], el.value]
270
- "<sup id=\"fnref:#{el.options[:name]}\"><a href=\"#fn:#{el.options[:name]}\" class=\"footnote\">#{number}</a></sup>"
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\">&#8617;</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, "&#8617;"])
436
+ (1..repeat).each do |index|
437
+ para.children << Element.new(:raw, FOOTNOTE_BACKLINK_FMT % [" ", "#{name}:#{index}", "&#8617;<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
- el.value
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 =~ /[[:alpha:]]\z/ && @src.check(/[[:alpha:]]/)) || @src.check(/\s/) ||
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)}[[:alpha:]]/)) && el.children.size > 0
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
- valid = fn_def[:marker] && fn_def[:stack][0..-2].zip(fn_def[:stack][1..-1]).all? do |par, child|
42
- par.children.include?(child)
43
- end
44
- if !fn_def[:marker] || !valid
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>
@@ -10,6 +10,6 @@
10
10
  module Kramdown
11
11
 
12
12
  # The kramdown version.
13
- VERSION = '1.0.2'
13
+ VERSION = '1.1.0'
14
14
 
15
15
  end
@@ -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
- :auto_ids => false, :footnote_nr => 1,
94
- :template => 'document').to_latex
95
- result = IO.popen("latex -output-directory='#{Dir.tmpdir}' 2>/dev/null", 'r+') do |io|
96
- io.write(latex)
97
- io.close_write
98
- io.read
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.<a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
18
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
19
19
  </li>
20
20
  </ol>
21
21
  </div>
@@ -4,7 +4,7 @@
4
4
  <div class="footnotes">
5
5
  <ol>
6
6
  <li id="fn:ab">
7
- <p>Some text.<a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
7
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
8
8
  </li>
9
9
  </ol>
10
10
  </div>
@@ -7,7 +7,7 @@
7
7
  <div class="footnotes">
8
8
  <ol>
9
9
  <li id="fn:1">
10
- <p>Some footnote content here<a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
10
+ <p>Some footnote content here <a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
11
11
  </li>
12
12
  </ol>
13
13
  </div>
@@ -31,6 +31,9 @@
31
31
  <li>__a__b</li>
32
32
  <li>a__b__</li>
33
33
  <li>a__b__c</li>
34
+ <li>a__2__c</li>
35
+ <li>a__2__3</li>
36
+ <li>1__2__3</li>
34
37
  </ul>
35
38
  <ul>
36
39
  <li><em>a _b_ c</em></li>
@@ -21,13 +21,16 @@
21
21
  - **a**b
22
22
  - a**b**
23
23
  - a**b**c
24
- ^
24
+ ^
25
25
  - _a_b
26
26
  - a_b_
27
27
  - a_b_c
28
28
  - __a__b
29
29
  - a__b__
30
30
  - a__b__c
31
+ - a__2__c
32
+ - a__2__3
33
+ - 1__2__3
31
34
  ^
32
35
  - *a _b_ c*
33
36
  - **a __b__ c**
@@ -3,10 +3,10 @@
3
3
  <div class="footnotes">
4
4
  <ol start="35">
5
5
  <li id="fn:ab">
6
- <p>Some text.<a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
6
+ <p>Some text. <a href="#fnref:ab" class="reversefootnote">&#8617;</a></p>
7
7
  </li>
8
8
  <li id="fn:bc">
9
- <p>Some other text.<a href="#fnref:bc" class="reversefootnote">&#8617;</a></p>
9
+ <p>Some other text. <a href="#fnref:bc" class="reversefootnote">&#8617;</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[^fn].</p>
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">&#8617;</a></p>
20
+ <p>Some foot note text <a href="#fnref:fn" class="reversefootnote">&#8617;</a> <a href="#fnref:fn:1" class="reversefootnote">&#8617;<sup>2</sup></a> <a href="#fnref:fn:2" class="reversefootnote">&#8617;<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">&#8617;</a></p>
30
30
  </li>
31
31
  <li id="fn:1">
32
- <p>some <em>text</em><a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
32
+ <p>some <em>text</em> <a href="#fnref:1" class="reversefootnote">&#8617;</a></p>
33
33
  </li>
34
34
  <li id="fn:now">
35
35
 
@@ -19,5 +19,5 @@ continued here
19
19
 
20
20
  A marker without a definition [\^{}without].
21
21
 
22
- A marker \footnote{} used twice[\^{}fn].
22
+ A marker \footnote{} used twice\footnote{Some foot note text} and thrice\footnote{Some foot note text}.
23
23
 
@@ -16,7 +16,7 @@ This is some *ref.[^fn]
16
16
 
17
17
  A marker without a definition [^without].
18
18
 
19
- A marker [^empty] used twice[^fn].
19
+ A marker [^empty] used twice[^fn] and thrice[^fn].
20
20
 
21
21
  [^now]:
22
22
 
@@ -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 &amp; 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">Österreich</abbr>. <abbr title="Cascading">CSS</abbr> und <abbr title="Cascading 3">CSS3</abbr></p>
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 Österreich. CSS und CSS3
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
- *[Österreich]: Very nice country
15
+ *[Oesterreich]: Very nice country
16
16
 
17
17
  *[CSS]: Cascading
18
18
  *[CSS3]: Cascading 3
@@ -16,3 +16,15 @@ Mark&rsquo;s name. &ldquo;&hellip;you&rdquo;
16
16
 
17
17
  <p>Nam liber tempor
18
18
  &ldquo;&hellip;At vero eos et accusam&rdquo;</p>
19
+
20
+ <p>&ldquo;<em>Single underscores</em> should work.&rdquo;</p>
21
+
22
+ <p>&ldquo;<em>Single asterisks</em> should work.&rdquo;</p>
23
+
24
+ <p>&lsquo;<strong>Double underscores</strong> should work.&rsquo;</p>
25
+
26
+ <p>&lsquo;<strong>Double asterisks</strong> should work.&rsquo;</p>
27
+
28
+ <p>&ldquo;<em>Hurrah!</em>&rdquo;</p>
29
+
30
+ <p>&lsquo;<strong>Absolutely</strong>.&rsquo;</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.2
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-05-09 00:00:00.000000000 Z
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.css
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