mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
Compare commits
150 Commits
0.7.1
...
1.0.0-rc.3
Author | SHA1 | Date | |
---|---|---|---|
2a5f99547c | |||
e373391e7d | |||
9fa415bcc5 | |||
37416b5f07 | |||
83d3e3dbbf | |||
307a987cb6 | |||
eab3cbf255 | |||
cf7f32f891 | |||
4150e00dc4 | |||
22affa124b | |||
5e95242318 | |||
504991a04e | |||
3d84201d74 | |||
4f027386b1 | |||
cd1c030362 | |||
6081954185 | |||
d841003c65 | |||
f310bbe13f | |||
2595f366d9 | |||
e5dc563804 | |||
e0901ee9c7 | |||
5316a2e0dd | |||
5be4491943 | |||
4e670129c8 | |||
159c3cede6 | |||
c10bde0174 | |||
24d872383c | |||
7ef45894a7 | |||
9bf64d2e31 | |||
886c620440 | |||
e156c418d6 | |||
1734f6fc85 | |||
d8650cd77c | |||
3fa9d62572 | |||
4f851205a7 | |||
0985c2ef29 | |||
9fd9262f16 | |||
a6756fd4fa | |||
1243fcf3e0 | |||
1e8d917f7a | |||
324eaf7c15 | |||
f972f7f15d | |||
688b761d32 | |||
b8bd12f565 | |||
7a20a9fb60 | |||
6fed312d3c | |||
d0784d1006 | |||
446fead459 | |||
ccbdfabaff | |||
bc30ad8e30 | |||
d9f325903a | |||
d29ff18299 | |||
95e9878fb0 | |||
611aed179d | |||
abb88d59fa | |||
14ab6d46fe | |||
ebfdace4c6 | |||
ba7f377290 | |||
548a6f7945 | |||
7a4d3c0f18 | |||
7f68a3a2e1 | |||
7193e634b2 | |||
45c01d4673 | |||
59907ff757 | |||
6e93b68692 | |||
5a525be070 | |||
f5f1706e58 | |||
b257d0ecaa | |||
a7510b97e7 | |||
e9098aebfa | |||
72f4a375ef | |||
07b738b1c8 | |||
f7181ee9b6 | |||
0ce6caf81e | |||
d3c975d4d8 | |||
55f360a591 | |||
215ff63594 | |||
3d581dcaa9 | |||
bbce965a9a | |||
6069fdac81 | |||
0f090e1a6e | |||
618ab4e156 | |||
7661b7c8f9 | |||
8f6495ce86 | |||
250ba80356 | |||
3ac9b96e57 | |||
b764deca66 | |||
65ef541fda | |||
c7b6d0235d | |||
1a2124daae | |||
bf6c9a6db2 | |||
0494c6b274 | |||
3e0c010c1f | |||
3a5eecc23d | |||
c8c5ae9df8 | |||
843786c07c | |||
0c61f71e3f | |||
01a147c574 | |||
f0fbdaa6ca | |||
e20c0a29bd | |||
712dd23d30 | |||
68f2871996 | |||
17e7e33847 | |||
7cb9646d98 | |||
325bdd9ff6 | |||
2a0700abda | |||
4e83d79d76 | |||
354842fd6e | |||
2b73e94c6c | |||
0182812d6c | |||
f5dd3455f9 | |||
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 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
.idea
|
|
||||||
nbproject
|
|
@ -1,7 +1,10 @@
|
|||||||
language: php
|
language: php
|
||||||
|
|
||||||
php:
|
php:
|
||||||
|
- 5.6
|
||||||
- 5.5
|
- 5.5
|
||||||
- 5.4
|
- 5.4
|
||||||
- 5.3
|
- 5.3
|
||||||
- 5.2
|
- 5.2
|
||||||
|
- hhvm
|
||||||
|
|
2046
Parsedown.php
2046
Parsedown.php
File diff suppressed because it is too large
Load Diff
23
README.md
23
README.md
@ -1,8 +1,17 @@
|
|||||||
## Parsedown
|
## Parsedown
|
||||||
|
|
||||||
Fast, consistent and easy to use [Markdown][1] parser for PHP.
|
Better [Markdown](http://en.wikipedia.org/wiki/Markdown) parser for PHP.
|
||||||
|
|
||||||
[Home](http://parsedown.org) · [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)
|
||||||
|
* [Tested](https://travis-ci.org/erusev/parsedown) in PHP 5.2, 5.3, 5.4, 5.5, 5.6 and [hhvm](http://www.hhvm.com/)
|
||||||
|
* Extensible
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
@ -10,12 +19,8 @@ Include `Parsedown.php` or install [the composer package](https://packagist.org/
|
|||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
```php
|
``` php
|
||||||
$text = 'Hello **Parsedown**!';
|
$Parsedown = new Parsedown();
|
||||||
|
|
||||||
$result = Parsedown::instance()->parse($text);
|
echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>
|
||||||
|
|
||||||
echo $result; # prints: <p>Hello <strong>Parsedown</strong>!</p>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
[1]: http://daringfireball.net/projects/markdown/
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phpunit colors="true">
|
<phpunit bootstrap="test/bootstrap.php" colors="true">
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite>
|
<testsuite>
|
||||||
<file>tests/Test.php</file>
|
<file>test/Test.php</file>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
</phpunit>
|
</phpunit>
|
65
test/Test.php
Normal file
65
test/Test.php
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Test extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
public function __construct($name = null, array $data = array(), $dataName = '')
|
||||||
|
{
|
||||||
|
$this->dataDir = dirname(__FILE__).'/data/';
|
||||||
|
|
||||||
|
parent::__construct($name, $data, $dataName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private $dataDir;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider data
|
||||||
|
*/
|
||||||
|
function test_($filename)
|
||||||
|
{
|
||||||
|
$markdown = file_get_contents($this->dataDir . $filename . '.md');
|
||||||
|
|
||||||
|
$expectedMarkup = file_get_contents($this->dataDir . $filename . '.html');
|
||||||
|
|
||||||
|
$expectedMarkup = str_replace("\r\n", "\n", $expectedMarkup);
|
||||||
|
$expectedMarkup = str_replace("\r", "\n", $expectedMarkup);
|
||||||
|
|
||||||
|
$actualMarkup = Parsedown::instance()->text($markdown);
|
||||||
|
|
||||||
|
$this->assertEquals($expectedMarkup, $actualMarkup);
|
||||||
|
}
|
||||||
|
|
||||||
|
function data()
|
||||||
|
{
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
$Folder = new DirectoryIterator($this->dataDir);
|
||||||
|
|
||||||
|
foreach ($Folder as $File)
|
||||||
|
{
|
||||||
|
/** @var $File DirectoryIterator */
|
||||||
|
|
||||||
|
if ( ! $File->isFile())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$filename = $File->getFilename();
|
||||||
|
|
||||||
|
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||||
|
|
||||||
|
if ($extension !== 'md')
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$basename = $File->getBasename('.md');
|
||||||
|
|
||||||
|
if (file_exists($this->dataDir . $basename . '.html'))
|
||||||
|
{
|
||||||
|
$data []= array($basename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
}
|
3
test/bootstrap.php
Normal file
3
test/bootstrap.php
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include 'Parsedown.php';
|
18
test/data/aesthetic_table.html
Normal file
18
test/data/aesthetic_table.html
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>header 1</th>
|
||||||
|
<th>header 2</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>cell 1.1</td>
|
||||||
|
<td>cell 1.2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>cell 2.1</td>
|
||||||
|
<td>cell 2.2</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
4
test/data/aesthetic_table.md
Normal file
4
test/data/aesthetic_table.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
| header 1 | header 2 |
|
||||||
|
| -------- | -------- |
|
||||||
|
| cell 1.1 | cell 1.2 |
|
||||||
|
| cell 2.1 | cell 2.2 |
|
21
test/data/aligned_table.html
Normal file
21
test/data/aligned_table.html
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th align="left">header 1</th>
|
||||||
|
<th align="center">header 2</th>
|
||||||
|
<th align="right">header 2</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td align="left">cell 1.1</td>
|
||||||
|
<td align="center">cell 1.2</td>
|
||||||
|
<td align="right">cell 1.3</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">cell 2.1</td>
|
||||||
|
<td align="center">cell 2.2</td>
|
||||||
|
<td align="right">cell 2.3</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
4
test/data/aligned_table.md
Normal file
4
test/data/aligned_table.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
| header 1 | header 2 | header 2 |
|
||||||
|
| :------- | :------: | -------: |
|
||||||
|
| cell 1.1 | cell 1.2 | cell 1.3 |
|
||||||
|
| cell 2.1 | cell 2.2 | cell 2.3 |
|
@ -5,3 +5,4 @@
|
|||||||
<h5>h5</h5>
|
<h5>h5</h5>
|
||||||
<h6>h6</h6>
|
<h6>h6</h6>
|
||||||
<h1>closed h1</h1>
|
<h1>closed h1</h1>
|
||||||
|
<p>#</p>
|
@ -11,3 +11,5 @@
|
|||||||
###### h6
|
###### h6
|
||||||
|
|
||||||
# closed h1 #
|
# closed h1 #
|
||||||
|
|
||||||
|
#
|
5
test/data/block-level_html.html
Normal file
5
test/data/block-level_html.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<div>_content_</div>
|
||||||
|
<p>sparse:</p>
|
||||||
|
<div>
|
||||||
|
_content_
|
||||||
|
</div>
|
7
test/data/block-level_html.md
Normal file
7
test/data/block-level_html.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<div>_content_</div>
|
||||||
|
|
||||||
|
sparse:
|
||||||
|
|
||||||
|
<div>
|
||||||
|
_content_
|
||||||
|
</div>
|
10
test/data/code_block.md
Normal file
10
test/data/code_block.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$message = 'Hello World!';
|
||||||
|
echo $message;
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
> not a quote
|
||||||
|
- not a list item
|
||||||
|
[not a reference]: http://foo.com
|
6
test/data/code_span.html
Normal file
6
test/data/code_span.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<p>a <code>code span</code></p>
|
||||||
|
<p><code>this is also a codespan</code> trailing text</p>
|
||||||
|
<p><code>and look at this one!</code></p>
|
||||||
|
<p>single backtick in a code span: <code>`</code></p>
|
||||||
|
<p>backtick-delimited string in a code span: <code>`foo`</code></p>
|
||||||
|
<p><code>sth `` sth</code></p>
|
11
test/data/code_span.md
Normal file
11
test/data/code_span.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
a `code span`
|
||||||
|
|
||||||
|
`this is also a codespan` trailing text
|
||||||
|
|
||||||
|
`and look at this one!`
|
||||||
|
|
||||||
|
single backtick in a code span: `` ` ``
|
||||||
|
|
||||||
|
backtick-delimited string in a code span: `` `foo` ``
|
||||||
|
|
||||||
|
`sth `` sth`
|
2
test/data/compound_emphasis.html
Normal file
2
test/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
test/data/compound_emphasis.md
Normal file
4
test/data/compound_emphasis.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
_`code`_ __`code`__
|
||||||
|
|
||||||
|
*`code`**`code`**`code`*
|
||||||
|
|
12
test/data/deeply_nested_list.html
Normal file
12
test/data/deeply_nested_list.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<ul>
|
||||||
|
<li>li
|
||||||
|
<ul>
|
||||||
|
<li>li
|
||||||
|
<ul>
|
||||||
|
<li>li</li>
|
||||||
|
<li>li</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>li</li>
|
||||||
|
</ul></li>
|
||||||
|
<li>li</li>
|
||||||
|
</ul>
|
6
test/data/deeply_nested_list.md
Normal file
6
test/data/deeply_nested_list.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
- li
|
||||||
|
- li
|
||||||
|
- li
|
||||||
|
- li
|
||||||
|
- li
|
||||||
|
- li
|
8
test/data/em_strong.html
Normal file
8
test/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
test/data/em_strong.md
Normal file
15
test/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
test/data/email.html
Normal file
1
test/data/email.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p>my email is <a href="mailto:me@example.com">me@example.com</a></p>
|
1
test/data/email.md
Normal file
1
test/data/email.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
my email is <me@example.com>
|
8
test/data/emphasis.html
Normal file
8
test/data/emphasis.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<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>
|
13
test/data/emphasis.md
Normal file
13
test/data/emphasis.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
_underscore_, *asterisk*, _one two_, *three four*, _a_, *b*
|
||||||
|
|
||||||
|
**strong** and *em* and **strong** and *em*
|
||||||
|
|
||||||
|
_line
|
||||||
|
line
|
||||||
|
line_
|
||||||
|
|
||||||
|
this_is_not_an_emphasis
|
||||||
|
|
||||||
|
an empty emphasis __ ** is not an emphasis
|
||||||
|
|
||||||
|
*mixed **double and* single asterisk** spans
|
6
test/data/fenced_code_block.html
Normal file
6
test/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>
|
@ -8,3 +8,7 @@ echo $message;
|
|||||||
~~~
|
~~~
|
||||||
tilde
|
tilde
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
```php
|
||||||
|
echo 'language identifier';
|
||||||
|
```
|
1
test/data/html_entity.html
Normal file
1
test/data/html_entity.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p>& © {</p>
|
1
test/data/html_entity.md
Normal file
1
test/data/html_entity.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
& © {
|
28
test/data/html_simple.html
Normal file
28
test/data/html_simple.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<p>Headings:</p>
|
||||||
|
<h2 id="overview">Overview</h2>
|
||||||
|
<p>blah</p>
|
||||||
|
<H2 id="block">Block Elements</H2>
|
||||||
|
<p>blah</p>
|
||||||
|
<h3 id="span">
|
||||||
|
Span Elements
|
||||||
|
</h3>
|
||||||
|
<p>blah</p>
|
||||||
|
<p>Hr's:</p>
|
||||||
|
<hr>
|
||||||
|
<p>blah</p>
|
||||||
|
<hr/>
|
||||||
|
<p>blah</p>
|
||||||
|
<hr />
|
||||||
|
<p>blah</p>
|
||||||
|
<hr>
|
||||||
|
<p>blah</p>
|
||||||
|
<hr/>
|
||||||
|
<p>blah</p>
|
||||||
|
<hr />
|
||||||
|
<p>blah</p>
|
||||||
|
<hr class="foo" id="bar" />
|
||||||
|
<p>blah</p>
|
||||||
|
<hr class="foo" id="bar"/>
|
||||||
|
<p>blah</p>
|
||||||
|
<hr class="foo" id="bar" >
|
||||||
|
<p>blah</p>
|
39
test/data/html_simple.md
Normal file
39
test/data/html_simple.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
Headings:
|
||||||
|
|
||||||
|
<h2 id="overview">Overview</h2>
|
||||||
|
blah
|
||||||
|
<H2 id="block">Block Elements</H2>
|
||||||
|
blah
|
||||||
|
<h3 id="span">
|
||||||
|
Span Elements
|
||||||
|
</h3>
|
||||||
|
blah
|
||||||
|
|
||||||
|
Hr's:
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr class="foo" id="bar" />
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr class="foo" id="bar"/>
|
||||||
|
blah
|
||||||
|
|
||||||
|
<hr class="foo" id="bar" >
|
||||||
|
blah
|
1
test/data/image_reference.html
Normal file
1
test/data/image_reference.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p><img alt="Markdown Logo" src="/md.png" /></p>
|
1
test/data/image_title.html
Normal file
1
test/data/image_title.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p><img alt="alt" src="/md.png" title="title" /></p>
|
1
test/data/image_title.md
Normal file
1
test/data/image_title.md
Normal file
@ -0,0 +1 @@
|
|||||||
|

|
@ -1,2 +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</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">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
test/data/implicit_reference.md
Normal file
9
test/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"
|
4
test/data/inline_link.html
Normal file
4
test/data/inline_link.html
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<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>
|
7
test/data/inline_link.md
Normal file
7
test/data/inline_link.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[link](http://example.com) and [another link](/tests/)
|
||||||
|
|
||||||
|
[`link`](http://example.com)
|
||||||
|
|
||||||
|
[](http://example.com)
|
||||||
|
|
||||||
|
[ and text](http://example.com)
|
1
test/data/inline_link_title.html
Normal file
1
test/data/inline_link_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
test/data/inline_link_title.md
Normal file
1
test/data/inline_link_title.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
[single quotes](http://example.com 'Title') and [double quotes](http://example.com "Title")
|
1
test/data/inline_title.html
Normal file
1
test/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
test/data/inline_title.md
Normal file
1
test/data/inline_title.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
[single quotes](http://example.com 'Example') and [double quotes](http://example.com "Example")
|
7
test/data/multiline_list_paragraph.html
Normal file
7
test/data/multiline_list_paragraph.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>li</p>
|
||||||
|
<p>line
|
||||||
|
line</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
4
test/data/multiline_list_paragraph.md
Normal file
4
test/data/multiline_list_paragraph.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- li
|
||||||
|
|
||||||
|
line
|
||||||
|
line
|
10
test/data/nested_block-level_html.html
Normal file
10
test/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
test/data/nested_block-level_html.md
Normal file
11
test/data/nested_block-level_html.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<div>
|
||||||
|
_parent_
|
||||||
|
<div>
|
||||||
|
_child_
|
||||||
|
</div>
|
||||||
|
<pre>
|
||||||
|
_adopted child_
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
_outside_
|
12
test/data/paragraph_list.html
Normal file
12
test/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
test/data/paragraph_list.md
Normal file
9
test/data/paragraph_list.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
paragraph
|
||||||
|
- li
|
||||||
|
- li
|
||||||
|
|
||||||
|
paragraph
|
||||||
|
|
||||||
|
* li
|
||||||
|
|
||||||
|
* li
|
2
test/data/reference_title.html
Normal file
2
test/data/reference_title.html
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<p><a href="http://example.com" title="example title">double quotes</a> and <a href="http://example.com" title="example title">single quotes</a> and <a href="http://example.com" title="example title">parentheses</a></p>
|
||||||
|
<p>[invalid title]: <a href="http://example.com">http://example.com</a> example title</p>
|
6
test/data/reference_title.md
Normal file
6
test/data/reference_title.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[double quotes] and [single quotes] and [parentheses]
|
||||||
|
|
||||||
|
[double quotes]: http://example.com "example title"
|
||||||
|
[single quotes]: http://example.com 'example title'
|
||||||
|
[parentheses]: http://example.com (example title)
|
||||||
|
[invalid title]: http://example.com example title
|
4
test/data/self-closing_block-level_html.html
Normal file
4
test/data/self-closing_block-level_html.html
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<hr />
|
||||||
|
<p>attributes:</p>
|
||||||
|
<hr style="background: #9bd;" />
|
||||||
|
<p>...</p>
|
7
test/data/self-closing_block-level_html.md
Normal file
7
test/data/self-closing_block-level_html.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<hr />
|
||||||
|
|
||||||
|
attributes:
|
||||||
|
|
||||||
|
<hr style="background: #9bd;" />
|
||||||
|
|
||||||
|
...
|
9
test/data/separated_nested_list.html
Normal file
9
test/data/separated_nested_list.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>li</p>
|
||||||
|
<ul>
|
||||||
|
<li>li</li>
|
||||||
|
<li>li</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
4
test/data/separated_nested_list.md
Normal file
4
test/data/separated_nested_list.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- li
|
||||||
|
|
||||||
|
- li
|
||||||
|
- li
|
37
test/data/simple_table.html
Normal file
37
test/data/simple_table.html
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>header 1</th>
|
||||||
|
<th>header 2</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>cell 1.1</td>
|
||||||
|
<td>cell 1.2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>cell 2.1</td>
|
||||||
|
<td>cell 2.2</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th align="left">header 1</th>
|
||||||
|
<th>header 2</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td align="left">cell 1.1</td>
|
||||||
|
<td>cell 1.2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="left">cell 2.1</td>
|
||||||
|
<td>cell 2.2</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
11
test/data/simple_table.md
Normal file
11
test/data/simple_table.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
header 1 | header 2
|
||||||
|
-------- | --------
|
||||||
|
cell 1.1 | cell 1.2
|
||||||
|
cell 2.1 | cell 2.2
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
header 1 | header 2
|
||||||
|
:------- | --------
|
||||||
|
cell 1.1 | cell 1.2
|
||||||
|
cell 2.1 | cell 2.2
|
@ -1,3 +1,4 @@
|
|||||||
<p>an <b>important</b> <a href=''>link</a></p>
|
<p>an <b>important</b> <a href=''>link</a></p>
|
||||||
<p>broken<br/>
|
<p>broken<br/>
|
||||||
line</p>
|
line</p>
|
||||||
|
<p><b>inline tag</b> at the beginning</p>
|
@ -2,3 +2,5 @@ an <b>important</b> <a href=''>link</a>
|
|||||||
|
|
||||||
broken<br/>
|
broken<br/>
|
||||||
line
|
line
|
||||||
|
|
||||||
|
<b>inline tag</b> at the beginning
|
7
test/data/sparse_dense_list.html
Normal file
7
test/data/sparse_dense_list.html
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p>li</p>
|
||||||
|
</li>
|
||||||
|
<li>li</li>
|
||||||
|
<li>li</li>
|
||||||
|
</ul>
|
4
test/data/sparse_dense_list.md
Normal file
4
test/data/sparse_dense_list.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
- li
|
||||||
|
|
||||||
|
- li
|
||||||
|
- li
|
@ -1,8 +1,6 @@
|
|||||||
<p>AT&T has an ampersand in their name</p>
|
<p>AT&T has an ampersand in their name</p>
|
||||||
<pre><code>Let's play some cards ♠ ♣ ♥ ♦</code></pre>
|
|
||||||
<p>AT&T is another way to write it</p>
|
|
||||||
<p>this & that</p>
|
<p>this & that</p>
|
||||||
<p>4 < 5 and 6 > 5</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="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="/script?a=1&b=2">inline link</a></p>
|
||||||
<p><a href="http://example.com/?a=1&b=2">reference link</a></p>
|
<p><a href="http://example.com/?a=1&b=2">reference link</a></p>
|
@ -1,9 +1,5 @@
|
|||||||
AT&T has an ampersand in their name
|
AT&T has an ampersand in their name
|
||||||
|
|
||||||
Let's play some cards ♠ ♣ ♥ ♦
|
|
||||||
|
|
||||||
AT&T is another way to write it
|
|
||||||
|
|
||||||
this & that
|
this & that
|
||||||
|
|
||||||
4 < 5 and 6 > 5
|
4 < 5 and 6 > 5
|
3
test/data/strikethrough.html
Normal file
3
test/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
test/data/strikethrough.md
Normal file
5
test/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
test/data/strong_em.html
Normal file
6
test/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>
|
11
test/data/strong_em.md
Normal file
11
test/data/strong_em.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
*em **strong em***
|
||||||
|
|
||||||
|
***strong em** em*
|
||||||
|
|
||||||
|
*em **strong em** em*
|
||||||
|
|
||||||
|
_em __strong em___
|
||||||
|
|
||||||
|
___strong em__ em_
|
||||||
|
|
||||||
|
_em __strong em__ em_
|
6
test/data/tab-indented_code_block.html
Normal file
6
test/data/tab-indented_code_block.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<pre><code><?php
|
||||||
|
|
||||||
|
$message = 'Hello World!';
|
||||||
|
echo $message;
|
||||||
|
|
||||||
|
echo "following a blank line";</code></pre>
|
6
test/data/tab-indented_code_block.md
Normal file
6
test/data/tab-indented_code_block.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$message = 'Hello World!';
|
||||||
|
echo $message;
|
||||||
|
|
||||||
|
echo "following a blank line";
|
18
test/data/table_inline_markdown.html
Normal file
18
test/data/table_inline_markdown.html
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><em>header</em> 1</th>
|
||||||
|
<th>header 2</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td><em>cell</em> 1.1</td>
|
||||||
|
<td><del>cell</del> 1.2</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>cell</code> 2.1</td>
|
||||||
|
<td>cell 2.2</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
4
test/data/table_inline_markdown.md
Normal file
4
test/data/table_inline_markdown.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
| _header_ 1 | header 2 |
|
||||||
|
| ------------ | ------------ |
|
||||||
|
| _cell_ 1.1 | ~~cell~~ 1.2 |
|
||||||
|
| `cell` 2.1 | cell 2.2 |
|
8
test/data/text_reference.html
Normal file
8
test/data/text_reference.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<p><a href="http://example.com">reference link</a></p>
|
||||||
|
<p><a href="http://example.com">one</a> with a semantic name</p>
|
||||||
|
<p>[one][404] with no definition</p>
|
||||||
|
<p><a href="http://example.com">multiline
|
||||||
|
one</a> defined on 2 lines</p>
|
||||||
|
<p><a href="http://example.com">one</a> with a mixed case label and an upper case definition</p>
|
||||||
|
<p><a href="http://example.com">one</a> with the a label on the next line</p>
|
||||||
|
<p><a href="http://example.com"><code>link</code></a></p>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user