maruku 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/{maruku0.3 → marudown} +6 -14
- data/bin/maruku +1 -1
- data/bin/marutest +37 -9
- data/docs/TOFIX.html +22 -0
- data/docs/TOFIX.md +3 -0
- data/docs/changelog-0.2.13.html +30 -0
- data/docs/changelog-0.2.13.md +6 -0
- data/docs/changelog-0.3.html +19 -5
- data/docs/faq.html +51 -40
- data/docs/faq.md +3 -3
- data/docs/hidden_o_n_squared.md +10 -0
- data/docs/index.html +84 -396
- data/docs/markdown_syntax.html +139 -330
- data/docs/markdown_syntax.md +80 -93
- data/docs/maruku.html +84 -396
- data/docs/maruku.md +88 -158
- data/docs/proposal.html +13 -106
- data/docs/proposal.md +3 -3
- data/docs/todo.html +38 -28
- data/lib/maruku.rb +77 -11
- data/lib/maruku/attributes.rb +186 -0
- data/lib/maruku/defaults.rb +40 -0
- data/lib/maruku/errors_management.rb +55 -39
- data/lib/maruku/helpers.rb +156 -72
- data/lib/maruku/input/charsource.rb +319 -0
- data/lib/maruku/{html_helper.rb → input/html_helper.rb} +30 -9
- data/lib/maruku/input/linesource.rb +111 -0
- data/lib/maruku/input/parse_block.rb +562 -0
- data/lib/maruku/{parse_doc.rb → input/parse_doc.rb} +60 -28
- data/lib/maruku/{parse_span_better.rb → input/parse_span_better.rb} +226 -256
- data/lib/maruku/input/type_detection.rb +137 -0
- data/lib/maruku/maruku.rb +33 -0
- data/lib/maruku/{to_html.rb → output/to_html.rb} +151 -132
- data/lib/maruku/{to_latex.rb → output/to_latex.rb} +31 -35
- data/lib/maruku/{to_latex_entities.rb → output/to_latex_entities.rb} +25 -3
- data/lib/maruku/output/to_latex_strings.rb +64 -0
- data/lib/maruku/output/to_markdown.rb +164 -0
- data/lib/maruku/{to_s.rb → output/to_s.rb} +6 -0
- data/lib/maruku/string_utils.rb +12 -181
- data/lib/maruku/structures.rb +91 -67
- data/lib/maruku/structures_inspect.rb +78 -0
- data/lib/maruku/structures_iterators.rb +24 -2
- data/lib/maruku/tests/benchmark.rb +41 -9
- data/lib/maruku/tests/new_parser.rb +317 -286
- data/lib/maruku/tests/tests.rb +20 -0
- data/lib/maruku/toc.rb +64 -64
- data/lib/maruku/usage/example1.rb +33 -0
- data/lib/maruku/version.rb +8 -2
- data/tests/unittest/abbreviations.md +27 -16
- data/tests/unittest/attributes/attributes.md +89 -0
- data/tests/unittest/attributes/circular.md +51 -0
- data/tests/unittest/attributes/default.md +47 -0
- data/tests/unittest/blank.md +10 -6
- data/tests/unittest/blanks_in_code.md +26 -26
- data/tests/unittest/code.md +9 -9
- data/tests/unittest/code2.md +12 -13
- data/tests/unittest/code3.md +34 -34
- data/tests/unittest/easy.md +9 -7
- data/tests/unittest/email.md +9 -7
- data/tests/unittest/encoding/iso-8859-1.md +41 -4
- data/tests/unittest/encoding/utf-8.md +6 -5
- data/tests/unittest/entities.md +52 -80
- data/tests/unittest/escaping.md +47 -35
- data/tests/unittest/extra_dl.md +19 -29
- data/tests/unittest/extra_header_id.md +31 -24
- data/tests/unittest/extra_table1.md +14 -32
- data/tests/unittest/footnotes.md +58 -42
- data/tests/unittest/headers.md +11 -11
- data/tests/unittest/hrule.md +14 -24
- data/tests/unittest/images.md +41 -26
- data/tests/unittest/inline_html.md +104 -56
- data/tests/unittest/inline_html2.md +38 -0
- data/tests/unittest/links.md +74 -33
- data/tests/unittest/list1.md +18 -15
- data/tests/unittest/list2.md +31 -13
- data/tests/unittest/list3.md +29 -28
- data/tests/unittest/list4.md +103 -12
- data/tests/unittest/lists.md +86 -53
- data/tests/unittest/lists6.md +53 -0
- data/tests/unittest/lists7.md +31 -0
- data/tests/unittest/lists_after_paragraph.md +105 -71
- data/tests/unittest/lists_ol.md +149 -73
- data/tests/unittest/misc_sw.md +366 -326
- data/tests/unittest/notyet/escape.md +10 -10
- data/tests/unittest/notyet/header_after_par.md +20 -14
- data/tests/unittest/notyet/ticks.md +8 -35
- data/tests/unittest/notyet/triggering.md +72 -45
- data/tests/unittest/olist.md +78 -0
- data/tests/unittest/one.md +5 -3
- data/tests/unittest/paragraph.md +5 -3
- data/tests/unittest/paragraph_rules/dont_merge_ref.md +15 -9
- data/tests/unittest/paragraph_rules/tab_is_blank.md +9 -5
- data/tests/unittest/paragraphs.md +21 -26
- data/tests/unittest/recover/recover_links.md +6 -5
- data/tests/unittest/references/long_example.md +39 -30
- data/tests/unittest/references/spaces_and_numbers.md +2 -2
- data/tests/unittest/syntax_hl.md +33 -31
- data/tests/unittest/test.md +4 -6
- data/tests/unittest/wrapping.md +43 -26
- metadata +160 -139
- data/docs/markdown_extra2.html +0 -87
- data/docs/markdown_extra2.md +0 -83
- data/docs/markdown_syntax_2.html +0 -152
- data/lib/maruku/parse_block.rb +0 -564
- data/lib/maruku/parse_span.rb +0 -451
- data/lib/maruku/to_latex_strings.rb +0 -59
- data/lib/maruku/to_markdown.rb +0 -110
- data/lib/test.rb +0 -29
data/lib/maruku/tests/tests.rb
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (C) 2006 Andrea Censi <andrea (at) rubyforge.org>
|
3
|
+
#
|
4
|
+
# This file is part of Maruku.
|
5
|
+
#
|
6
|
+
# Maruku is free software; you can redistribute it and/or modify
|
7
|
+
# it under the terms of the GNU General Public License as published by
|
8
|
+
# the Free Software Foundation; either version 2 of the License, or
|
9
|
+
# (at your option) any later version.
|
10
|
+
#
|
11
|
+
# Maruku is distributed in the hope that it will be useful,
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
# GNU General Public License for more details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU General Public License
|
17
|
+
# along with Maruku; if not, write to the Free Software
|
18
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
19
|
+
#++
|
20
|
+
|
1
21
|
|
2
22
|
require 'maruku'
|
3
23
|
|
data/lib/maruku/toc.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#--
|
1
2
|
# Copyright (C) 2006 Andrea Censi <andrea (at) rubyforge.org>
|
2
3
|
#
|
3
4
|
# This file is part of Maruku.
|
@@ -15,21 +16,19 @@
|
|
15
16
|
# You should have received a copy of the GNU General Public License
|
16
17
|
# along with Maruku; if not, write to the Free Software
|
17
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
19
|
+
#++
|
18
20
|
|
19
|
-
require 'rexml/document'
|
20
21
|
|
21
|
-
|
22
|
-
|
22
|
+
module MaRuKu
|
23
|
+
|
24
|
+
class MDDocument
|
23
25
|
# an instance of Section (see below)
|
24
26
|
attr_accessor :toc
|
25
27
|
end
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
-
class MDElement
|
30
29
|
# This represents a section in the TOC.
|
31
30
|
class Section
|
32
|
-
# a Fixnum, is == header_element.
|
31
|
+
# a Fixnum, is == header_element.level
|
33
32
|
attr_accessor :section_level
|
34
33
|
|
35
34
|
# An array of fixnum, like [1,2,5] for Section 1.2.5
|
@@ -40,25 +39,23 @@ class MDElement
|
|
40
39
|
|
41
40
|
# Array of immediate children of this element
|
42
41
|
attr_accessor :immediate_children
|
42
|
+
|
43
43
|
# Array of Section inside this section
|
44
44
|
attr_accessor :section_children
|
45
45
|
|
46
|
-
|
47
46
|
def initialize
|
48
47
|
@immediate_children = []
|
49
48
|
@section_children = []
|
50
49
|
end
|
51
50
|
end
|
52
|
-
end
|
53
51
|
|
54
|
-
|
55
|
-
class MDElement
|
56
52
|
class Section
|
57
53
|
def inspect(indent=1)
|
58
54
|
s = ""
|
59
55
|
if @header_element
|
60
56
|
s += "\_"*indent + "(#{@section_level})>\t #{@section_number.join('.')} : "
|
61
|
-
s += @header_element.children_to_s +
|
57
|
+
s += @header_element.children_to_s +
|
58
|
+
" (id: '#{@header_element.attributes[:id]}')\n"
|
62
59
|
else
|
63
60
|
s += "Master\n"
|
64
61
|
end
|
@@ -75,6 +72,9 @@ class MDElement
|
|
75
72
|
section_children.each_with_index do |c,i|
|
76
73
|
c.numerate(a.clone.push(i+1))
|
77
74
|
end
|
75
|
+
if h = self.header_element
|
76
|
+
h.attributes[:section_number] = self.section_number
|
77
|
+
end
|
78
78
|
end
|
79
79
|
|
80
80
|
include REXML
|
@@ -98,7 +98,7 @@ class MDElement
|
|
98
98
|
end
|
99
99
|
a = c.header_element.wrap_as_element('a')
|
100
100
|
a.delete_attribute 'id'
|
101
|
-
a.attributes['href'] = "##{c.header_element.
|
101
|
+
a.attributes['href'] = "##{c.header_element.attributes[:id]}"
|
102
102
|
li << a
|
103
103
|
li << c.create_toc if c.section_children.size>0
|
104
104
|
ul << li
|
@@ -119,7 +119,7 @@ class MDElement
|
|
119
119
|
number = c.header_element.section_number
|
120
120
|
s += number if number
|
121
121
|
text = c.header_element.children_to_latex
|
122
|
-
id = c.header_element.
|
122
|
+
id = c.header_element.attributes[:id]
|
123
123
|
s += "\\hyperlink{#{id}}{#{text}}"
|
124
124
|
s += "\\dotfill \\pageref*{#{id}} \\linebreak\n"
|
125
125
|
s += c.to_latex_rec if c.section_children.size>0
|
@@ -129,71 +129,71 @@ class MDElement
|
|
129
129
|
end
|
130
130
|
|
131
131
|
end
|
132
|
-
end
|
133
|
-
|
134
132
|
|
135
|
-
class
|
133
|
+
class MDDocument
|
136
134
|
|
137
|
-
|
138
|
-
|
139
|
-
|
135
|
+
def create_toc
|
136
|
+
each_element(:header) do |h|
|
137
|
+
h.attributes[:id] ||= h.generate_id
|
138
|
+
end
|
140
139
|
|
141
|
-
|
142
|
-
|
143
|
-
|
140
|
+
stack = []
|
141
|
+
|
142
|
+
# the ancestor section
|
143
|
+
s = Section.new
|
144
|
+
s.section_level = 0
|
144
145
|
|
145
|
-
|
146
|
+
stack.push s
|
146
147
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
end
|
148
|
+
i = 0;
|
149
|
+
while i < @children.size
|
150
|
+
while i < @children.size
|
151
|
+
if @children[i].node_type == :header
|
152
|
+
level = @children[i].level
|
153
|
+
break if level <= stack.last.section_level+1
|
154
|
+
end
|
155
155
|
|
156
|
-
|
157
|
-
|
158
|
-
|
156
|
+
stack.last.immediate_children.push @children[i]
|
157
|
+
i += 1
|
158
|
+
end
|
159
159
|
|
160
|
-
|
160
|
+
break if i>=@children.size
|
161
161
|
|
162
|
-
|
163
|
-
|
162
|
+
header = @children[i]
|
163
|
+
level = header.level
|
164
164
|
|
165
|
-
|
166
|
-
|
165
|
+
if level > stack.last.section_level
|
166
|
+
# this level is inside
|
167
167
|
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
168
|
+
s2 = Section.new
|
169
|
+
s2.section_level = level
|
170
|
+
s2.header_element = header
|
171
|
+
header.instance_variable_set :@section, s2
|
172
172
|
|
173
|
-
|
174
|
-
|
173
|
+
stack.last.section_children.push s2
|
174
|
+
stack.push s2
|
175
175
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
176
|
+
i+=1
|
177
|
+
elsif level == stack.last.section_level
|
178
|
+
# this level is a sibling
|
179
|
+
stack.pop
|
180
|
+
else
|
181
|
+
# this level is a parent
|
182
|
+
stack.pop
|
183
|
+
end
|
184
184
|
|
185
|
-
|
185
|
+
end
|
186
186
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
187
|
+
# If there is only one big header, then assume
|
188
|
+
# it is the master
|
189
|
+
if s.section_children.size == 1
|
190
|
+
s = s.section_children.first
|
191
|
+
end
|
192
192
|
|
193
|
-
|
194
|
-
|
193
|
+
# Assign section numbers
|
194
|
+
s.numerate
|
195
195
|
|
196
|
-
|
196
|
+
s
|
197
|
+
end
|
197
198
|
end
|
198
|
-
|
199
199
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'maruku'
|
2
|
+
|
3
|
+
text = <<EOF
|
4
|
+
Chapter 1
|
5
|
+
=========
|
6
|
+
|
7
|
+
It was a stormy and rainy night.
|
8
|
+
|
9
|
+
EOF
|
10
|
+
|
11
|
+
invalid = <<EOF
|
12
|
+
|
13
|
+
This is a [bad link.
|
14
|
+
|
15
|
+
EOF
|
16
|
+
|
17
|
+
Maruku.new(text).to_html
|
18
|
+
|
19
|
+
s = ""
|
20
|
+
|
21
|
+
begin
|
22
|
+
Maruku.new(invalid, {:on_error => :raise, :error_stream => s})
|
23
|
+
puts "Error! It should have thrown an exception."
|
24
|
+
rescue
|
25
|
+
# puts "ok, got error"
|
26
|
+
end
|
27
|
+
|
28
|
+
begin
|
29
|
+
Maruku.new(invalid, {:on_error => :warning, :error_stream => s})
|
30
|
+
rescue
|
31
|
+
puts "Error! It should not have thrown an exception."
|
32
|
+
end
|
33
|
+
|
data/lib/maruku/version.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
#--
|
1
2
|
# Copyright (C) 2006 Andrea Censi <andrea (at) rubyforge.org>
|
2
3
|
#
|
3
4
|
# This file is part of Maruku.
|
@@ -15,9 +16,10 @@
|
|
15
16
|
# You should have received a copy of the GNU General Public License
|
16
17
|
# along with Maruku; if not, write to the Free Software
|
17
18
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
19
|
+
#++
|
18
20
|
|
19
|
-
|
20
|
-
Version = '0.
|
21
|
+
module MaRuKu
|
22
|
+
Version = '0.4.0'
|
21
23
|
|
22
24
|
MarukuURL = 'http://maruku.rubyforge.org/'
|
23
25
|
|
@@ -29,4 +31,8 @@ class Maruku
|
|
29
31
|
true
|
30
32
|
end
|
31
33
|
|
34
|
+
def new_meta_data?
|
35
|
+
true
|
36
|
+
end
|
37
|
+
|
32
38
|
end
|
@@ -17,17 +17,20 @@ Operation Tigra Genesis is going well.
|
|
17
17
|
md_el(:document,[
|
18
18
|
md_par([
|
19
19
|
"The ",
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
md_el(:abbr,["HTML"],{:title=>"Hyper Text Markup Language"},[]),
|
21
|
+
" specification is maintained by the ",
|
22
|
+
md_el(:abbr,["W3C"],{:title=>"World Wide Web Consortium"},[]),
|
23
|
+
"."
|
24
24
|
]),
|
25
|
-
|
25
|
+
md_el(:abbr_def,[],{:text=>"Hyper Text Markup Language",:abbr=>"HTML"},[]),
|
26
|
+
md_el(:abbr_def,[],{:text=>"World Wide Web Consortium",:abbr=>"W3C"},[]),
|
27
|
+
md_par([
|
26
28
|
"Operation ",
|
27
|
-
|
28
|
-
|
29
|
-
])
|
30
|
-
] )
|
29
|
+
md_el(:abbr,["Tigra Genesis"],{:title=>nil},[]),
|
30
|
+
" is going well."
|
31
|
+
]),
|
32
|
+
md_el(:abbr_def,[],{:text=>nil,:abbr=>"Tigra Genesis"},[])
|
33
|
+
],{},[])
|
31
34
|
*** Output of to_html ***
|
32
35
|
|
33
36
|
<p>The <abbr title='Hyper Text Markup Language'>HTML</abbr> specification is maintained by the <abbr title='World Wide Web Consortium'>W3C</abbr>.</p>
|
@@ -40,8 +43,16 @@ The HTML specification is maintained by the W3C.
|
|
40
43
|
Operation Tigra Genesis is going well.
|
41
44
|
|
42
45
|
|
43
|
-
*** Output of
|
44
|
-
The
|
46
|
+
*** Output of to_md ***
|
47
|
+
The HTMLspecification is maintained by
|
48
|
+
the W3C.
|
49
|
+
|
50
|
+
*[HTML]: Hyper Text Markup Language
|
51
|
+
*[W3C]: World Wide Web Consortium
|
52
|
+
Operation Tigra Genesisis going well.
|
53
|
+
|
54
|
+
*[Tigra Genesis]:
|
55
|
+
|
45
56
|
*** Output of to_s ***
|
46
57
|
The HTML specification is maintained by the W3C.Operation Tigra Genesis is going well.
|
47
58
|
*** EOF ***
|
@@ -64,8 +75,8 @@ The HTML specification is maintained by the W3C.Operation Tigra Genesis is going
|
|
64
75
|
|
65
76
|
*** Output of Markdown.pl (parsed) ***
|
66
77
|
<p>The HTML specification is maintained by the W3C.</p
|
67
|
-
|
68
|
-
*[W3C]:
|
69
|
-
|
70
|
-
|
71
|
-
|
78
|
+
><p>*[HTML]: Hyper Text Markup Language
|
79
|
+
*[W3C]: World Wide Web Consortium</p
|
80
|
+
><p>Operation Tigra Genesis is going well.</p
|
81
|
+
><p>*[Tigra Genesis]:</p
|
82
|
+
>
|
@@ -0,0 +1,89 @@
|
|
1
|
+
This is a simple test for attributes
|
2
|
+
*** Parameters: ***
|
3
|
+
{}
|
4
|
+
*** Markdown input: ***
|
5
|
+
|
6
|
+
Header with attributes {#header1}
|
7
|
+
----------------------
|
8
|
+
|
9
|
+
### Header with attributes ### {#header2}
|
10
|
+
|
11
|
+
### Header no attributes ###
|
12
|
+
|
13
|
+
{warn2}Paragraph with a.
|
14
|
+
{#par1}
|
15
|
+
|
16
|
+
Paragraph with *emphasis*{hello notfound}
|
17
|
+
{#par2}
|
18
|
+
|
19
|
+
{hello}: .chello
|
20
|
+
*** Output of inspect ***
|
21
|
+
md_el(:document,[
|
22
|
+
md_el(:header,["Header with attributes"],{:level=>2},[[:id, "header1"]]),
|
23
|
+
md_el(:header,["Header with attributes"],{:level=>3},[[:id, "header2"]]),
|
24
|
+
md_el(:header,["Header no attributes"],{:level=>3},[[:id, "par1"]]),
|
25
|
+
md_par([
|
26
|
+
"Paragraph with ",
|
27
|
+
md_em(["emphasis"], [[:ref, "hello"], [:ref, "notfound"]]),
|
28
|
+
md_ial([[:ref, "hello"], [:ref, "notfound"]])
|
29
|
+
], [[:id, "par2"]]),
|
30
|
+
md_el(:ald,[],{:ald_id=>"hello",:ald=>[[:class, "chello"]]},[])
|
31
|
+
],{},[])
|
32
|
+
*** Output of to_html ***
|
33
|
+
|
34
|
+
<h2 id='header1'>Header with attributes</h2>
|
35
|
+
|
36
|
+
<h3 id='header2'>Header with attributes</h3>
|
37
|
+
|
38
|
+
<h3 id='par1'>Header no attributes</h3>
|
39
|
+
|
40
|
+
<p id='par2'>Paragraph with <em class='chello'>emphasis</em></p>
|
41
|
+
|
42
|
+
*** Output of to_latex ***
|
43
|
+
\hypertarget{header1}{}\subsection*{{Header with attributes}}\label{header1}
|
44
|
+
|
45
|
+
\hypertarget{header2}{}\subsubsection*{{Header with attributes}}\label{header2}
|
46
|
+
|
47
|
+
\hypertarget{par1}{}\subsubsection*{{Header no attributes}}\label{par1}
|
48
|
+
|
49
|
+
Paragraph with {\em emphasis}
|
50
|
+
|
51
|
+
|
52
|
+
*** Output of to_md ***
|
53
|
+
Header with attributesHeader with attributesHeader no attributesParagraph with emphasis
|
54
|
+
*** Output of to_s ***
|
55
|
+
Header with attributesHeader with attributesHeader no attributesParagraph with emphasis
|
56
|
+
*** EOF ***
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
OK!
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
*** Output of Markdown.pl ***
|
65
|
+
<h2>Header with attributes {#header1} </h2>
|
66
|
+
|
67
|
+
<h3>Header with attributes ### {#header2}</h3>
|
68
|
+
|
69
|
+
<h3>Header no attributes</h3>
|
70
|
+
|
71
|
+
<p>{warn2}Paragraph with a.
|
72
|
+
{#par1}</p>
|
73
|
+
|
74
|
+
<p>Paragraph with <em>emphasis</em>{hello notfound}
|
75
|
+
{#par2}</p>
|
76
|
+
|
77
|
+
<p>{hello}: .chello</p>
|
78
|
+
|
79
|
+
*** Output of Markdown.pl (parsed) ***
|
80
|
+
<h2>Header with attributes {#header1} </h2
|
81
|
+
><h3>Header with attributes ### {#header2}</h3
|
82
|
+
><h3>Header no attributes</h3
|
83
|
+
><p>{warn2}Paragraph with a.
|
84
|
+
{#par1}</p
|
85
|
+
><p>Paragraph with <em>emphasis</em
|
86
|
+
>{hello notfound}
|
87
|
+
{#par2}</p
|
88
|
+
><p>{hello}: .chello</p
|
89
|
+
>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
*** Parameters: ***
|
3
|
+
{}
|
4
|
+
*** Markdown input: ***
|
5
|
+
|
6
|
+
Paragraph
|
7
|
+
{a}
|
8
|
+
|
9
|
+
|
10
|
+
{a}: b
|
11
|
+
{b}: a
|
12
|
+
|
13
|
+
*** Output of inspect ***
|
14
|
+
md_el(:document,[
|
15
|
+
md_par(["Paragraph"], [[:ref, "a"]]),
|
16
|
+
md_el(:ald,[],{:ald_id=>"a",:ald=>[[:ref, "b"]]},[]),
|
17
|
+
md_el(:ald,[],{:ald_id=>"b",:ald=>[[:ref, "a"]]},[])
|
18
|
+
],{},[])
|
19
|
+
*** Output of to_html ***
|
20
|
+
|
21
|
+
<p>Paragraph</p>
|
22
|
+
|
23
|
+
*** Output of to_latex ***
|
24
|
+
Paragraph
|
25
|
+
|
26
|
+
|
27
|
+
*** Output of to_md ***
|
28
|
+
Paragraph
|
29
|
+
*** Output of to_s ***
|
30
|
+
Paragraph
|
31
|
+
*** EOF ***
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
OK!
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
*** Output of Markdown.pl ***
|
40
|
+
<p>Paragraph
|
41
|
+
{a}</p>
|
42
|
+
|
43
|
+
<p>{a}: b
|
44
|
+
{b}: a</p>
|
45
|
+
|
46
|
+
*** Output of Markdown.pl (parsed) ***
|
47
|
+
<p>Paragraph
|
48
|
+
{a}</p
|
49
|
+
><p>{a}: b
|
50
|
+
{b}: a</p
|
51
|
+
>
|