motion-kramdown 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -7
  3. data/lib/kramdown.rb +1 -1
  4. data/lib/kramdown/compatibility.rb +1 -1
  5. data/lib/kramdown/converter.rb +1 -1
  6. data/lib/kramdown/converter/base.rb +2 -1
  7. data/lib/kramdown/converter/html.rb +10 -5
  8. data/lib/kramdown/converter/kramdown.rb +13 -7
  9. data/lib/kramdown/converter/latex.rb +2 -1
  10. data/lib/kramdown/converter/math_engine/itex2mml.rb +1 -1
  11. data/lib/kramdown/converter/math_engine/mathjax.rb +18 -3
  12. data/lib/kramdown/converter/math_engine/ritex.rb +1 -1
  13. data/lib/kramdown/converter/pdf.rb +3 -2
  14. data/lib/kramdown/converter/remove_html_tags.rb +3 -1
  15. data/lib/kramdown/converter/syntax_highlighter.rb +53 -0
  16. data/lib/kramdown/converter/syntax_highlighter/coderay.rb +1 -1
  17. data/lib/kramdown/converter/syntax_highlighter/rouge.rb +2 -2
  18. data/lib/kramdown/converter/toc.rb +2 -2
  19. data/lib/kramdown/document.rb +5 -5
  20. data/lib/kramdown/element.rb +4 -1
  21. data/lib/kramdown/error.rb +1 -1
  22. data/lib/kramdown/options.rb +4 -3
  23. data/lib/kramdown/parser.rb +1 -1
  24. data/lib/kramdown/parser/base.rb +8 -4
  25. data/lib/kramdown/parser/gfm.rb +9 -1
  26. data/lib/kramdown/parser/html.rb +18 -3
  27. data/lib/kramdown/parser/kramdown.rb +8 -5
  28. data/lib/kramdown/parser/kramdown/abbreviation.rb +10 -2
  29. data/lib/kramdown/parser/kramdown/autolink.rb +1 -1
  30. data/lib/kramdown/parser/kramdown/blank_line.rb +1 -1
  31. data/lib/kramdown/parser/kramdown/block_boundary.rb +1 -1
  32. data/lib/kramdown/parser/kramdown/blockquote.rb +1 -1
  33. data/lib/kramdown/parser/kramdown/codeblock.rb +1 -1
  34. data/lib/kramdown/parser/kramdown/codespan.rb +1 -1
  35. data/lib/kramdown/parser/kramdown/emphasis.rb +2 -2
  36. data/lib/kramdown/parser/kramdown/eob.rb +1 -1
  37. data/lib/kramdown/parser/kramdown/escaped_chars.rb +1 -1
  38. data/lib/kramdown/parser/kramdown/extensions.rb +8 -7
  39. data/lib/kramdown/parser/kramdown/footnote.rb +12 -4
  40. data/lib/kramdown/parser/kramdown/header.rb +1 -1
  41. data/lib/kramdown/parser/kramdown/horizontal_rule.rb +1 -1
  42. data/lib/kramdown/parser/kramdown/html.rb +7 -4
  43. data/lib/kramdown/parser/kramdown/html_entity.rb +1 -1
  44. data/lib/kramdown/parser/kramdown/line_break.rb +1 -1
  45. data/lib/kramdown/parser/kramdown/link.rb +8 -5
  46. data/lib/kramdown/parser/kramdown/list.rb +17 -5
  47. data/lib/kramdown/parser/kramdown/math.rb +3 -3
  48. data/lib/kramdown/parser/kramdown/paragraph.rb +3 -3
  49. data/lib/kramdown/parser/kramdown/smart_quotes.rb +1 -1
  50. data/lib/kramdown/parser/kramdown/table.rb +1 -1
  51. data/lib/kramdown/parser/kramdown/typographic_symbol.rb +1 -1
  52. data/lib/kramdown/parser/markdown.rb +2 -2
  53. data/lib/kramdown/utils.rb +1 -1
  54. data/lib/kramdown/utils/configurable.rb +1 -1
  55. data/lib/kramdown/utils/entities.rb +1 -1
  56. data/lib/kramdown/utils/html.rb +3 -1
  57. data/lib/kramdown/utils/ordered_hash.rb +1 -1
  58. data/lib/kramdown/utils/string_scanner.rb +8 -0
  59. data/lib/kramdown/utils/unidecoder.rb +1 -1
  60. data/lib/kramdown/version.rb +2 -2
  61. data/lib/rubymotion/version.rb +1 -1
  62. data/spec/bench_mark.rb +43 -30
  63. data/spec/document_tree.rb +12 -2
  64. data/spec/gfm_to_html.rb +4 -1
  65. data/spec/html_to_html.rb +27 -9
  66. data/spec/html_to_kramdown_to_html.rb +4 -1
  67. data/spec/kramdown_to_xxx.rb +3 -1
  68. data/spec/text_to_kramdown_to_html.rb +4 -0
  69. data/spec/text_to_latex.rb +1 -1
  70. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 170d5050de06949a6d7e2b553f49bbdd02de26dc
4
- data.tar.gz: bc8cb1616378918befb148b0c2522adee0b09f1c
3
+ metadata.gz: a9577c71875ad433ef83f571aabd8d174ecc7f3e
4
+ data.tar.gz: c62c562508e488a2acdccc73b11103f5819e790f
5
5
  SHA512:
6
- metadata.gz: 48565bd9aa912fa94e02bffbbe43e3ec00ff50c166e62872a0a6867e4b543482678afc886896c2936236af57d627f7d66fc2abc948a697a3e71618c514af1683
7
- data.tar.gz: 4afc303834b5fecfb03cfbed8a24530efb59d8038fdbd1778f0aea1a2b14c6a24035b46c6e1a3171e5bf4b4e2b41eb2b99703e1f4dd55713d583a926ddb5fa86
6
+ metadata.gz: cc144943f6ef46416d7f5aa286966f0dbbb055a3a1d7c937e8c9f4a6cfa726abdf77add761eb9a05cb5256e42970d4df3ec299373add3de0e701fabc009162ce
7
+ data.tar.gz: 1b081491e595b664f22f060a0bb44da88874629b8d8f2a973de5548befc5ed5387553c59f0e0d9e011e5169b2f079b27aed697a139a640dc01742f6f43204c65
data/README.md CHANGED
@@ -1,21 +1,23 @@
1
1
  # motion-kramdown
2
2
 
3
- This is a light modification of the [kramdown](https://github.com/gettalong/kramdown) Markdown parser, for use with RubyMotion on iOS and OS X.
3
+ [![Gem Version](https://badge.fury.io/rb/motion-kramdown.svg)](http://badge.fury.io/rb/motion-kramdown)
4
4
 
5
- Currently implements: _kramdown_ 1.5
5
+ [kramdown](https://github.com/gettalong/kramdown) Markdown parser, for use with RubyMotion on iOS and OS X.
6
+
7
+ Currently implements: _kramdown_ 1.6
6
8
 
7
9
  ## Introduction
8
10
 
9
- _kramdown_ is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
11
+ _kramdown_ is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions.
10
12
 
11
- The syntax definition for the kramdown syntax can be found in **doc/syntax.page** (or online at <http://kramdown.gettalong.org/syntax.html>) and a quick reference is available in **doc/quickref.page** or online at <http://kramdown.gettalong.org/quickref.html>.
13
+ The syntax definition for the kramdown syntax can be found online at <http://kramdown.gettalong.org/syntax.html> and a quick reference is available online at <http://kramdown.gettalong.org/quickref.html>.
12
14
 
13
- The _kramdown_ library is mainly written to support the kramdown-to-HTML conversion chain. However, due to its flexibility it supports other input and output formats as well. Here is a list of the supported formats:
15
+ The _kramdown_ library is mainly written to support the kramdown-to-HTML conversion chain. However, due to its flexibility (by creating an internal AST) it supports other input and output formats as well. Here is a list of the supported formats:
14
16
 
15
- * input formats: kramdown (a Markdown superset), Markdown, HTML
17
+ * input formats: kramdown (a Markdown superset), Markdown, GFM, HTML
16
18
  * output formats: HTML, kramdown (and LaTeX and PDF, though not in _motion-kramdown_)
17
19
 
18
- All the documentation on the available input and output formats is available in the **doc/** directory and online at <http://kramdown.gettalong.org>.
20
+ All the documentation on the available input and output formats is available online at <http://kramdown.gettalong.org>.
19
21
 
20
22
  ## Installation
21
23
 
data/lib/kramdown.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -9,6 +9,7 @@
9
9
 
10
10
  # RM require 'erb'
11
11
  # RM require 'kramdown/utils'
12
+ # RM require 'kramdown/document'
12
13
 
13
14
  module Kramdown
14
15
 
@@ -1,14 +1,15 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
- # RM require 'rexml/parsers/baseparser'
11
- # RM require 'kramdown/parser/html'
10
+ # RM require 'kramdown/parser'
11
+ # RM require 'kramdown/converter'
12
+ # RM require 'kramdown/utils'
12
13
 
13
14
  module Kramdown
14
15
 
@@ -321,7 +322,9 @@ module Kramdown
321
322
 
322
323
  def convert_abbreviation(el, indent)
323
324
  title = @root.options[:abbrev_defs][el.value]
324
- format_as_span_html("abbr", {:title => (title.empty? ? nil : title)}, el.value)
325
+ attr = @root.options[:abbrev_attr][el.value].dup
326
+ attr['title'] = title unless title.empty?
327
+ format_as_span_html("abbr", attr, el.value)
325
328
  end
326
329
 
327
330
  def convert_root(el, indent)
@@ -372,7 +375,9 @@ module Kramdown
372
375
  toc.each do |level, id, children|
373
376
  li = Element.new(:li, nil, nil, {:level => level})
374
377
  li.children << Element.new(:p, nil, nil, {:transparent => true})
375
- a = Element.new(:a, nil, {'href' => "##{id}"})
378
+ a = Element.new(:a, nil)
379
+ a.attr['href'] = "##{id}"
380
+ a.attr['id'] = "#{sections.attr['id']}-#{id}"
376
381
  a.children.concat(remove_footnotes(Marshal.load(Marshal.dump(children))))
377
382
  li.children.last.children << a
378
383
  li.children << Element.new(type)
@@ -1,13 +1,14 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
- # RM require 'rexml/parsers/baseparser'
10
+ # RM require 'kramdown/converter'
11
+ # RM require 'kramdown/utils'
11
12
 
12
13
  module Kramdown
13
14
 
@@ -280,17 +281,17 @@ module Kramdown
280
281
  end
281
282
  "[#{inner(el, opts)}][#{index}]"
282
283
  else
283
- title = el.attr['title'].to_s.empty? ? '' : ' "' + el.attr['title'].gsub(/"/, "&quot;") + '"'
284
+ title = parse_title(el.attr['title'])
284
285
  "[#{inner(el, opts)}](#{el.attr['href']}#{title})"
285
286
  end
286
287
  end
287
288
 
288
289
  def convert_img(el, opts)
289
- alt_text = el.attr['alt'].gsub(ESCAPED_CHAR_RE) { $1 ? "\\#{$1}" : $2 }
290
+ alt_text = el.attr['alt'].to_s.gsub(ESCAPED_CHAR_RE) { $1 ? "\\#{$1}" : $2 }
290
291
  if el.attr['src'].empty?
291
292
  "![#{alt_text}]()"
292
293
  else
293
- title = (el.attr['title'] ? ' "' + el.attr['title'].gsub(/"/, "&quot;") + '"' : '')
294
+ title = parse_title(el.attr['title'])
294
295
  link = if el.attr['src'].count("()") > 0
295
296
  "<#{el.attr['src']}>"
296
297
  else
@@ -369,8 +370,8 @@ module Kramdown
369
370
  res = ''
370
371
  res << "\n\n" if @linkrefs.size > 0
371
372
  @linkrefs.each_with_index do |el, i|
372
- title = el.attr['title']
373
- res << "[#{i+1}]: #{el.attr['href']}#{title ? ' "' + title.gsub(/"/, "&quot;") + '"' : ''}\n"
373
+ title = parse_title(el.attr['title'])
374
+ res << "[#{i+1}]: #{el.attr['href']}#{title}\n"
374
375
  end
375
376
  res
376
377
  end
@@ -389,6 +390,7 @@ module Kramdown
389
390
  res = ''
390
391
  @root.options[:abbrev_defs].each do |name, text|
391
392
  res << "*[#{name}]: #{text}\n"
393
+ res << ial_for_element(Element.new(:unused, nil, @root.options[:abbrev_attr][name])).to_s << "\n\n"
392
394
  end
393
395
  res
394
396
  end
@@ -415,6 +417,10 @@ module Kramdown
415
417
  res.strip.empty? ? nil : "{:#{res}}"
416
418
  end
417
419
 
420
+ def parse_title(attr)
421
+ attr.to_s.empty? ? '' : ' "' + attr.gsub(/"/, '&quot;') + '"'
422
+ end
423
+
418
424
  # :startdoc:
419
425
 
420
426
  end
@@ -1,13 +1,14 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
10
  # RM require 'set'
11
+ # RM require 'kramdown/converter'
11
12
 
12
13
  module Kramdown
13
14
 
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -20,11 +20,26 @@ module Kramdown::Converter::MathEngine
20
20
  text = (el.value =~ /<|&/ ? "% <![CDATA[\n#{el.value} %]]>" : el.value)
21
21
  text.gsub!(/<\/?script>?/, '')
22
22
 
23
+ preview = preview_string(converter, el, opts)
24
+
23
25
  attr = {:type => "math/tex#{type == :block ? '; mode=display' : ''}"}
24
26
  if type == :block
25
- converter.format_as_block_html('script', attr, text, opts[:indent])
27
+ preview << converter.format_as_block_html('script', attr, text, opts[:indent])
28
+ else
29
+ preview << converter.format_as_span_html('script', attr, text)
30
+ end
31
+ end
32
+
33
+ def self.preview_string(converter, el, opts)
34
+ preview = converter.options[:math_engine_opts][:preview]
35
+ return '' unless preview
36
+
37
+ preview = (preview == true ? converter.escape_html(el.value) : preview.to_s)
38
+
39
+ if el.options[:category] == :block
40
+ converter.format_as_block_html('div', {'class' => 'MathJax_Preview'}, preview, opts[:indent])
26
41
  else
27
- converter.format_as_span_html('script', attr, text)
42
+ converter.format_as_span_html('span', {'class' => 'MathJax_Preview'}, preview)
28
43
  end
29
44
  end
30
45
 
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -9,7 +9,8 @@
9
9
 
10
10
  # RM require 'prawn'
11
11
  # RM require 'prawn/table'
12
- # RM require 'kramdown/utils/entities'
12
+ # RM require 'kramdown/converter'
13
+ # RM require 'kramdown/utils'
13
14
  # RM require 'open-uri'
14
15
 
15
16
  module Kramdown
@@ -1,12 +1,14 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
+ # RM require 'kramdown/converter'
11
+
10
12
  module Kramdown
11
13
 
12
14
  module Converter
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ module Kramdown
11
+ module Converter
12
+
13
+ # == Container for Syntax Highlighters
14
+ #
15
+ # This module serves as container for the syntax highlighters that can be used together with
16
+ # kramdown.
17
+ #
18
+ # A syntax highlighter should not store any data itself but should use the provided converter
19
+ # object to do so (See Kramdown::Converter::Base#data).
20
+ #
21
+ # == Implementing a Syntax Highlighter
22
+ #
23
+ # Implementing a new syntax highlighter is easy because it is just an object that needs to
24
+ # respond to #call.
25
+ #
26
+ # The method #call needs to take the following arguments:
27
+ #
28
+ # converter:: This argument contains the converter object that calls the syntax highlighter. It
29
+ # can be used, for example, to store data in Kramdown::Converter::Base#data for one
30
+ # conversion run.
31
+ #
32
+ # text:: The raw text that should be highlighted.
33
+ #
34
+ # lang:: The language that the text should be highlighted for (e.g. ruby, python, ...).
35
+ #
36
+ # type:: The type of text, either :span for span-level code or :block for a codeblock.
37
+ #
38
+ # opts:: A Hash with options that may be passed from the converter.
39
+ #
40
+ # The return value of the method should be the highlighted text, suitable for the given
41
+ # converter (e.g. HTML for the HTML converter).
42
+ #
43
+ # == Special Implementation Details
44
+ #
45
+ # HTML converter:: If the syntax highlighter is used with a HTML converter, it should return
46
+ # :block type text correctly wrapped (i.e. normally inside a pre-tag, but may
47
+ # also be a table-tag or just a div-tag) but :span type text *without* a
48
+ # code-tag!
49
+ module SyntaxHighlighter
50
+ end
51
+
52
+ end
53
+ end
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -28,7 +28,7 @@ module Kramdown::Converter::SyntaxHighlighter
28
28
 
29
29
  opts[:wrap] = false if type == :span
30
30
 
31
- formatter = ::Rouge::Formatters::HTML.new(opts)
31
+ formatter = (opts.delete(:formatter) || ::Rouge::Formatters::HTML).new(opts)
32
32
  formatter.format(lexer.lex(text))
33
33
  end
34
34
 
@@ -1,13 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
- # RM require 'rexml/parsers/baseparser'
10
+ # RM require 'kramdown/converter'
11
11
 
12
12
  module Kramdown
13
13
 
@@ -1,29 +1,29 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2014 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
  # = kramdown
10
10
  #
11
- # kramdown is yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and
11
+ # kramdown is fast, pure Ruby Markdown superset converter, using a strict syntax definition and
12
12
  # supporting several common extensions.
13
13
  #
14
14
  # The kramdown library is mainly written to support the kramdown-to-HTML conversion chain. However,
15
15
  # due to its flexibility it supports other input and output formats as well. Here is a list of the
16
16
  # supported formats:
17
17
  #
18
- # * input formats: kramdown (a Markdown superset), Markdown, HTML
19
- # * output formats: HTML, kramdown, LaTeX (and therefore PDF)
18
+ # * input formats: kramdown (a Markdown superset), Markdown, GFM, HTML
19
+ # * output formats: HTML, kramdown, LaTeX (and therefore PDF), PDF via Prawn
20
20
  #
21
21
  # All the documentation on the available input and output formats is available at
22
22
  # http://kramdown.gettalong.org.
23
23
  #
24
24
  # == Usage
25
25
  #
26
- # kramdown has a basic *Cloth API, so using kramdown is as easy as
26
+ # kramdown has a simple API, so using kramdown is as easy as
27
27
  #
28
28
  # require 'kramdown'
29
29
  #