kramdown 0.13.4 → 0.13.5
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.
- data/CONTRIBUTERS +2 -1
- data/ChangeLog +237 -0
- data/Rakefile +5 -4
- data/VERSION +1 -1
- data/bin/kramdown +1 -1
- data/doc/bg.png +0 -0
- data/doc/default.scss.css +127 -473
- data/doc/default.template +27 -40
- data/doc/design.scss.css +441 -0
- data/doc/documentation.page +4 -1
- data/doc/index.page +4 -9
- data/doc/installation.page +3 -3
- data/doc/news.page +1 -1
- data/doc/quickref.page +1 -1
- data/doc/sidebar.template +21 -0
- data/doc/syntax.page +65 -38
- data/doc/tests.page +6 -4
- data/lib/kramdown.rb +1 -1
- data/lib/kramdown/compatibility.rb +17 -3
- data/lib/kramdown/converter.rb +1 -1
- data/lib/kramdown/converter/base.rb +1 -1
- data/lib/kramdown/converter/html.rb +3 -2
- data/lib/kramdown/converter/kramdown.rb +13 -7
- data/lib/kramdown/converter/latex.rb +1 -1
- data/lib/kramdown/converter/toc.rb +1 -1
- data/lib/kramdown/document.rb +2 -2
- data/lib/kramdown/element.rb +1 -1
- data/lib/kramdown/error.rb +1 -1
- data/lib/kramdown/options.rb +1 -1
- data/lib/kramdown/parser.rb +1 -1
- data/lib/kramdown/parser/base.rb +1 -1
- data/lib/kramdown/parser/html.rb +5 -5
- data/lib/kramdown/parser/kramdown.rb +1 -1
- data/lib/kramdown/parser/kramdown/abbreviation.rb +1 -1
- data/lib/kramdown/parser/kramdown/autolink.rb +1 -1
- data/lib/kramdown/parser/kramdown/blank_line.rb +1 -1
- data/lib/kramdown/parser/kramdown/block_boundary.rb +1 -1
- data/lib/kramdown/parser/kramdown/blockquote.rb +1 -1
- data/lib/kramdown/parser/kramdown/codeblock.rb +1 -1
- data/lib/kramdown/parser/kramdown/codespan.rb +1 -1
- data/lib/kramdown/parser/kramdown/emphasis.rb +1 -1
- data/lib/kramdown/parser/kramdown/eob.rb +1 -1
- data/lib/kramdown/parser/kramdown/escaped_chars.rb +1 -1
- data/lib/kramdown/parser/kramdown/extensions.rb +1 -1
- data/lib/kramdown/parser/kramdown/footnote.rb +1 -1
- data/lib/kramdown/parser/kramdown/header.rb +1 -1
- data/lib/kramdown/parser/kramdown/horizontal_rule.rb +1 -1
- data/lib/kramdown/parser/kramdown/html.rb +2 -2
- data/lib/kramdown/parser/kramdown/html_entity.rb +1 -1
- data/lib/kramdown/parser/kramdown/line_break.rb +1 -1
- data/lib/kramdown/parser/kramdown/link.rb +1 -1
- data/lib/kramdown/parser/kramdown/list.rb +1 -1
- data/lib/kramdown/parser/kramdown/math.rb +4 -3
- data/lib/kramdown/parser/kramdown/paragraph.rb +1 -1
- data/lib/kramdown/parser/kramdown/smart_quotes.rb +1 -1
- data/lib/kramdown/parser/kramdown/table.rb +1 -1
- data/lib/kramdown/parser/kramdown/typographic_symbol.rb +1 -1
- data/lib/kramdown/parser/markdown.rb +1 -1
- data/lib/kramdown/utils.rb +6 -1
- data/lib/kramdown/utils/entities.rb +1 -1
- data/lib/kramdown/utils/html.rb +2 -2
- data/lib/kramdown/utils/ordered_hash.rb +1 -1
- data/lib/kramdown/version.rb +2 -2
- data/man/man1/kramdown.1 +100 -100
- data/test/run_tests.rb +1 -1
- data/test/test_files.rb +1 -1
- data/test/testcases/block/04_header/with_auto_ids.html +2 -0
- data/test/testcases/block/04_header/with_auto_ids.text +3 -0
- data/test/testcases/block/09_html/html5_attributes.html +13 -0
- data/test/testcases/block/09_html/html5_attributes.text +13 -0
- data/test/testcases/block/09_html/simple.text +1 -1
- data/test/testcases/block/15_math/normal.html +2 -2
- data/test/testcases/span/05_html/normal.html +1 -1
- data/test/testcases/span/05_html/normal.text +1 -1
- data/test/testcases/span/math/normal.html +4 -0
- data/test/testcases/span/math/normal.text +5 -1
- metadata +55 -35
data/lib/kramdown/document.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
#--
|
4
|
-
# Copyright (C) 2009-
|
4
|
+
# Copyright (C) 2009-2012 Thomas Leitner <t_leitner@gmx.at>
|
5
5
|
#
|
6
6
|
# This file is part of kramdown.
|
7
7
|
#
|
@@ -98,7 +98,7 @@ module Kramdown
|
|
98
98
|
#
|
99
99
|
# For example, +to_html+ would instantiate the Kramdown::Converter::Html class.
|
100
100
|
def method_missing(id, *attr, &block)
|
101
|
-
if id.to_s =~ /^to_(\w+)$/ && (name =
|
101
|
+
if id.to_s =~ /^to_(\w+)$/ && (name = Utils.camelize($1)) && Converter.const_defined?(name)
|
102
102
|
output, warnings = Converter.const_get(name).convert(@root, @options)
|
103
103
|
@warnings.concat(warnings)
|
104
104
|
output
|
data/lib/kramdown/element.rb
CHANGED
data/lib/kramdown/error.rb
CHANGED
data/lib/kramdown/options.rb
CHANGED
data/lib/kramdown/parser.rb
CHANGED
data/lib/kramdown/parser/base.rb
CHANGED
data/lib/kramdown/parser/html.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
#--
|
4
|
-
# Copyright (C) 2009-
|
4
|
+
# Copyright (C) 2009-2012 Thomas Leitner <t_leitner@gmx.at>
|
5
5
|
#
|
6
6
|
# This file is part of kramdown.
|
7
7
|
#
|
@@ -40,8 +40,8 @@ module Kramdown
|
|
40
40
|
HTML_DOCTYPE_RE = /<!DOCTYPE.*?>/m
|
41
41
|
HTML_COMMENT_RE = /<!--(.*?)-->/m
|
42
42
|
HTML_INSTRUCTION_RE = /<\?(.*?)\?>/m
|
43
|
-
HTML_ATTRIBUTE_RE = /\s*(#{REXML::Parsers::BaseParser::UNAME_STR})
|
44
|
-
HTML_TAG_RE = /<((?>#{REXML::Parsers::BaseParser::UNAME_STR}))\s*((?>\s+#{REXML::Parsers::BaseParser::UNAME_STR}
|
43
|
+
HTML_ATTRIBUTE_RE = /\s*(#{REXML::Parsers::BaseParser::UNAME_STR})(?:\s*=\s*(["'])(.*?)\2)?/m
|
44
|
+
HTML_TAG_RE = /<((?>#{REXML::Parsers::BaseParser::UNAME_STR}))\s*((?>\s+#{REXML::Parsers::BaseParser::UNAME_STR}(?:\s*=\s*(["']).*?\3)?)*)\s*(\/)?>/m
|
45
45
|
HTML_TAG_CLOSE_RE = /<\/(#{REXML::Parsers::BaseParser::UNAME_STR})\s*>/m
|
46
46
|
HTML_ENTITY_RE = /&([\w:][\-\w\.:]*);|&#(\d+);|&\#x([0-9a-fA-F]+);/
|
47
47
|
|
@@ -89,7 +89,7 @@ module Kramdown
|
|
89
89
|
name = @src[1].downcase
|
90
90
|
closed = !@src[4].nil?
|
91
91
|
attrs = Utils::OrderedHash.new
|
92
|
-
@src[2].scan(HTML_ATTRIBUTE_RE).each {|attr,sep,val| attrs[attr] = val}
|
92
|
+
@src[2].scan(HTML_ATTRIBUTE_RE).each {|attr,sep,val| attrs[attr.downcase] = val || ""}
|
93
93
|
|
94
94
|
el = Element.new(:html_element, name, attrs, :category => :block)
|
95
95
|
@tree.children << el
|
@@ -529,7 +529,7 @@ module Kramdown
|
|
529
529
|
|
530
530
|
def handle_math_tag(el)
|
531
531
|
set_basics(el, :math, :category => (el.attr['type'] =~ /mode=display/ ? :block : :span))
|
532
|
-
el.value = el.children.shift.value
|
532
|
+
el.value = el.children.shift.value.sub(/\A<!\[CDATA\[(.*)\]\]>\z/m, '\1')
|
533
533
|
el.attr.delete('type')
|
534
534
|
end
|
535
535
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
#--
|
4
|
-
# Copyright (C) 2009-
|
4
|
+
# Copyright (C) 2009-2012 Thomas Leitner <t_leitner@gmx.at>
|
5
5
|
#
|
6
6
|
# This file is part of kramdown.
|
7
7
|
#
|
@@ -128,7 +128,7 @@ module Kramdown
|
|
128
128
|
end
|
129
129
|
|
130
130
|
attrs = Utils::OrderedHash.new
|
131
|
-
@src[2].scan(HTML_ATTRIBUTE_RE).each {|name,sep,val| attrs[name] = val.gsub(/\n+/, ' ')}
|
131
|
+
@src[2].scan(HTML_ATTRIBUTE_RE).each {|name,sep,val| attrs[name.downcase] = (val || '').gsub(/\n+/, ' ')}
|
132
132
|
|
133
133
|
do_parsing = (HTML_CONTENT_MODEL[tag_name] == :raw || @tree.options[:content_model] == :raw ? false : @options[:parse_span_html])
|
134
134
|
if val = HTML_MARKDOWN_ATTR_MAP[attrs.delete('markdown')]
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
#--
|
4
|
-
# Copyright (C) 2009-
|
4
|
+
# Copyright (C) 2009-2012 Thomas Leitner <t_leitner@gmx.at>
|
5
5
|
#
|
6
6
|
# This file is part of kramdown.
|
7
7
|
#
|
@@ -26,16 +26,17 @@ module Kramdown
|
|
26
26
|
module Parser
|
27
27
|
class Kramdown
|
28
28
|
|
29
|
-
BLOCK_MATH_START = /^#{OPT_SPACE}(\\)?\$\$(.*?)
|
29
|
+
BLOCK_MATH_START = /^#{OPT_SPACE}(\\)?\$\$(.*?)\$\$(\s*?\n)?/m
|
30
30
|
|
31
31
|
# Parse the math block at the current location.
|
32
32
|
def parse_block_math
|
33
33
|
if !after_block_boundary?
|
34
34
|
return false
|
35
35
|
elsif @src[1]
|
36
|
-
@src.scan(/^#{OPT_SPACE}\\/)
|
36
|
+
@src.scan(/^#{OPT_SPACE}\\/) if @src[3]
|
37
37
|
return false
|
38
38
|
end
|
39
|
+
|
39
40
|
orig_pos = @src.pos
|
40
41
|
@src.pos += @src.matched_size
|
41
42
|
data = @src[2]
|
data/lib/kramdown/utils.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
#--
|
4
|
-
# Copyright (C) 2009-
|
4
|
+
# Copyright (C) 2009-2012 Thomas Leitner <t_leitner@gmx.at>
|
5
5
|
#
|
6
6
|
# This file is part of kramdown.
|
7
7
|
#
|
@@ -32,6 +32,11 @@ module Kramdown
|
|
32
32
|
autoload :Html, 'kramdown/utils/html'
|
33
33
|
autoload :OrderedHash, 'kramdown/utils/ordered_hash'
|
34
34
|
|
35
|
+
# Treat +name+ as if it were snake cased (e.g. snake_case) and camelize it (e.g. SnakeCase).
|
36
|
+
def self.camelize(name)
|
37
|
+
name.split('_').inject('') {|s,x| s << x[0..0].upcase + x[1..-1] }
|
38
|
+
end
|
39
|
+
|
35
40
|
end
|
36
41
|
|
37
42
|
end
|