maruku 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
>
|