mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
Compare commits
69 Commits
Author | SHA1 | Date | |
---|---|---|---|
1017f22cdd | |||
88854955d6 | |||
654dd74074 | |||
fee5b71998 | |||
149b687ee7 | |||
98b17e3354 | |||
da966b83f1 | |||
b9ab495cb4 | |||
408cb5c21f | |||
5dd0e8cb7b | |||
5521afde31 | |||
4317add3a2 | |||
47d8a1382b | |||
fd42f2e864 | |||
c0b7155572 | |||
be366b63ea | |||
68484504ca | |||
4fecd91f7d | |||
9dae844a6e | |||
df6fe915c6 | |||
576b0ea761 | |||
0f027dc04b | |||
179862bd6e | |||
019a4af2af | |||
51a08fad85 | |||
7fb08f334a | |||
85ad014f74 | |||
22336a1bcc | |||
f713e380ee | |||
5b01915a63 | |||
18d112a614 | |||
1b9641ad03 | |||
8baf537c12 | |||
05823567bc | |||
b7029ab176 | |||
102a947c7a | |||
7bb70186c1 | |||
3225c66863 | |||
d6dc5ba25b | |||
f5451a9eff | |||
849a89b121 | |||
28064a63b3 | |||
800aac5b56 | |||
b15d40e8a3 | |||
ddc5b7e2dd | |||
5a563008aa | |||
b6f795962f | |||
cdb2646063 | |||
e3b8026e39 | |||
d96f668c42 | |||
96bf75bd91 | |||
67b51794d8 | |||
a9d6232705 | |||
b91629ad94 | |||
24d300ea5d | |||
d54712b989 | |||
6ef043ba7d | |||
fe27b70bdb | |||
18d3dbf4f6 | |||
4758f58f73 | |||
5fa3eb1b2f | |||
38300323a6 | |||
96609329b9 | |||
e497acb6dc | |||
30e436ec7d | |||
3972f18881 | |||
4fb12be60a | |||
f8b07611d3 | |||
21d7f75f5b |
@ -5,7 +5,4 @@ php:
|
||||
- 5.4
|
||||
- 5.3
|
||||
- 5.2
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: 5.2
|
||||
- hhvm
|
955
Parsedown.php
955
Parsedown.php
File diff suppressed because it is too large
Load Diff
23
README.md
23
README.md
@ -1,9 +1,20 @@
|
||||
## Parsedown PHP
|
||||
## Parsedown
|
||||
|
||||
Parsedown is a parser for Markdown. It parses Markdown text the way people do. First, it divides texts into blocks. Then it looks at how these blocks start and how they relate to each other. Finally, it looks for special characters to identify inline elements. As a result, Parsedown is (super) fast, consistent and clean.
|
||||
Better [Markdown](http://en.wikipedia.org/wiki/Markdown) parser for PHP.
|
||||
|
||||
[Explorer (demo)](http://parsedown.org/explorer/)
|
||||
[Tests](http://parsedown.org/tests/)
|
||||
***
|
||||
|
||||
[ [demo](http://parsedown.org/demo) ] [ [tests](http://parsedown.org/tests/) ]
|
||||
|
||||
***
|
||||
|
||||
### Features
|
||||
|
||||
* [fast](http://parsedown.org/speed)
|
||||
* [consistent](http://parsedown.org/consistency)
|
||||
* [GitHub Flavored](https://help.github.com/articles/github-flavored-markdown)
|
||||
* friendly to international input
|
||||
* [tested](https://travis-ci.org/erusev/parsedown) in PHP 5.2, 5.3, 5.4, 5.5 and [hhvm](http://www.hhvm.com/)
|
||||
|
||||
### Installation
|
||||
|
||||
@ -12,9 +23,9 @@ Include `Parsedown.php` or install [the composer package](https://packagist.org/
|
||||
### Example
|
||||
|
||||
```php
|
||||
$text = 'Hello **Parsedown**!';
|
||||
$text = 'Hello _Parsedown_!';
|
||||
|
||||
$result = Parsedown::instance()->parse($text);
|
||||
|
||||
echo $result; # prints: <p>Hello <strong>Parsedown</strong>!</p>
|
||||
echo $result; # prints: <p>Hello <em>Parsedown</em>!</p>
|
||||
```
|
@ -20,20 +20,29 @@ class Test extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
$provider = array();
|
||||
|
||||
$DirectoryIterator = new DirectoryIterator(__DIR__ . '/' . self::provider_dir);
|
||||
$path = dirname(__FILE__).'/';
|
||||
|
||||
$DirectoryIterator = new DirectoryIterator($path . '/' . self::provider_dir);
|
||||
|
||||
foreach ($DirectoryIterator as $Item)
|
||||
{
|
||||
if ($Item->isFile() and $Item->getExtension() === 'md')
|
||||
if ($Item->isFile())
|
||||
{
|
||||
$filename = $Item->getFilename();
|
||||
|
||||
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
|
||||
if ($extension !== 'md')
|
||||
continue;
|
||||
|
||||
$basename = $Item->getBasename('.md');
|
||||
|
||||
$markdown = file_get_contents(__DIR__ . '/' . self::provider_dir . $basename . '.md');
|
||||
$markdown = file_get_contents($path . '/' . self::provider_dir . $basename . '.md');
|
||||
|
||||
if (!$markdown)
|
||||
continue;
|
||||
|
||||
$expected_markup = file_get_contents(__DIR__ . '/' . self::provider_dir . $basename . '.html');
|
||||
$expected_markup = file_get_contents($path . '/' . self::provider_dir . $basename . '.html');
|
||||
$expected_markup = str_replace("\r\n", "\n", $expected_markup);
|
||||
$expected_markup = str_replace("\r", "\n", $expected_markup);
|
||||
|
||||
@ -44,4 +53,3 @@ class Test extends PHPUnit_Framework_TestCase
|
||||
return $provider;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
<h1>This is an h1</h1>
|
||||
<h2>This is an h2</h2>
|
||||
<h3>This is an h3</h3>
|
||||
<h4>This is an h4</h4>
|
||||
<h5>This is an h5</h5>
|
||||
<h6>This is an h6</h6>
|
||||
<h1>h1</h1>
|
||||
<h2>h2</h2>
|
||||
<h3>h3</h3>
|
||||
<h4>h4</h4>
|
||||
<h5>h5</h5>
|
||||
<h6>h6</h6>
|
||||
<h1>closed h1</h1>
|
||||
<p>#</p>
|
@ -1,11 +1,15 @@
|
||||
# This is an h1
|
||||
# h1
|
||||
|
||||
## This is an h2
|
||||
## h2
|
||||
|
||||
### This is an h3
|
||||
### h3
|
||||
|
||||
#### This is an h4
|
||||
#### h4
|
||||
|
||||
##### This is an h5
|
||||
##### h5
|
||||
|
||||
###### This is an h6
|
||||
###### h6
|
||||
|
||||
# closed h1 #
|
||||
|
||||
#
|
@ -1,6 +0,0 @@
|
||||
<h1>h1</h1>
|
||||
<h2>h2</h2>
|
||||
<h3>h3</h3>
|
||||
<h4>h4</h4>
|
||||
<h5>h5</h5>
|
||||
<h6>h6</h6>
|
@ -1,11 +0,0 @@
|
||||
# h1 #
|
||||
|
||||
## h2 ##
|
||||
|
||||
### h3 ###
|
||||
|
||||
#### h4 ####
|
||||
|
||||
##### h5 #####
|
||||
|
||||
###### h6 ######
|
5
tests/data/block-level_html.html
Normal file
5
tests/data/block-level_html.html
Normal file
@ -0,0 +1,5 @@
|
||||
<div>_content_</div>
|
||||
<p>sparse:</p>
|
||||
<div>
|
||||
_content_
|
||||
</div>
|
7
tests/data/block-level_html.md
Normal file
7
tests/data/block-level_html.md
Normal file
@ -0,0 +1,7 @@
|
||||
<div>_content_</div>
|
||||
|
||||
sparse:
|
||||
|
||||
<div>
|
||||
_content_
|
||||
</div>
|
@ -1,9 +0,0 @@
|
||||
<p>Here's a blockquote:</p>
|
||||
<blockquote>
|
||||
<p>blockquote</p>
|
||||
</blockquote>
|
||||
<p>Here's one on multiple lines:</p>
|
||||
<blockquote>
|
||||
<p>line 1
|
||||
line 2</p>
|
||||
</blockquote>
|
@ -1,8 +0,0 @@
|
||||
Here's a blockquote:
|
||||
|
||||
> blockquote
|
||||
|
||||
Here's one on multiple lines:
|
||||
|
||||
> line 1
|
||||
> line 2
|
@ -1,16 +0,0 @@
|
||||
<p>Here's one with multiple paragraphs:</p>
|
||||
<blockquote>
|
||||
<p>This is line one.</p>
|
||||
<p>This is line two.</p>
|
||||
</blockquote>
|
||||
<p>Here's one with multiple types of blocks:</p>
|
||||
<blockquote>
|
||||
<p>This is a quoted paragraph.</p>
|
||||
<ul>
|
||||
<li>This is a list item of a quoted list.</li>
|
||||
<li>This is another list item.</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>This is a nested quote block.</p>
|
||||
</blockquote>
|
||||
</blockquote>
|
@ -1,14 +0,0 @@
|
||||
Here's one with multiple paragraphs:
|
||||
|
||||
> This is line one.
|
||||
>
|
||||
> This is line two.
|
||||
|
||||
Here's one with multiple types of blocks:
|
||||
|
||||
> This is a quoted paragraph.
|
||||
>
|
||||
> - This is a list item of a quoted list.
|
||||
> - This is another list item.
|
||||
>
|
||||
> > This is a nested quote block.
|
@ -1,11 +0,0 @@
|
||||
<p>Here's a lazy blockquote:</p>
|
||||
<blockquote>
|
||||
<p>line
|
||||
line</p>
|
||||
</blockquote>
|
||||
<p>Here's one with multiple lines:</p>
|
||||
<blockquote>
|
||||
<p>line
|
||||
line
|
||||
line</p>
|
||||
</blockquote>
|
@ -1,10 +0,0 @@
|
||||
Here's a lazy blockquote:
|
||||
|
||||
> line
|
||||
line
|
||||
|
||||
Here's one with multiple lines:
|
||||
|
||||
> line
|
||||
line
|
||||
line
|
@ -1,12 +0,0 @@
|
||||
<p>Here's a blockquote with no space after the ">":</p>
|
||||
<blockquote>
|
||||
<p>blockquote</p>
|
||||
</blockquote>
|
||||
<p>Here's a blockquote with leading space:</p>
|
||||
<blockquote>
|
||||
<p>blockquote</p>
|
||||
</blockquote>
|
||||
<p>Here's a blockquote on the next line:</p>
|
||||
<blockquote>
|
||||
<p>blockquote</p>
|
||||
</blockquote>
|
@ -1,10 +0,0 @@
|
||||
Here's a blockquote with no space after the ">":
|
||||
|
||||
>blockquote
|
||||
|
||||
Here's a blockquote with leading space:
|
||||
|
||||
> blockquote
|
||||
|
||||
Here's a blockquote on the next line:
|
||||
> blockquote
|
@ -1,5 +1,8 @@
|
||||
<p>Here's a code block:</p>
|
||||
<pre><code><?php
|
||||
|
||||
$message = 'Hello World!';
|
||||
echo $message;</code></pre>
|
||||
<hr />
|
||||
<pre><code>> not a quote
|
||||
- not a list item
|
||||
[not a reference]: http://foo.com</code></pre>
|
@ -1,6 +1,11 @@
|
||||
Here's a code block:
|
||||
|
||||
<?php
|
||||
|
||||
$message = 'Hello World!';
|
||||
echo $message;
|
||||
|
||||
---
|
||||
|
||||
> not a quote
|
||||
- not a list item
|
||||
[not a reference]: http://foo.com
|
||||
|
@ -1 +1 @@
|
||||
<p>This is a <code>code span</code>.</p>
|
||||
<p>a <code>code span</code></p>
|
@ -1 +1 @@
|
||||
This is a `code span`.
|
||||
a `code span`
|
9
tests/data/compound_blockquote.html
Normal file
9
tests/data/compound_blockquote.html
Normal file
@ -0,0 +1,9 @@
|
||||
<blockquote>
|
||||
<h2>header</h2>
|
||||
<p>paragraph</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p>paragraph</p>
|
||||
</blockquote>
|
10
tests/data/compound_blockquote.md
Normal file
10
tests/data/compound_blockquote.md
Normal file
@ -0,0 +1,10 @@
|
||||
> header
|
||||
> ------
|
||||
>
|
||||
> paragraph
|
||||
>
|
||||
> - li
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> paragraph
|
2
tests/data/compound_emphasis.html
Normal file
2
tests/data/compound_emphasis.html
Normal file
@ -0,0 +1,2 @@
|
||||
<p><em><code>code</code></em> <strong><code>code</code></strong></p>
|
||||
<p><em><code>code</code><strong><code>code</code></strong><code>code</code></em></p>
|
4
tests/data/compound_emphasis.md
Normal file
4
tests/data/compound_emphasis.md
Normal file
@ -0,0 +1,4 @@
|
||||
_`code`_ __`code`__
|
||||
|
||||
*`code`**`code`**`code`*
|
||||
|
12
tests/data/compound_list.html
Normal file
12
tests/data/compound_list.html
Normal file
@ -0,0 +1,12 @@
|
||||
<ul>
|
||||
<li>
|
||||
<p>paragraph</p>
|
||||
<p>paragraph</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>paragraph</p>
|
||||
<blockquote>
|
||||
<p>quote</p>
|
||||
</blockquote>
|
||||
</li>
|
||||
</ul>
|
7
tests/data/compound_list.md
Normal file
7
tests/data/compound_list.md
Normal file
@ -0,0 +1,7 @@
|
||||
- paragraph
|
||||
|
||||
paragraph
|
||||
|
||||
- paragraph
|
||||
|
||||
> quote
|
8
tests/data/em_strong.html
Normal file
8
tests/data/em_strong.html
Normal file
@ -0,0 +1,8 @@
|
||||
<p><strong><em>em strong</em></strong></p>
|
||||
<p><strong><em>em strong</em> strong</strong></p>
|
||||
<p><strong>strong <em>em strong</em></strong></p>
|
||||
<p><strong>strong <em>em strong</em> strong</strong></p>
|
||||
<p><strong><em>em strong</em></strong></p>
|
||||
<p><strong><em>em strong</em> strong</strong></p>
|
||||
<p><strong>strong <em>em strong</em></strong></p>
|
||||
<p><strong>strong <em>em strong</em> strong</strong></p>
|
15
tests/data/em_strong.md
Normal file
15
tests/data/em_strong.md
Normal file
@ -0,0 +1,15 @@
|
||||
___em strong___
|
||||
|
||||
___em strong_ strong__
|
||||
|
||||
__strong _em strong___
|
||||
|
||||
__strong _em strong_ strong__
|
||||
|
||||
***em strong***
|
||||
|
||||
***em strong* strong**
|
||||
|
||||
**strong *em strong***
|
||||
|
||||
**strong *em strong* strong**
|
@ -1,11 +1,8 @@
|
||||
<p>Here's <em>an emphasis</em>.</p>
|
||||
<p>A short one <em>a</em> <em>b</em> .</p>
|
||||
<p>Here's <strong>a strong one</strong>. </p>
|
||||
<p>Here's <em>one that uses underscores</em>. </p>
|
||||
<p>Here's <strong>a strong one that uses underscores</strong>.</p>
|
||||
<p>This is not _ one _ neither is * this * neither is _ this_ neither is _this _.</p>
|
||||
<p>An empty emphasis ** is not __ an emphasis.</p>
|
||||
<p>A <em>multi-line
|
||||
emphasis</em></p>
|
||||
<p>A <strong>multi-line
|
||||
strong emphasis</strong></p>
|
||||
<p><em>underscore</em>, <em>asterisk</em>, <em>one two</em>, <em>three four</em>, <em>a</em>, <em>b</em></p>
|
||||
<p><strong>strong</strong> and <em>em</em> and <strong>strong</strong> and <em>em</em></p>
|
||||
<p><em>line
|
||||
line
|
||||
line</em></p>
|
||||
<p>this_is_not_an_emphasis</p>
|
||||
<p>an empty emphasis __ ** is not an emphasis</p>
|
||||
<p>*mixed *<em>double and</em> single asterisk** spans</p>
|
@ -1,19 +1,13 @@
|
||||
Here's *an emphasis*.
|
||||
_underscore_, *asterisk*, _one two_, *three four*, _a_, *b*
|
||||
|
||||
A short one _a_ *b* .
|
||||
**strong** and *em* and **strong** and *em*
|
||||
|
||||
Here's **a strong one**.
|
||||
_line
|
||||
line
|
||||
line_
|
||||
|
||||
Here's _one that uses underscores_.
|
||||
this_is_not_an_emphasis
|
||||
|
||||
Here's __a strong one that uses underscores__.
|
||||
an empty emphasis __ ** is not an emphasis
|
||||
|
||||
This is not _ one _ neither is * this * neither is _ this_ neither is _this _.
|
||||
|
||||
An empty emphasis ** is not __ an emphasis.
|
||||
|
||||
A *multi-line
|
||||
emphasis*
|
||||
|
||||
A **multi-line
|
||||
strong emphasis**
|
||||
*mixed **double and* single asterisk** spans
|
@ -1,5 +0,0 @@
|
||||
<p><strong><em>em strong</em></strong></p>
|
||||
<p><strong><em>one</em> at the start</strong></p>
|
||||
<p><strong>one at the <em>end</em></strong></p>
|
||||
<p><strong>one <em>in the</em> middle</strong></p>
|
||||
<p><strong>one with <em>asterisks</em></strong></p>
|
@ -1,9 +0,0 @@
|
||||
___em strong___
|
||||
|
||||
___one_ at the start__
|
||||
|
||||
__one at the _end___
|
||||
|
||||
__one _in the_ middle__
|
||||
|
||||
**one with *asterisks***
|
@ -1,2 +1,4 @@
|
||||
<p>Here's an <em>emphasis</em> and here's an escaped *emphasis*. Here are also an escaped `code span`, an escaped [inline link](http://example.com) and an escaped <code>\*emphasis\*</code> inside of a code span.</p>
|
||||
<pre><code>An escaped \*emphasis\* inside of a code block.</code></pre>
|
||||
<p>escaped *emphasis*.</p>
|
||||
<p><code>escaped \*emphasis\* in a code span</code></p>
|
||||
<pre><code>escaped \*emphasis\* in a code block</code></pre>
|
||||
<p>\ ` * _ { } [ ] ( ) > # + - . !</p>
|
@ -1,3 +1,7 @@
|
||||
Here's an *emphasis* and here's an escaped \*emphasis\*. Here are also an escaped \`code span\`, an escaped \[inline link](http://example.com) and an escaped `\*emphasis\*` inside of a code span.
|
||||
escaped \*emphasis\*.
|
||||
|
||||
An escaped \*emphasis\* inside of a code block.
|
||||
`escaped \*emphasis\* in a code span`
|
||||
|
||||
escaped \*emphasis\* in a code block
|
||||
|
||||
\\ \` \* \_ \{ \} \[ \] \( \) \> \# \+ \- \. \!
|
6
tests/data/fenced_code_block.html
Normal file
6
tests/data/fenced_code_block.html
Normal file
@ -0,0 +1,6 @@
|
||||
<pre><code><?php
|
||||
|
||||
$message = 'fenced code block';
|
||||
echo $message;</code></pre>
|
||||
<pre><code>tilde</code></pre>
|
||||
<pre><code class="language-php">echo 'language identifier';</code></pre>
|
14
tests/data/fenced_code_block.md
Normal file
14
tests/data/fenced_code_block.md
Normal file
@ -0,0 +1,14 @@
|
||||
```
|
||||
<?php
|
||||
|
||||
$message = 'fenced code block';
|
||||
echo $message;
|
||||
```
|
||||
|
||||
~~~
|
||||
tilde
|
||||
~~~
|
||||
|
||||
```php
|
||||
echo 'language identifier';
|
||||
```
|
@ -1,10 +1,5 @@
|
||||
<p>Dashes:</p>
|
||||
<hr />
|
||||
<hr />
|
||||
<hr />
|
||||
<p>Asterisks:</p>
|
||||
<hr />
|
||||
<p>Underscores:</p>
|
||||
<hr />
|
||||
<p>On the next line:</p>
|
||||
<hr />
|
@ -1,18 +1,9 @@
|
||||
Dashes:
|
||||
|
||||
---
|
||||
|
||||
- - -
|
||||
|
||||
- - -
|
||||
|
||||
Asterisks:
|
||||
|
||||
***
|
||||
|
||||
Underscores:
|
||||
|
||||
___
|
||||
|
||||
On the next line:
|
||||
___
|
@ -1,15 +0,0 @@
|
||||
<p>A self-closing tag:</p>
|
||||
<hr/>
|
||||
<p>One with attributes:</p>
|
||||
<hr style="background: #eaa" />
|
||||
<p>A bare element:</p>
|
||||
<div>content</div>
|
||||
<p>One with attributes:</p>
|
||||
<a href="http://example.com">link</a>
|
||||
<p>Nested elements:</p>
|
||||
<div>
|
||||
parent
|
||||
<div>
|
||||
child
|
||||
</div>
|
||||
</div>
|
@ -1,24 +0,0 @@
|
||||
A self-closing tag:
|
||||
|
||||
<hr/>
|
||||
|
||||
One with attributes:
|
||||
|
||||
<hr style="background: #eaa" />
|
||||
|
||||
A bare element:
|
||||
|
||||
<div>content</div>
|
||||
|
||||
One with attributes:
|
||||
|
||||
<a href="http://example.com">link</a>
|
||||
|
||||
Nested elements:
|
||||
|
||||
<div>
|
||||
parent
|
||||
<div>
|
||||
child
|
||||
</div>
|
||||
</div>
|
1
tests/data/image_reference.html
Normal file
1
tests/data/image_reference.html
Normal file
@ -0,0 +1 @@
|
||||
<p><img alt="Markdown Logo" src="/md.png" /></p>
|
3
tests/data/image_reference.md
Normal file
3
tests/data/image_reference.md
Normal file
@ -0,0 +1,3 @@
|
||||
![Markdown Logo][image]
|
||||
|
||||
[image]: /md.png
|
3
tests/data/implicit_reference.html
Normal file
3
tests/data/implicit_reference.html
Normal file
@ -0,0 +1,3 @@
|
||||
<p>an <a href="http://example.com">implicit</a> reference link</p>
|
||||
<p>an <a href="http://example.com">implicit</a> reference link with an empty link definition</p>
|
||||
<p>an <a href="http://example.com" title="Example">explicit</a> reference link with a title</p>
|
9
tests/data/implicit_reference.md
Normal file
9
tests/data/implicit_reference.md
Normal file
@ -0,0 +1,9 @@
|
||||
an [implicit] reference link
|
||||
|
||||
[implicit]: http://example.com
|
||||
|
||||
an [implicit][] reference link with an empty link definition
|
||||
|
||||
an [explicit][example] reference link with a title
|
||||
|
||||
[example]: http://example.com "Example"
|
@ -1,2 +1,4 @@
|
||||
<p>Here's a <a href="http://example.com">link</a>.</p>
|
||||
<p>Here's one that is based on an image: <a href="http://daringfireball.net/projects/markdown/"><img alt="MD Logo" src="http://parsedown.org/md.png"></a>.</p>
|
||||
<p><a href="http://example.com">link</a> and <a href="/tests/">another link</a></p>
|
||||
<p><a href="http://example.com"><code>link</code></a></p>
|
||||
<p><a href="http://example.com"><img alt="MD Logo" src="http://parsedown.org/md.png" /></a></p>
|
||||
<p><a href="http://example.com"><img alt="MD Logo" src="http://parsedown.org/md.png" /> and text</a></p>
|
@ -1,3 +1,7 @@
|
||||
Here's a [link](http://example.com).
|
||||
[link](http://example.com) and [another link](/tests/)
|
||||
|
||||
Here's one that is based on an image: [](http://daringfireball.net/projects/markdown/).
|
||||
[`link`](http://example.com)
|
||||
|
||||
[](http://example.com)
|
||||
|
||||
[ and text](http://example.com)
|
1
tests/data/inline_title.html
Normal file
1
tests/data/inline_title.html
Normal file
@ -0,0 +1 @@
|
||||
<p><a href="http://example.com" title="Example">single quotes</a> and <a href="http://example.com" title="Example">double quotes</a></p>
|
1
tests/data/inline_title.md
Normal file
1
tests/data/inline_title.md
Normal file
@ -0,0 +1 @@
|
||||
[single quotes](http://example.com 'Example') and [double quotes](http://example.com "Example")
|
4
tests/data/lazy_blockquote.html
Normal file
4
tests/data/lazy_blockquote.html
Normal file
@ -0,0 +1,4 @@
|
||||
<blockquote>
|
||||
<p>quote
|
||||
the rest of it</p>
|
||||
</blockquote>
|
2
tests/data/lazy_blockquote.md
Normal file
2
tests/data/lazy_blockquote.md
Normal file
@ -0,0 +1,2 @@
|
||||
> quote
|
||||
the rest of it
|
4
tests/data/lazy_list.html
Normal file
4
tests/data/lazy_list.html
Normal file
@ -0,0 +1,4 @@
|
||||
<ul>
|
||||
<li>li
|
||||
the rest of it</li>
|
||||
</ul>
|
2
tests/data/lazy_list.md
Normal file
2
tests/data/lazy_list.md
Normal file
@ -0,0 +1,2 @@
|
||||
- li
|
||||
the rest of it
|
@ -1,5 +0,0 @@
|
||||
<p>Here's a list:</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
<li>li</li>
|
||||
</ul>
|
@ -1,4 +0,0 @@
|
||||
Here's a list:
|
||||
|
||||
- li
|
||||
- li
|
@ -1,13 +0,0 @@
|
||||
<p>Here's a compound list:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>This is the first paragraph of the list item.</p>
|
||||
<p>This is the second one.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>This is another list item.</p>
|
||||
<blockquote>
|
||||
<p>This is a quote block that belongs to it.</p>
|
||||
</blockquote>
|
||||
</li>
|
||||
</ul>
|
@ -1,9 +0,0 @@
|
||||
Here's a compound list:
|
||||
|
||||
- This is the first paragraph of the list item.
|
||||
|
||||
This is the second one.
|
||||
|
||||
- This is another list item.
|
||||
|
||||
> This is a quote block that belongs to it.
|
@ -1,4 +0,0 @@
|
||||
<ul>
|
||||
<li>li
|
||||
more text</li>
|
||||
</ul>
|
@ -1,2 +0,0 @@
|
||||
- li
|
||||
more text
|
@ -1,14 +0,0 @@
|
||||
<p>Here's a regular ordered list:</p>
|
||||
<ol>
|
||||
<li>one</li>
|
||||
<li>two</li>
|
||||
</ol>
|
||||
<p>Here's one with repeating numbers:</p>
|
||||
<ol>
|
||||
<li>one</li>
|
||||
<li>two</li>
|
||||
</ol>
|
||||
<p>Here's one with large numbers:</p>
|
||||
<ol>
|
||||
<li>one</li>
|
||||
</ol>
|
@ -1,13 +0,0 @@
|
||||
Here's a regular ordered list:
|
||||
|
||||
1. one
|
||||
2. two
|
||||
|
||||
Here's one with repeating numbers:
|
||||
|
||||
1. one
|
||||
1. two
|
||||
|
||||
Here's one with large numbers:
|
||||
|
||||
123. one
|
@ -1,16 +0,0 @@
|
||||
<p>Here's a sparse list:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>list item</p>
|
||||
</li>
|
||||
<li>another list item</li>
|
||||
</ul>
|
||||
<p>Here's one with an indented list item:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
@ -1,11 +0,0 @@
|
||||
Here's a sparse list:
|
||||
|
||||
- list item
|
||||
|
||||
- another list item
|
||||
|
||||
Here's one with an indented list item:
|
||||
|
||||
- li
|
||||
|
||||
- li
|
@ -1,10 +0,0 @@
|
||||
Here's an unordered list:
|
||||
|
||||
- li
|
||||
- li
|
||||
|
||||
Here's one with mixed markers:
|
||||
|
||||
- li
|
||||
+ li
|
||||
* li
|
@ -1,5 +0,0 @@
|
||||
<p>Here's one with white space around items:</p>
|
||||
<ul>
|
||||
<li>li </li>
|
||||
<li>li </li>
|
||||
</ul>
|
@ -1,4 +0,0 @@
|
||||
Here's one with white space around items:
|
||||
|
||||
- li
|
||||
- li
|
7
tests/data/multiline_list_paragraph.html
Normal file
7
tests/data/multiline_list_paragraph.html
Normal file
@ -0,0 +1,7 @@
|
||||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
<p>line
|
||||
line</p>
|
||||
</li>
|
||||
</ul>
|
4
tests/data/multiline_list_paragraph.md
Normal file
4
tests/data/multiline_list_paragraph.md
Normal file
@ -0,0 +1,4 @@
|
||||
- li
|
||||
|
||||
line
|
||||
line
|
10
tests/data/nested_block-level_html.html
Normal file
10
tests/data/nested_block-level_html.html
Normal file
@ -0,0 +1,10 @@
|
||||
<div>
|
||||
_parent_
|
||||
<div>
|
||||
_child_
|
||||
</div>
|
||||
<pre>
|
||||
_adopted child_
|
||||
</pre>
|
||||
</div>
|
||||
<p><em>outside</em></p>
|
11
tests/data/nested_block-level_html.md
Normal file
11
tests/data/nested_block-level_html.md
Normal file
@ -0,0 +1,11 @@
|
||||
<div>
|
||||
_parent_
|
||||
<div>
|
||||
_child_
|
||||
</div>
|
||||
<pre>
|
||||
_adopted child_
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
_outside_
|
13
tests/data/ordered_list.html
Normal file
13
tests/data/ordered_list.html
Normal file
@ -0,0 +1,13 @@
|
||||
<ol>
|
||||
<li>one</li>
|
||||
<li>two</li>
|
||||
</ol>
|
||||
<p>repeating numbers:</p>
|
||||
<ol>
|
||||
<li>one</li>
|
||||
<li>two</li>
|
||||
</ol>
|
||||
<p>large numbers:</p>
|
||||
<ol>
|
||||
<li>one</li>
|
||||
</ol>
|
11
tests/data/ordered_list.md
Normal file
11
tests/data/ordered_list.md
Normal file
@ -0,0 +1,11 @@
|
||||
1. one
|
||||
2. two
|
||||
|
||||
repeating numbers:
|
||||
|
||||
1. one
|
||||
1. two
|
||||
|
||||
large numbers:
|
||||
|
||||
123. one
|
12
tests/data/paragraph_list.html
Normal file
12
tests/data/paragraph_list.html
Normal file
@ -0,0 +1,12 @@
|
||||
<p>paragraph</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
<p>paragraph</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
</li>
|
||||
<li>li</li>
|
||||
</ul>
|
9
tests/data/paragraph_list.md
Normal file
9
tests/data/paragraph_list.md
Normal file
@ -0,0 +1,9 @@
|
||||
paragraph
|
||||
- li
|
||||
- li
|
||||
|
||||
paragraph
|
||||
|
||||
* li
|
||||
|
||||
* li
|
@ -1,7 +0,0 @@
|
||||
<p>Here's a <a href="http://example.com">reference link</a>.</p>
|
||||
<p>Here's <a href="http://example.com">one</a> with a semantic name.</p>
|
||||
<p>Here's <a href="http://example.com">one</a> with an upper case label definition.</p>
|
||||
<p>Here's <a href="http://example.com">one</a> with definition name on the next line.</p>
|
||||
<p>Here's [one][404] with no definition.</p>
|
||||
<p>Here's a <a href="http://example.com">multiline
|
||||
one</a> defined on 2 lines.</p>
|
@ -1,19 +0,0 @@
|
||||
Here's a [reference link][1].
|
||||
|
||||
[1]: http://example.com
|
||||
|
||||
Here's [one][website] with a semantic name.
|
||||
|
||||
[website]: http://example.com
|
||||
|
||||
Here's [one][case] with an upper case label definition.
|
||||
|
||||
[CASE]: http://example.com
|
||||
|
||||
Here's [one]
|
||||
[website] with definition name on the next line.
|
||||
|
||||
Here's [one][404] with no definition.
|
||||
|
||||
Here's a [multiline
|
||||
one][website] defined on 2 lines.
|
@ -1 +0,0 @@
|
||||
<p>Here's an image: <img alt="Markdown Logo" src="/md.png"></p>
|
@ -1,3 +0,0 @@
|
||||
Here's an image: ![Markdown Logo][image]
|
||||
|
||||
[image]: /md.png
|
@ -1,2 +0,0 @@
|
||||
<p>Here's an <a href="http://example.com">implicit</a> reference link.</p>
|
||||
<p>Here's an <a href="http://example.com">implicit</a> one with an empty link definition.</p>
|
@ -1,5 +0,0 @@
|
||||
Here's an [implicit] reference link.
|
||||
|
||||
[implicit]: http://example.com
|
||||
|
||||
Here's an [implicit][] one with an empty link definition.
|
@ -1 +0,0 @@
|
||||
<p>Here's a <a href="http://example.com">reference link</a> with a definition on the next line.</p>
|
@ -1,2 +0,0 @@
|
||||
Here's a [reference link][2] with a definition on the next line.
|
||||
[2]: http://example.com
|
1
tests/data/reference_title.html
Normal file
1
tests/data/reference_title.html
Normal file
@ -0,0 +1 @@
|
||||
<p><a href="http://example.com" title="Title">single quotes</a> and <a href="http://example.com" title="Title">double quotes</a></p>
|
1
tests/data/reference_title.md
Normal file
1
tests/data/reference_title.md
Normal file
@ -0,0 +1 @@
|
||||
[single quotes](http://example.com 'Title') and [double quotes](http://example.com "Title")
|
4
tests/data/self-closing_block-level_html.html
Normal file
4
tests/data/self-closing_block-level_html.html
Normal file
@ -0,0 +1,4 @@
|
||||
<hr />
|
||||
<p>attributes:</p>
|
||||
<hr style="background: #9bd;" />
|
||||
<p>...</p>
|
7
tests/data/self-closing_block-level_html.md
Normal file
7
tests/data/self-closing_block-level_html.md
Normal file
@ -0,0 +1,7 @@
|
||||
<hr />
|
||||
|
||||
attributes:
|
||||
|
||||
<hr style="background: #9bd;" />
|
||||
|
||||
...
|
11
tests/data/simple_blockquote.html
Normal file
11
tests/data/simple_blockquote.html
Normal file
@ -0,0 +1,11 @@
|
||||
<blockquote>
|
||||
<p>quote</p>
|
||||
</blockquote>
|
||||
<p>indented:</p>
|
||||
<blockquote>
|
||||
<p>quote</p>
|
||||
</blockquote>
|
||||
<p>no space after <code>></code>:</p>
|
||||
<blockquote>
|
||||
<p>quote</p>
|
||||
</blockquote>
|
7
tests/data/simple_blockquote.md
Normal file
7
tests/data/simple_blockquote.md
Normal file
@ -0,0 +1,7 @@
|
||||
> quote
|
||||
|
||||
indented:
|
||||
> quote
|
||||
|
||||
no space after `>`:
|
||||
>quote
|
4
tests/data/span-level_html.html
Normal file
4
tests/data/span-level_html.html
Normal file
@ -0,0 +1,4 @@
|
||||
<p>an <b>important</b> <a href=''>link</a></p>
|
||||
<p>broken<br/>
|
||||
line</p>
|
||||
<p><b>inline tag</b> at the beginning</p>
|
6
tests/data/span-level_html.md
Normal file
6
tests/data/span-level_html.md
Normal file
@ -0,0 +1,6 @@
|
||||
an <b>important</b> <a href=''>link</a>
|
||||
|
||||
broken<br/>
|
||||
line
|
||||
|
||||
<b>inline tag</b> at the beginning
|
@ -1 +0,0 @@
|
||||
<p>Here's an <b>important</b> <a href=''>link</a>.</p>
|
@ -1 +0,0 @@
|
||||
Here's an <b>important</b> <a href=''>link</a>.
|
15
tests/data/sparse_list.html
Normal file
15
tests/data/sparse_list.html
Normal file
@ -0,0 +1,15 @@
|
||||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
</li>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
<ul>
|
||||
<li>indented li</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
9
tests/data/sparse_list.md
Normal file
9
tests/data/sparse_list.md
Normal file
@ -0,0 +1,9 @@
|
||||
- li
|
||||
|
||||
- li
|
||||
|
||||
---
|
||||
|
||||
- li
|
||||
|
||||
- indented li
|
@ -1,7 +1,7 @@
|
||||
<p>AT&T has an ampersand in their name.</p>
|
||||
<p>AT&T is another way to write it.</p>
|
||||
<p>This & that.</p>
|
||||
<p>4 < 5 and 6 > 5.</p>
|
||||
<p>Here's an autolink <a href="http://example.com/autolink?a=1&b=2">http://example.com/autolink?a=1&b=2</a></p>
|
||||
<p>Here's an inline <a href="/script?a=1&b=2">link</a>.</p>
|
||||
<p>Here's a reference <a href="http://example.com/?a=1&b=2">link</a> with an ampersand in the URL.</p>
|
||||
<p>AT&T has an ampersand in their name</p>
|
||||
<p>AT&T is another way to write it</p>
|
||||
<p>this & that</p>
|
||||
<p>4 < 5 and 6 > 5</p>
|
||||
<p><a href="http://example.com/autolink?a=1&b=2">http://example.com/autolink?a=1&b=2</a></p>
|
||||
<p><a href="/script?a=1&b=2">inline link</a></p>
|
||||
<p><a href="http://example.com/?a=1&b=2">reference link</a></p>
|
@ -1,15 +1,15 @@
|
||||
AT&T has an ampersand in their name.
|
||||
AT&T has an ampersand in their name
|
||||
|
||||
AT&T is another way to write it.
|
||||
AT&T is another way to write it
|
||||
|
||||
This & that.
|
||||
this & that
|
||||
|
||||
4 < 5 and 6 > 5.
|
||||
4 < 5 and 6 > 5
|
||||
|
||||
Here's an autolink <http://example.com/autolink?a=1&b=2>
|
||||
<http://example.com/autolink?a=1&b=2>
|
||||
|
||||
Here's an inline [link](/script?a=1&b=2).
|
||||
[inline link](/script?a=1&b=2)
|
||||
|
||||
Here's a reference [link] [1] with an ampersand in the URL.
|
||||
[reference link][1]
|
||||
|
||||
[1]: http://example.com/?a=1&b=2
|
3
tests/data/strikethrough.html
Normal file
3
tests/data/strikethrough.html
Normal file
@ -0,0 +1,3 @@
|
||||
<p><del>strikethrough</del></p>
|
||||
<p>here's <del>one</del> followed by <del>another one</del></p>
|
||||
<p>~~ this ~~ is not one neither is ~this~</p>
|
5
tests/data/strikethrough.md
Normal file
5
tests/data/strikethrough.md
Normal file
@ -0,0 +1,5 @@
|
||||
~~strikethrough~~
|
||||
|
||||
here's ~~one~~ followed by ~~another one~~
|
||||
|
||||
~~ this ~~ is not one neither is ~this~
|
6
tests/data/strong_em.html
Normal file
6
tests/data/strong_em.html
Normal file
@ -0,0 +1,6 @@
|
||||
<p><em>em <strong>strong em</strong></em></p>
|
||||
<p><em><strong>strong em</strong> em</em></p>
|
||||
<p><em>em <strong>strong em</strong> em</em></p>
|
||||
<p><em>em <strong>strong em</strong></em></p>
|
||||
<p><em><strong>strong em</strong> em</em></p>
|
||||
<p><em>em <strong>strong em</strong> em</em></p>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user