rpeg-multimarkdown 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +94 -0
- data/README.markdown +58 -0
- data/Rakefile +171 -0
- data/bin/rpeg-multimarkdown +128 -0
- data/ext/extconf.h +3 -0
- data/ext/extconf.rb +15 -0
- data/ext/markdown.c +88 -0
- data/ext/markdown_lib.c +211 -0
- data/ext/markdown_lib.h +28 -0
- data/ext/markdown_output.c +2704 -0
- data/ext/markdown_parser.c +8275 -0
- data/ext/markdown_peg.h +142 -0
- data/ext/odf.c +179 -0
- data/ext/odf.h +3 -0
- data/ext/parsing_functions.c +182 -0
- data/ext/utility_functions.c +535 -0
- data/lib/multimarkdown.rb +1 -0
- data/lib/peg_multimarkdown.rb +74 -0
- data/test/MultiMarkdownTest/BeamerTests/Beamer-Tables.html +76 -0
- data/test/MultiMarkdownTest/BeamerTests/Beamer-Tables.tex +64 -0
- data/test/MultiMarkdownTest/BeamerTests/Beamer-Tables.text +38 -0
- data/test/MultiMarkdownTest/MarkdownTest.pl +182 -0
- data/test/MultiMarkdownTest/MemoirTests/Automatic Labels.html +42 -0
- data/test/MultiMarkdownTest/MemoirTests/Automatic Labels.tex +47 -0
- data/test/MultiMarkdownTest/MemoirTests/Automatic Labels.text +46 -0
- data/test/MultiMarkdownTest/MemoirTests/Base Header Level.html +20 -0
- data/test/MultiMarkdownTest/MemoirTests/Base Header Level.tex +19 -0
- data/test/MultiMarkdownTest/MemoirTests/Base Header Level.text +16 -0
- data/test/MultiMarkdownTest/MemoirTests/BibTeX.html +17 -0
- data/test/MultiMarkdownTest/MemoirTests/BibTeX.tex +12 -0
- data/test/MultiMarkdownTest/MemoirTests/BibTeX.text +11 -0
- data/test/MultiMarkdownTest/MemoirTests/Citations.html +63 -0
- data/test/MultiMarkdownTest/MemoirTests/Citations.tex +48 -0
- data/test/MultiMarkdownTest/MemoirTests/Citations.text +43 -0
- data/test/MultiMarkdownTest/MemoirTests/Definition Lists.html +61 -0
- data/test/MultiMarkdownTest/MemoirTests/Definition Lists.tex +63 -0
- data/test/MultiMarkdownTest/MemoirTests/Definition Lists.text +40 -0
- data/test/MultiMarkdownTest/MemoirTests/Dutch.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/Dutch.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/Dutch.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/Email.html +48 -0
- data/test/MultiMarkdownTest/MemoirTests/Email.tex +61 -0
- data/test/MultiMarkdownTest/MemoirTests/Email.text +32 -0
- data/test/MultiMarkdownTest/MemoirTests/English.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/English.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/English.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/Footnotes.html +47 -0
- data/test/MultiMarkdownTest/MemoirTests/Footnotes.tex +28 -0
- data/test/MultiMarkdownTest/MemoirTests/Footnotes.text +26 -0
- data/test/MultiMarkdownTest/MemoirTests/French.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/French.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/French.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/German.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/German.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/German.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/GermanGuillemets.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/GermanGuillemets.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/GermanGuillemets.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/Glossary.html +47 -0
- data/test/MultiMarkdownTest/MemoirTests/Glossary.tex +30 -0
- data/test/MultiMarkdownTest/MemoirTests/Glossary.text +29 -0
- data/test/MultiMarkdownTest/MemoirTests/Line Breaks.html +21 -0
- data/test/MultiMarkdownTest/MemoirTests/Line Breaks.tex +16 -0
- data/test/MultiMarkdownTest/MemoirTests/Line Breaks.text +16 -0
- data/test/MultiMarkdownTest/MemoirTests/Link Attributes.html +40 -0
- data/test/MultiMarkdownTest/MemoirTests/Link Attributes.tex +61 -0
- data/test/MultiMarkdownTest/MemoirTests/Link Attributes.text +51 -0
- data/test/MultiMarkdownTest/MemoirTests/Math.html +22 -0
- data/test/MultiMarkdownTest/MemoirTests/Math.tex +16 -0
- data/test/MultiMarkdownTest/MemoirTests/Math.text +16 -0
- data/test/MultiMarkdownTest/MemoirTests/Memoir Mode.html +24 -0
- data/test/MultiMarkdownTest/MemoirTests/Memoir Mode.tex +23 -0
- data/test/MultiMarkdownTest/MemoirTests/Memoir Mode.text +20 -0
- data/test/MultiMarkdownTest/MemoirTests/MetaData.html +22 -0
- data/test/MultiMarkdownTest/MemoirTests/MetaData.tex +14 -0
- data/test/MultiMarkdownTest/MemoirTests/MetaData.text +15 -0
- data/test/MultiMarkdownTest/MemoirTests/Sanity.html +100 -0
- data/test/MultiMarkdownTest/MemoirTests/Sanity.tex +101 -0
- data/test/MultiMarkdownTest/MemoirTests/Sanity.text +78 -0
- data/test/MultiMarkdownTest/MemoirTests/SmartQuotes.html +26 -0
- data/test/MultiMarkdownTest/MemoirTests/SmartQuotes.tex +21 -0
- data/test/MultiMarkdownTest/MemoirTests/SmartQuotes.text +19 -0
- data/test/MultiMarkdownTest/MemoirTests/Swedish.html +23 -0
- data/test/MultiMarkdownTest/MemoirTests/Swedish.tex +18 -0
- data/test/MultiMarkdownTest/MemoirTests/Swedish.text +17 -0
- data/test/MultiMarkdownTest/MemoirTests/Tables.html +221 -0
- data/test/MultiMarkdownTest/MemoirTests/Tables.tex +134 -0
- data/test/MultiMarkdownTest/MemoirTests/Tables.text +64 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Automatic Labels.html +41 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Automatic Labels.tex +46 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Automatic Labels.text +45 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Base Header Level.html +20 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Base Header Level.tex +19 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Base Header Level.text +16 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/BibTeX.html +16 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/BibTeX.tex +11 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/BibTex.text +10 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Citations.html +62 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Citations.tex +47 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Citations.text +42 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Definition Lists.html +60 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Definition Lists.tex +62 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Definition Lists.text +39 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Dutch.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Dutch.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Dutch.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Email.html +47 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Email.tex +54 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Email.text +31 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/English.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/English.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/English.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Errors.html +16 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Errors.tex +11 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Errors.text +11 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Footnotes.html +46 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Footnotes.tex +24 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Footnotes.text +25 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/French.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/French.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/French.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/German.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/German.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/German.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/GermanGuillemets.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/GermanGuillemets.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/GermanGuillemets.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Glossary.html +46 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Glossary.tex +26 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Glossary.text +28 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.html +46 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.tex +52 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Headers.text +49 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Line Breaks.html +20 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Line Breaks.tex +15 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Line Breaks.text +15 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Link Attributes.html +54 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Link Attributes.tex +60 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Link Attributes.text +50 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/List Parsing.html +20 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/List Parsing.tex +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/List Parsing.text +11 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MarkdownInHTML.html +19 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MarkdownInHTML.tex +13 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MarkdownInHTML.text +19 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Math.html +21 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Math.tex +15 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Math.text +15 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MetaData.html +21 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MetaData.tex +13 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/MetaData.text +14 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Sanity.html +104 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Sanity.tex +100 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Sanity.text +77 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/SmartQuotes.html +29 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/SmartQuotes.tex +24 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/SmartQuotes.text +22 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Swedish.html +23 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Swedish.tex +18 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Swedish.text +17 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.html +230 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.tex +133 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/Tables.text +63 -0
- data/test/MultiMarkdownTest/MultiMarkdownTests/bibtex.bib +119 -0
- data/test/MultiMarkdownTest/README.md +58 -0
- data/test/MultiMarkdownTest/Tests/Amps and angle encoding.html +17 -0
- data/test/MultiMarkdownTest/Tests/Amps and angle encoding.text +21 -0
- data/test/MultiMarkdownTest/Tests/Auto links.html +18 -0
- data/test/MultiMarkdownTest/Tests/Auto links.text +13 -0
- data/test/MultiMarkdownTest/Tests/Backslash escapes.html +118 -0
- data/test/MultiMarkdownTest/Tests/Backslash escapes.text +120 -0
- data/test/MultiMarkdownTest/Tests/Blockquotes with code blocks.html +15 -0
- data/test/MultiMarkdownTest/Tests/Blockquotes with code blocks.text +11 -0
- data/test/MultiMarkdownTest/Tests/Code Blocks.html +18 -0
- data/test/MultiMarkdownTest/Tests/Code Blocks.text +14 -0
- data/test/MultiMarkdownTest/Tests/Code Spans.html +6 -0
- data/test/MultiMarkdownTest/Tests/Code Spans.text +6 -0
- data/test/MultiMarkdownTest/Tests/Compatibility.html +5 -0
- data/test/MultiMarkdownTest/Tests/Compatibility.text +9 -0
- data/test/MultiMarkdownTest/Tests/Hard-wrapped paragraphs with list-like lines.html +8 -0
- data/test/MultiMarkdownTest/Tests/Hard-wrapped paragraphs with list-like lines.text +8 -0
- data/test/MultiMarkdownTest/Tests/Horizontal rules.html +71 -0
- data/test/MultiMarkdownTest/Tests/Horizontal rules.text +67 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML (Advanced).html +15 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML (Advanced).text +15 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML (Simple).html +72 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML (Simple).text +69 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML comments.html +13 -0
- data/test/MultiMarkdownTest/Tests/Inline HTML comments.text +13 -0
- data/test/MultiMarkdownTest/Tests/Links, inline style.html +11 -0
- data/test/MultiMarkdownTest/Tests/Links, inline style.text +12 -0
- data/test/MultiMarkdownTest/Tests/Links, reference style.html +52 -0
- data/test/MultiMarkdownTest/Tests/Links, reference style.text +71 -0
- data/test/MultiMarkdownTest/Tests/Links, shortcut references.html +9 -0
- data/test/MultiMarkdownTest/Tests/Links, shortcut references.text +20 -0
- data/test/MultiMarkdownTest/Tests/Literal quotes in titles.html +3 -0
- data/test/MultiMarkdownTest/Tests/Literal quotes in titles.text +7 -0
- data/test/MultiMarkdownTest/Tests/Markdown Documentation - Basics.html +314 -0
- data/test/MultiMarkdownTest/Tests/Markdown Documentation - Basics.text +306 -0
- data/test/MultiMarkdownTest/Tests/Markdown Documentation - Syntax.html +942 -0
- data/test/MultiMarkdownTest/Tests/Markdown Documentation - Syntax.text +888 -0
- data/test/MultiMarkdownTest/Tests/Nested blockquotes.html +9 -0
- data/test/MultiMarkdownTest/Tests/Nested blockquotes.text +5 -0
- data/test/MultiMarkdownTest/Tests/Ordered and unordered lists.html +148 -0
- data/test/MultiMarkdownTest/Tests/Ordered and unordered lists.text +131 -0
- data/test/MultiMarkdownTest/Tests/Strong and em together.html +7 -0
- data/test/MultiMarkdownTest/Tests/Strong and em together.text +7 -0
- data/test/MultiMarkdownTest/Tests/Tabs.html +25 -0
- data/test/MultiMarkdownTest/Tests/Tabs.text +21 -0
- data/test/MultiMarkdownTest/Tests/Tidyness.html +8 -0
- data/test/MultiMarkdownTest/Tests/Tidyness.text +5 -0
- data/test/benchmark.rb +49 -0
- data/test/multimarkdown_test.rb +89 -0
- metadata +280 -0
@@ -0,0 +1 @@
|
|
1
|
+
require 'peg_multimarkdown'
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'peg_multimarkdown.so'
|
2
|
+
|
3
|
+
# Front-end to fletcher penney's peg-multimarkdown implementation of MultiMarkdown
|
4
|
+
#
|
5
|
+
# A simple processor:
|
6
|
+
# >>> puts MultiMarkdown.new("Hello, World.").to_html
|
7
|
+
# <p>Hello, World.</p>
|
8
|
+
#
|
9
|
+
# With other stuff:
|
10
|
+
# >>> puts MultiMarkdown.new("_Hello -- World!_", :smart, :filter_html).to_html
|
11
|
+
# <p><em>Hello World!</em></p>
|
12
|
+
#
|
13
|
+
class PEGMultiMarkdown
|
14
|
+
|
15
|
+
# Original MultiMarkdown formatted text.
|
16
|
+
attr_reader :text
|
17
|
+
|
18
|
+
# Set true to have smarty-like quote translation performed.
|
19
|
+
attr_accessor :smart
|
20
|
+
|
21
|
+
# Set true to have footnotes processed.
|
22
|
+
attr_accessor :notes
|
23
|
+
|
24
|
+
# Do not output <style> tags included in the source text.
|
25
|
+
attr_accessor :filter_styles
|
26
|
+
|
27
|
+
# Do not output any raw HTML included in the source text.
|
28
|
+
attr_accessor :filter_html
|
29
|
+
|
30
|
+
# Process MultiMarkdown inside of raw HTML
|
31
|
+
attr_accessor :process_html
|
32
|
+
|
33
|
+
# Markdown compatibility mode
|
34
|
+
attr_accessor :compatibility
|
35
|
+
|
36
|
+
# Included for compatibility with RedCloth's interface.
|
37
|
+
attr_accessor :fold_lines
|
38
|
+
|
39
|
+
# Create a new MultiMarkdown processor. The +text+ argument is a string
|
40
|
+
# containing MultiMarkdown text. Variable other arguments may be supplied to
|
41
|
+
# set various processing options:
|
42
|
+
#
|
43
|
+
# * <tt>:smart</tt> - Enable SmartyPants processing.
|
44
|
+
# * <tt>:notes</tt> - Enable footnotes.
|
45
|
+
# * <tt>:filter_styles</tt> - Do not output <style> tags included in the
|
46
|
+
# source text.
|
47
|
+
# * <tt>:filter_html</tt> - Do not output raw HTML included in the
|
48
|
+
# source text.
|
49
|
+
# * <tt>:process_html</tt> - Process MultiMarkdown code inside HTML tags.
|
50
|
+
# * <tt>:compatibility</tt> - Process MultiMarkdown code in Markdown
|
51
|
+
# compatibility mode.
|
52
|
+
# * <tt>:fold_lines</tt> - RedCloth compatible line folding (not used).
|
53
|
+
#
|
54
|
+
def initialize(text, *extensions)
|
55
|
+
@text = text
|
56
|
+
@smart = true
|
57
|
+
@notes = true
|
58
|
+
@filter_styles = false
|
59
|
+
@filter_html = false
|
60
|
+
@process_html = false
|
61
|
+
@compatibility = false
|
62
|
+
extensions.each { |e| send("#{e}=", true) }
|
63
|
+
if @compatibility
|
64
|
+
@smart = false
|
65
|
+
@notes = false
|
66
|
+
@process_html = false
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
alias to_s text
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
MultiMarkdown = PEGMultiMarkdown unless defined? MultiMarkdown
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta name="latexinput" content="mmd-beamer-header"/>
|
6
|
+
<title>Test </title>
|
7
|
+
<meta name="latexmode" content="beamer"/>
|
8
|
+
<meta name="theme" content="keynote-gradient"/>
|
9
|
+
<meta name="latexinput" content="mmd-beamer-begin-doc"/>
|
10
|
+
<meta name="latexfooter" content="mmd-beamer-footer"/>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
<h3 id="tables">Tables</h3>
|
14
|
+
|
15
|
+
<table>
|
16
|
+
<col align="left"/>
|
17
|
+
<col align="center"/>
|
18
|
+
<col align="center"/>
|
19
|
+
|
20
|
+
<thead>
|
21
|
+
<tr>
|
22
|
+
<th align="left">Features </th>
|
23
|
+
<th align="center">MultiMarkdown </th>
|
24
|
+
<th align="center">Crayons </th>
|
25
|
+
</tr>
|
26
|
+
</thead>
|
27
|
+
|
28
|
+
<tbody>
|
29
|
+
<tr>
|
30
|
+
<td align="left">Melts in warm places </td>
|
31
|
+
<td align="center">No </td>
|
32
|
+
<td align="center">Yes </td>
|
33
|
+
</tr>
|
34
|
+
<tr>
|
35
|
+
<td align="left">Mistakes can be easily fixed </td>
|
36
|
+
<td align="center">Yes </td>
|
37
|
+
<td align="center">No </td>
|
38
|
+
</tr>
|
39
|
+
<tr>
|
40
|
+
<td align="left">Easy to copy documents for friends </td>
|
41
|
+
<td align="center">Yes </td>
|
42
|
+
<td align="center">No </td>
|
43
|
+
</tr>
|
44
|
+
<tr>
|
45
|
+
<td align="left">Fun at parties </td>
|
46
|
+
<td align="center">No </td>
|
47
|
+
<td align="center">Why not? </td>
|
48
|
+
</tr>
|
49
|
+
</tbody>
|
50
|
+
|
51
|
+
<tbody>
|
52
|
+
<tr>
|
53
|
+
<td align="left">Minimum markup for maximum quality? </td>
|
54
|
+
<td align="center">Yes </td>
|
55
|
+
<td align="center">No </td>
|
56
|
+
</tr>
|
57
|
+
</tbody>
|
58
|
+
</table>
|
59
|
+
<h3 id="theoldwaywascomplicated">The old way was complicated</h3>
|
60
|
+
|
61
|
+
<pre><code><p>In order to create valid
|
62
|
+
<a href="http://en.wikipedia.org/wiki/HTML">HTML</a>, you
|
63
|
+
need properly coded syntax that can be cumbersome for
|
64
|
+
&#8220;non-programmers&#8221; to write. Sometimes, you
|
65
|
+
just want to easily make certain words <strong>bold
|
66
|
+
</strong>, and certain words <em>italicized</em> without
|
67
|
+
having to remember the syntax. Additionally, for example,
|
68
|
+
creating lists:</p>
|
69
|
+
|
70
|
+
<ul>
|
71
|
+
<li>should be easy</li>
|
72
|
+
<li>should not involve programming</li>
|
73
|
+
</ul>
|
74
|
+
</code></pre>
|
75
|
+
</body>
|
76
|
+
</html>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
\input{mmd-beamer-header}
|
2
|
+
\def\mytitle{Test}
|
3
|
+
\def\latexmode{beamer}
|
4
|
+
\def\theme{keynote-gradient}
|
5
|
+
\input{mmd-beamer-begin-doc}
|
6
|
+
\begin{frame}
|
7
|
+
|
8
|
+
\frametitle{Tables}
|
9
|
+
\label{tables}
|
10
|
+
|
11
|
+
\begin{table}[htbp]
|
12
|
+
\begin{minipage}{\linewidth}
|
13
|
+
\setlength{\tymax}{0.5\linewidth}
|
14
|
+
\centering
|
15
|
+
\small
|
16
|
+
\begin{tabular}{@{}lcc@{}} \toprule
|
17
|
+
Features&MultiMarkdown&Crayons\\
|
18
|
+
\midrule
|
19
|
+
Melts in warm places&No&Yes\\
|
20
|
+
Mistakes can be easily fixed&Yes&No\\
|
21
|
+
Easy to copy documents for friends&Yes&No\\
|
22
|
+
Fun at parties&No&Why not?\\
|
23
|
+
|
24
|
+
\midrule
|
25
|
+
Minimum markup for maximum quality?&Yes&No\\
|
26
|
+
|
27
|
+
\bottomrule
|
28
|
+
|
29
|
+
\end{tabular}
|
30
|
+
\end{minipage}
|
31
|
+
\end{table}
|
32
|
+
|
33
|
+
|
34
|
+
\end{frame}
|
35
|
+
|
36
|
+
\begin{frame}[fragile]
|
37
|
+
|
38
|
+
\frametitle{The old way was complicated}
|
39
|
+
\label{theoldwaywascomplicated}
|
40
|
+
|
41
|
+
\begin{verbatim}
|
42
|
+
<p>In order to create valid
|
43
|
+
<a href="http://en.wikipedia.org/wiki/HTML">HTML</a>, you
|
44
|
+
need properly coded syntax that can be cumbersome for
|
45
|
+
“non-programmers” to write. Sometimes, you
|
46
|
+
just want to easily make certain words <strong>bold
|
47
|
+
</strong>, and certain words <em>italicized</em> without
|
48
|
+
having to remember the syntax. Additionally, for example,
|
49
|
+
creating lists:</p>
|
50
|
+
|
51
|
+
<ul>
|
52
|
+
<li>should be easy</li>
|
53
|
+
<li>should not involve programming</li>
|
54
|
+
</ul>
|
55
|
+
\end{verbatim}
|
56
|
+
|
57
|
+
|
58
|
+
\end{frame}
|
59
|
+
|
60
|
+
\mode<all>
|
61
|
+
\input{mmd-beamer-footer}
|
62
|
+
|
63
|
+
\end{document}\mode*
|
64
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
latex input: mmd-beamer-header
|
2
|
+
Title: Test
|
3
|
+
base header level: 3
|
4
|
+
latex mode: beamer
|
5
|
+
Theme: keynote-gradient
|
6
|
+
latex input: mmd-beamer-begin-doc
|
7
|
+
latex footer: mmd-beamer-footer
|
8
|
+
|
9
|
+
|
10
|
+
# Tables #
|
11
|
+
|
12
|
+
|
13
|
+
| Features | MultiMarkdown | Crayons |
|
14
|
+
----------------------------------- | :-----------: | :------: |
|
15
|
+
Melts in warm places | No | Yes |
|
16
|
+
Mistakes can be easily fixed | Yes | No |
|
17
|
+
Easy to copy documents for friends | Yes | No |
|
18
|
+
Fun at parties | No | Why not? |
|
19
|
+
|
20
|
+
Minimum markup for maximum quality? | Yes | No |
|
21
|
+
|
22
|
+
|
23
|
+
# The old way was complicated #
|
24
|
+
|
25
|
+
<p>In order to create valid
|
26
|
+
<a href="http://en.wikipedia.org/wiki/HTML">HTML</a>, you
|
27
|
+
need properly coded syntax that can be cumbersome for
|
28
|
+
“non-programmers” to write. Sometimes, you
|
29
|
+
just want to easily make certain words <strong>bold
|
30
|
+
</strong>, and certain words <em>italicized</em> without
|
31
|
+
having to remember the syntax. Additionally, for example,
|
32
|
+
creating lists:</p>
|
33
|
+
|
34
|
+
<ul>
|
35
|
+
<li>should be easy</li>
|
36
|
+
<li>should not involve programming</li>
|
37
|
+
</ul>
|
38
|
+
|
@@ -0,0 +1,182 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
|
3
|
+
#
|
4
|
+
# MarkdownTester -- Run tests for Markdown implementations
|
5
|
+
#
|
6
|
+
# Copyright (c) 2004-2005 John Gruber
|
7
|
+
# <http://daringfireball.net/projects/markdown/>
|
8
|
+
#
|
9
|
+
|
10
|
+
use strict;
|
11
|
+
use warnings;
|
12
|
+
use Getopt::Long;
|
13
|
+
use Benchmark;
|
14
|
+
|
15
|
+
our $VERSION = '1.0.2';
|
16
|
+
# Sat 24 Dec 2005
|
17
|
+
|
18
|
+
my $time_start = new Benchmark;
|
19
|
+
my $test_dir = "Tests";
|
20
|
+
my $script = "./Markdown.pl";
|
21
|
+
my $use_tidy = 0;
|
22
|
+
my ($flag_version);
|
23
|
+
my $flags = "";
|
24
|
+
my $file_ext = "\.html";
|
25
|
+
my $trail = "";
|
26
|
+
|
27
|
+
GetOptions (
|
28
|
+
"script=s" => \$script,
|
29
|
+
"testdir=s" => \$test_dir,
|
30
|
+
"tidy" => \$use_tidy,
|
31
|
+
"version" => \$flag_version,
|
32
|
+
"flags=s" => \$flags,
|
33
|
+
"ext=s" => \$file_ext,
|
34
|
+
"trailflags=s" => \$trail,
|
35
|
+
);
|
36
|
+
|
37
|
+
if($flag_version) {
|
38
|
+
my $progname = $0;
|
39
|
+
$progname =~ s{.*/}{};
|
40
|
+
die "$progname version $VERSION\n";
|
41
|
+
}
|
42
|
+
|
43
|
+
unless (-d $test_dir) { die "'$test_dir' is not a directory.\n"; }
|
44
|
+
unless (-f $script) { die "$script does not exist.\n"; }
|
45
|
+
unless (-x $script) { die "$script is not executable.\n"; }
|
46
|
+
|
47
|
+
my $tests_passed = 0;
|
48
|
+
my $tests_failed = 0;
|
49
|
+
|
50
|
+
TEST:
|
51
|
+
foreach my $testfile (glob "$test_dir/*.text") {
|
52
|
+
my $testname = $testfile;
|
53
|
+
$testname =~ s{.*/(.+)\.text$}{$1}i;
|
54
|
+
print "$testname ... ";
|
55
|
+
|
56
|
+
# Look for a corresponding .html file for each .text file:
|
57
|
+
my $resultfile = $testfile;
|
58
|
+
$resultfile =~ s{\.text$}{$file_ext}i;
|
59
|
+
unless (-f $resultfile) {
|
60
|
+
print "'$resultfile' does not exist.\n\n";
|
61
|
+
next TEST;
|
62
|
+
}
|
63
|
+
|
64
|
+
# open(TEST, $testfile) || die("Can't open testfile: $!");
|
65
|
+
open(RESULT, $resultfile) || die("Can't open resultfile: $!");
|
66
|
+
undef $/;
|
67
|
+
# my $t_input = <TEST>;
|
68
|
+
my $t_result = <RESULT>;
|
69
|
+
|
70
|
+
my $t_output = `'$script' $flags '$testfile' $trail`;
|
71
|
+
|
72
|
+
# Normalize the output and expected result strings:
|
73
|
+
$t_result =~ s/\s+\z//; # trim trailing whitespace
|
74
|
+
$t_output =~ s/\s+\z//; # trim trailing whitespace
|
75
|
+
if ($use_tidy) {
|
76
|
+
# Escape the strings, pass them through to CLI tidy tool for tag-level equivalency
|
77
|
+
$t_result =~ s{'}{'\\''}g; # escape ' chars for shell
|
78
|
+
$t_output =~ s{'}{'\\''}g;
|
79
|
+
$t_result = `echo '$t_result' | tidy --show-body-only 1 --quiet 1 --show-warnings 0`;
|
80
|
+
$t_output = `echo '$t_output' | tidy --show-body-only 1 --quiet 1 --show-warnings 0`;
|
81
|
+
}
|
82
|
+
|
83
|
+
if ($t_output eq $t_result) {
|
84
|
+
print "OK\n";
|
85
|
+
$tests_passed++;
|
86
|
+
}
|
87
|
+
else {
|
88
|
+
print "FAILED\n\n";
|
89
|
+
# This part added by JM to print diffs
|
90
|
+
open(OUT, '>tmp1') or die $!;
|
91
|
+
print OUT $t_output or die $!;
|
92
|
+
open(RES, '>tmp2') or die $!;
|
93
|
+
print RES $t_result or die $!;
|
94
|
+
print `diff tmp1 tmp2`;
|
95
|
+
close RES;
|
96
|
+
close OUT;
|
97
|
+
print "\n";
|
98
|
+
`rm tmp?`;
|
99
|
+
# End of added part
|
100
|
+
$tests_failed++;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
print "\n\n";
|
105
|
+
print "$tests_passed passed; $tests_failed failed.\n";
|
106
|
+
|
107
|
+
my $time_end = new Benchmark;
|
108
|
+
my $time_diff = timediff($time_end, $time_start);
|
109
|
+
print "Benchmark: ", timestr($time_diff), "\n";
|
110
|
+
|
111
|
+
|
112
|
+
__END__
|
113
|
+
|
114
|
+
=pod
|
115
|
+
|
116
|
+
=head1 NAME
|
117
|
+
|
118
|
+
B<MarkdownTest>
|
119
|
+
|
120
|
+
|
121
|
+
=head1 SYNOPSIS
|
122
|
+
|
123
|
+
B<MarkdownTest.pl> [ B<--options> ] [ I<file> ... ]
|
124
|
+
|
125
|
+
|
126
|
+
=head1 DESCRIPTION
|
127
|
+
|
128
|
+
|
129
|
+
=head1 OPTIONS
|
130
|
+
|
131
|
+
Use "--" to end switch parsing. For example, to open a file named "-z", use:
|
132
|
+
|
133
|
+
MarkdownTest.pl -- -z
|
134
|
+
|
135
|
+
=over 4
|
136
|
+
|
137
|
+
=item B<--script>
|
138
|
+
|
139
|
+
Specify the path to the Markdown script to test. Defaults to
|
140
|
+
"./Markdown.pl". Example:
|
141
|
+
|
142
|
+
./MarkdownTest.pl --script ./PHP-Markdown/php-markdown
|
143
|
+
|
144
|
+
=item B<--testdir>
|
145
|
+
|
146
|
+
Specify the path to a directory containing test data. Defaults to "Tests".
|
147
|
+
|
148
|
+
=item B<--tidy>
|
149
|
+
|
150
|
+
Flag to turn on using the command line 'tidy' tool to normalize HTML
|
151
|
+
output before comparing script output to the expected test result.
|
152
|
+
Assumes that the 'tidy' command is available in your PATH. Defaults to
|
153
|
+
off.
|
154
|
+
|
155
|
+
=back
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
=head1 BUGS
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
=head1 VERSION HISTORY
|
164
|
+
|
165
|
+
1.0 Mon 13 Dec 2004-2005
|
166
|
+
|
167
|
+
1.0.1 Mon 19 Sep 2005
|
168
|
+
|
169
|
+
+ Better handling of case when foo.text exists, but foo.html doesn't.
|
170
|
+
It now prints a message and moves on, rather than dying.
|
171
|
+
|
172
|
+
|
173
|
+
=head1 COPYRIGHT AND LICENSE
|
174
|
+
|
175
|
+
Copyright (c) 2004-2005 John Gruber
|
176
|
+
<http://daringfireball.net/>
|
177
|
+
All rights reserved.
|
178
|
+
|
179
|
+
This is free software; you may redistribute it and/or modify it under
|
180
|
+
the same terms as Perl itself.
|
181
|
+
|
182
|
+
=cut
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
4
|
+
<head>
|
5
|
+
<meta name="latexinput" content="mmd-article-header"/>
|
6
|
+
<title>MultiMarkdown Autoreference Test</title>
|
7
|
+
<meta name="latexmode" content="memoir"/>
|
8
|
+
<meta name="latexinput" content="mmd-article-begin-doc"/>
|
9
|
+
<meta name="latexfooter" content="mmd-memoir-footer"/>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h2 id="muststartwithalpha">109&^*&#^() Must Start With Alpha</h2>
|
13
|
+
|
14
|
+
<h2 id="stripoutcharacters">Strip out &^% characters ^&*^</h2>
|
15
|
+
|
16
|
+
<h2 id="specialcrossreferencecases">Special Cross Reference Cases</h2>
|
17
|
+
|
18
|
+
<h3 id="cross-references:specialcharacters">1 Cross-References: Special Characters!@#$%^&*()<></h3>
|
19
|
+
|
20
|
+
<p>And now, link to <a href="#cross-references:specialcharacters">1 Cross-References: Special Characters!@#$%^&*()<></a></p>
|
21
|
+
|
22
|
+
<h2 id="setext1">Setext 1</h2>
|
23
|
+
|
24
|
+
<h3 id="setext2">Setext 2</h3>
|
25
|
+
|
26
|
+
<h2 id="atx1">Atx 1</h2>
|
27
|
+
|
28
|
+
<p>Link to <a href="#setext1">Setext 1</a>.</p>
|
29
|
+
|
30
|
+
<p>And <a href="#setext2">Setext 2</a>.</p>
|
31
|
+
|
32
|
+
<p>And <a href="#atx1">Atx 1</a>.</p>
|
33
|
+
|
34
|
+
<p>And [Atx 2] should fail.</p>
|
35
|
+
|
36
|
+
<h2 id="label">Manual Header</h2>
|
37
|
+
|
38
|
+
<h2 id="label2">Manual Header 2</h2>
|
39
|
+
|
40
|
+
<h3 id="label3">Manual Header 3</h3>
|
41
|
+
</body>
|
42
|
+
</html>
|