1
0
mirror of https://github.com/erusev/parsedown.git synced 2023-08-10 21:13:06 +03:00

Compare commits

...

93 Commits
0.9.1 ... 1.0.1

Author SHA1 Message Date
d24439ada0 improve test suite 2014-05-21 23:20:46 +03:00
1ae100beab improve comment 2014-05-17 17:37:17 +03:00
82a5a78a36 improve readme 2014-05-17 17:13:00 +03:00
4ede4340ab improve readme 2014-05-16 03:34:43 +03:00
170a6bf770 improve readme 2014-05-16 01:27:54 +03:00
21db821324 improve readme 2014-05-16 01:15:21 +03:00
b384839d15 update readme 2014-05-14 20:07:52 +03:00
2da10d277b resolve #105 2014-05-14 13:14:49 +03:00
532b5ede35 resolve #129 2014-05-14 01:11:05 +03:00
2bd2f81f4f methods should not have more than one optional parameters 2014-05-12 16:18:00 +03:00
e318e66de5 improve consistency 2014-05-12 00:41:00 +03:00
0820d0a607 paragraph doesn't have to use a type 2014-05-12 00:34:47 +03:00
b8d1cfe91a improve extensibility 2014-05-11 22:31:02 +03:00
d85a233611 Merge pull request #171 from scarwu/master
identifyEscapeSequence() needs Array check
2014-05-11 20:57:05 +03:00
973d4a866d add array check 2014-05-11 23:36:01 +08:00
d19c2b6942 improve names 2014-05-10 16:28:00 +03:00
4dde57451d fix consecutive reference links 2014-05-06 17:05:49 +03:00
44686c4f1e improve extensibility 2014-05-06 01:12:27 +03:00
db02ecf259 "reference" is a definition 2014-05-05 14:43:31 +03:00
aa004d4595 improve code organisation 2014-05-05 14:39:40 +03:00
1bb65457ed remove unnecessary comments 2014-05-05 13:46:26 +03:00
0c9a4af8ab improve naming consistency 2014-05-03 18:02:06 +03:00
cc94c1b584 resolve #167 2014-05-02 18:21:10 +03:00
e8d8801db4 resolve #135 2014-05-01 02:44:35 +03:00
521803cdcd resolve #136 2014-05-01 02:42:01 +03:00
0eb480324c resolve #145 2014-05-01 02:02:14 +03:00
7c78aff578 resolve #163 2014-05-01 01:47:14 +03:00
2a5f99547c resolve #162 2014-05-01 01:05:31 +03:00
e373391e7d resolve #164 2014-05-01 00:29:21 +03:00
9fa415bcc5 resolve #160 2014-04-28 21:54:38 +03:00
37416b5f07 simplify folder name 2014-04-28 21:53:34 +03:00
83d3e3dbbf improve readability 2014-04-28 02:27:05 +03:00
307a987cb6 improve naming consistency 2014-04-28 02:14:46 +03:00
eab3cbf255 remove unnecessary nesting 2014-04-28 02:10:18 +03:00
cf7f32f891 definitions are not blocks 2014-04-27 01:54:52 +03:00
4150e00dc4 remove composer dependency 2014-04-26 01:09:28 +03:00
22affa124b travis should be able to run tests in 5.2 2014-04-26 01:06:15 +03:00
5e95242318 improve code consistency 2014-04-26 01:06:14 +03:00
504991a04e Merge pull request #158 from hkdobrev/travis-composer
Run composer install in Travis CI before tests
2014-04-25 00:06:06 +03:00
3d84201d74 Run composer install in Travis CI before tests
Tests are using the Composer autoloader since: cd1c030362

Because of that Composer should have actually dumped the autoloader in the `vendor/` folder,
before the tests are ran.
2014-04-25 00:01:20 +03:00
4f027386b1 "complete" calls should be more consistent 2014-04-24 23:52:42 +03:00
cd1c030362 tests should use autoloader 2014-04-24 22:44:30 +03:00
6081954185 resolve #154 2014-04-18 00:19:22 +03:00
d841003c65 fenced code blocks should respect indnetation 2014-04-17 23:09:10 +03:00
f310bbe13f nested calls to lines should not reset reference definitions 2014-04-17 15:07:09 +03:00
2595f366d9 texts should not share reference definitions 2014-04-17 14:43:45 +03:00
e5dc563804 replace tabs with spaces 2014-04-17 13:34:17 +03:00
e0901ee9c7 remove CONTRIBUTING.md 2014-04-17 11:47:53 +03:00
5316a2e0dd improve readme 2014-04-17 11:22:49 +03:00
5be4491943 make parser class more extensible 2014-04-17 10:59:35 +03:00
4e670129c8 simplify test class 2014-04-17 10:46:07 +03:00
159c3cede6 move deprecated methods to the bottom of the class 2014-04-17 01:11:30 +03:00
c10bde0174 common rules should be in a global .gitignore 2014-03-24 23:08:52 +02:00
24d872383c resolve #140 2014-03-19 00:58:26 +02:00
7ef45894a7 Merge pull request #128 from wkpark/fixup_table
resolve #125 using strpos()
2014-02-28 14:05:10 +02:00
9bf64d2e31 resolve #125 using strpos() 2014-02-27 23:58:24 +09:00
886c620440 Merge pull request #122 from wkpark/marker_index
use $closestMarkerIndex
2014-02-27 14:14:14 +02:00
e156c418d6 fixup regression due to commit 59907ff7 "simplify em/strong routine"
use $closestMarkerIndex correctly
2014-02-26 14:14:56 +09:00
1734f6fc85 Merge pull request #124 from hkdobrev/psr-2-bc
Add set_breaks_enabled() as an alias for BC
2014-02-25 00:48:28 +02:00
d8650cd77c Add set_breaks_enabled() as an alias for BC
Backwards-compatibility is kept with versions before PSR-2 naming.

See http://git.io/SsTarw
2014-02-25 00:43:09 +02:00
3fa9d62572 psr-2 names 2014-02-24 01:38:58 +02:00
4f851205a7 simplify content types 2014-02-24 00:55:34 +02:00
0985c2ef29 fix [0] reference labels 2014-02-23 23:43:18 +02:00
9fd9262f16 implement tables 2014-02-23 18:55:34 +02:00
a6756fd4fa resolve #117 2014-02-22 12:35:54 +02:00
1243fcf3e0 simplify example 2014-02-21 02:49:59 +02:00
1e8d917f7a replace synopsis with a more appropriate word 2014-02-21 02:26:23 +02:00
324eaf7c15 move synopsis to the top 2014-02-21 02:23:17 +02:00
f972f7f15d arrange methods 2014-02-21 02:22:31 +02:00
688b761d32 remove obsolete variables 2014-02-21 02:02:36 +02:00
b8bd12f565 parser should be less dependent on compiler 2014-02-21 01:54:23 +02:00
7a20a9fb60 Merge pull request #114 from wkpark/fixup_reference_label
fixup internal reference labling to make code more readable
2014-02-20 13:41:18 +02:00
6fed312d3c fixup internal reference labling to make code more readable 2014-02-19 13:30:46 +09:00
d0784d1006 Merge pull request #110 from wkpark/hr_heading
support HTML hr and headings
2014-02-17 21:29:57 +02:00
446fead459 simple html cases 2014-02-17 23:33:56 +09:00
ccbdfabaff support HR and headings as block markups 2014-02-17 23:31:08 +09:00
bc30ad8e30 Merge pull request #98 from hkdobrev/php-5.6
Run the testsuite on PHP 5.6
2014-02-12 21:45:52 +02:00
d9f325903a Run the testsuite on PHP 5.6 2014-02-12 19:13:14 +02:00
d29ff18299 resolve #92 2014-02-06 14:16:14 +02:00
95e9878fb0 improve tests 2014-02-06 02:37:09 +02:00
611aed179d simplify reference 2014-02-06 02:36:22 +02:00
abb88d59fa fix reference 2014-02-06 02:36:11 +02:00
14ab6d46fe resolve #82 2014-02-06 00:10:18 +02:00
ebfdace4c6 reference labels should be case insensitive 2014-02-05 14:18:05 +02:00
ba7f377290 resolve #88, resolve #81 2014-02-05 14:03:43 +02:00
548a6f7945 resolve #89 2014-02-05 14:03:43 +02:00
7a4d3c0f18 Merge pull request #85 from cebe/simplify-tests
simplify testing and improved output
2014-02-04 03:46:39 -08:00
7f68a3a2e1 improve contributing guidelines 2014-02-04 01:49:55 +02:00
7193e634b2 Merge pull request #84 from wkpark/fix-em-strong
simplify em/strong routine
2014-02-03 05:28:20 -08:00
45c01d4673 simplify testing and improved output 2014-02-03 11:23:54 +01:00
59907ff757 simplify em/strong routine
retry to search em/strong markers to fix nested em/strong correctly
2014-02-03 16:48:28 +09:00
6e93b68692 outdented is shorter and probably more accurate 2014-02-02 23:41:58 +02:00
5a525be070 improve contributing guidelines 2014-02-02 23:23:50 +02:00
120 changed files with 1749 additions and 1234 deletions

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
.DS_Store
.idea
nbproject

View File

@ -1,8 +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 - hhvm

View File

@ -1,15 +0,0 @@
Do create pull requests that:
* resolve an issue
* optimise an existing feature or text
Do NOT create pull requests that:
* introduce a feature or text
* change the currently used coding style
Pull requests should do only ONE thing. If a pull request contains unrelated updates, they should be submitted as separate pull requests.
By contributing to the project, you grant to the creator of the project a perpetual, worldwide, no-charge, irrevocable license to use, reproduce and distribute your contributions and derivative works.
You also warrant that you are the sole owner of your contributions and that they are your original works of authorship.

File diff suppressed because it is too large Load Diff

View File

@ -2,19 +2,17 @@
Better [Markdown](http://en.wikipedia.org/wiki/Markdown) parser for PHP. Better [Markdown](http://en.wikipedia.org/wiki/Markdown) parser for PHP.
*** * [Demo](http://parsedown.org/demo)
* [Test Suite](http://parsedown.org/tests/)
[ [demo](http://parsedown.org/demo) ] [ [tests](http://parsedown.org/tests/) ]
***
### Features ### Features
* [fast](http://parsedown.org/speed) * [Fast](http://parsedown.org/speed)
* [consistent](http://parsedown.org/consistency) * [Consistent](http://parsedown.org/consistency)
* [GitHub Flavored](https://help.github.com/articles/github-flavored-markdown) * [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 and [hhvm](http://www.hhvm.com/) * [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/)
* friendly to international input * Extensible
* [Markdown Extra extension](https://github.com/erusev/parsedown-extra) <sup>new</sup>
### Installation ### Installation
@ -22,10 +20,21 @@ 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 <em>Parsedown</em>!</p>
``` ```
More examples in [the wiki](https://github.com/erusev/parsedown/wiki/Usage).
### Questions
**How does Parsedown work?**<br/>
Parsedown recognises that the Markdown syntax is optimised for humans so it tries to read like one. It goes through text line by line. It looks at how lines start to identify blocks. It looks for special characters to identify inline elements.
**Why doesnt Parsedown use namespaces?**<br/>
Using namespaces would mean dropping support for PHP 5.2. Since Parsedown is a single class with an uncommon name, making this trade wouldn't make much sense.
**Who uses Parsedown?**<br/>
[phpDocumentor](http://www.phpdoc.org/), [Bolt CMS](http://bolt.cm/), [RaspberryPi.org](http://www.raspberrypi.org/) and [more](https://www.versioneye.com/php/erusev:parsedown/references).

View File

@ -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
View 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
View File

@ -0,0 +1,3 @@
<?php
include 'Parsedown.php';

View File

@ -0,0 +1,5 @@
<!-- single line -->
<p>paragraph</p>
<!--
multiline -->
<p>paragraph</p>

View File

@ -0,0 +1,8 @@
<!-- single line -->
paragraph
<!--
multiline -->
paragraph

View 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>

View File

@ -0,0 +1,4 @@
| header 1 | header 2 |
| -------- | -------- |
| cell 1.1 | cell 1.2 |
| cell 2.1 | cell 2.2 |

View 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>

View 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 |

View File

@ -1,8 +1,8 @@
<h1>h1</h1> <h1>h1</h1>
<h2>h2</h2> <h2>h2</h2>
<h3>h3</h3> <h3>h3</h3>
<h4>h4</h4> <h4>h4</h4>
<h5>h5</h5> <h5>h5</h5>
<h6>h6</h6> <h6>h6</h6>
<h1>closed h1</h1> <h1>closed h1</h1>
<p>#</p> <p>#</p>

View File

@ -1,15 +1,15 @@
# h1 # h1
## h2 ## h2
### h3 ### h3
#### h4 #### h4
##### h5 ##### h5
###### h6 ###### h6
# closed h1 # # closed h1 #
# #

View File

@ -1,5 +1,8 @@
<div>_content_</div> <div>_content_</div>
<p>sparse:</p> <p>sparse:</p>
<div> <div>
<div class="inner">
_content_ _content_
</div> </div>
</div>
<p>paragraph</p>

View File

@ -3,5 +3,9 @@
sparse: sparse:
<div> <div>
<div class="inner">
_content_ _content_
</div> </div>
</div>
paragraph

View File

@ -1,8 +1,8 @@
<pre><code>&lt;?php <pre><code>&lt;?php
$message = 'Hello World!'; $message = 'Hello World!';
echo $message;</code></pre> echo $message;</code></pre>
<hr /> <hr />
<pre><code>&gt; not a quote <pre><code>&gt; not a quote
- not a list item - not a list item
[not a reference]: http://foo.com</code></pre> [not a reference]: http://foo.com</code></pre>

10
test/data/code_block.md Normal file
View 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
View 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
View 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`

View File

@ -3,16 +3,10 @@
<ul> <ul>
<li>li <li>li
<ul> <ul>
<li>li
<ul>
<li>li</li> <li>li</li>
</ul>
</li>
<li>li</li> <li>li</li>
</ul> </ul></li>
</li>
<li>li</li> <li>li</li>
</ul> </ul></li>
</li>
<li>li</li> <li>li</li>
</ul> </ul>

View File

@ -1,7 +1,6 @@
- li - li
- li
- li - li
- li - li
- li
- li - li
- li
- li - li

View File

@ -1,8 +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><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><strong>strong</strong> and <em>em</em> and <strong>strong</strong> and <em>em</em></p>
<p><em>line <p><em>line
line line
line</em></p> line</em></p>
<p>this_is_not_an_emphasis</p> <p>this_is_not_an_emphasis</p>
<p>an empty emphasis __ ** is not an emphasis</p> <p>an empty emphasis __ ** is not an emphasis</p>
<p>*mixed *<em>double and</em> single asterisk** spans</p> <p>*mixed *<em>double and</em> single asterisk** spans</p>

View File

@ -1,13 +1,13 @@
_underscore_, *asterisk*, _one two_, *three four*, _a_, *b* _underscore_, *asterisk*, _one two_, *three four*, _a_, *b*
**strong** and *em* and **strong** and *em* **strong** and *em* and **strong** and *em*
_line _line
line line
line_ line_
this_is_not_an_emphasis this_is_not_an_emphasis
an empty emphasis __ ** is not an emphasis an empty emphasis __ ** is not an emphasis
*mixed **double and* single asterisk** spans *mixed **double and* single asterisk** spans

View File

@ -1,5 +1,5 @@
<hr /> <hr />
<hr /> <hr />
<hr /> <hr />
<hr /> <hr />
<hr /> <hr />

View File

@ -1,9 +1,9 @@
--- ---
- - - - - -
- - - - - -
*** ***
___ ___

View File

@ -1,3 +1,4 @@
<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">implicit</a> reference link followed by <a href="http://cnn.com">another</a></p>
<p>an <a href="http://example.com" title="Example">explicit</a> reference link with a title</p> <p>an <a href="http://example.com" title="Example">explicit</a> reference link with a title</p>

View File

@ -4,6 +4,10 @@ an [implicit] reference link
an [implicit][] reference link with an empty link definition an [implicit][] reference link with an empty link definition
an [implicit][] reference link followed by [another][]
[another]: http://cnn.com
an [explicit][example] reference link with a title an [explicit][example] reference link with a title
[example]: http://example.com "Example" [example]: http://example.com "Example"

View File

@ -1,4 +1,6 @@
<blockquote> <blockquote>
<p>quote <p>quote
the rest of it</p> the rest of it</p>
<p>another paragraph
the rest of it</p>
</blockquote> </blockquote>

View File

@ -0,0 +1,5 @@
> quote
the rest of it
> another paragraph
the rest of it

View File

@ -1,2 +1,2 @@
<p>line<br /> <p>line<br />
line</p> line</p>

View File

@ -1,2 +1,2 @@
line line
line line

View 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>

View 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

View File

@ -0,0 +1,12 @@
<hr>
<p>paragraph</p>
<hr/>
<p>paragraph</p>
<hr />
<p>paragraph</p>
<hr class="foo" id="bar" />
<p>paragraph</p>
<hr class="foo" id="bar"/>
<p>paragraph</p>
<hr class="foo" id="bar" >
<p>paragraph</p>

View File

@ -0,0 +1,12 @@
<hr>
paragraph
<hr/>
paragraph
<hr />
paragraph
<hr class="foo" id="bar" />
paragraph
<hr class="foo" id="bar"/>
paragraph
<hr class="foo" id="bar" >
paragraph

View File

@ -0,0 +1,9 @@
<ul>
<li>
<p>li</p>
<ul>
<li>li</li>
<li>li</li>
</ul>
</li>
</ul>

View File

@ -0,0 +1,4 @@
- li
- li
- li

View File

@ -1,5 +1,5 @@
<h1>h1</h1> <h1>h1</h1>
<h2>h2</h2> <h2>h2</h2>
<h2>single character</h2> <h2>single character</h2>
<p>not a header</p> <p>not a header</p>
<hr /> <hr />

View File

@ -1,12 +1,12 @@
h1 h1
== ==
h2 h2
-- --
single character single character
- -
not a header not a header
------------ ------------

View 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
View 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

View File

@ -0,0 +1,5 @@
<p>an <b>important</b> <a href=''>link</a></p>
<p>broken<br/>
line</p>
<p><b>inline tag</b> at the beginning</p>
<p><span><a href="http://example.com">http://example.com</a></span></p>

View File

@ -0,0 +1,8 @@
an <b>important</b> <a href=''>link</a>
broken<br/>
line
<b>inline tag</b> at the beginning
<span>http://example.com</span>

View File

@ -1,6 +1,6 @@
<p>AT&amp;T has an ampersand in their name</p> <p>AT&amp;T has an ampersand in their name</p>
<p>this &amp; that</p> <p>this &amp; that</p>
<p>4 &lt; 5 and 6 > 5</p> <p>4 &lt; 5 and 6 > 5</p>
<p><a href="http://example.com/autolink?a=1&amp;b=2">http://example.com/autolink?a=1&amp;b=2</a></p> <p><a href="http://example.com/autolink?a=1&amp;b=2">http://example.com/autolink?a=1&amp;b=2</a></p>
<p><a href="/script?a=1&amp;b=2">inline link</a></p> <p><a href="/script?a=1&amp;b=2">inline link</a></p>
<p><a href="http://example.com/?a=1&amp;b=2">reference link</a></p> <p><a href="http://example.com/?a=1&amp;b=2">reference link</a></p>

View File

@ -1,13 +1,13 @@
AT&T has an ampersand in their name AT&T has an ampersand in their name
this & that this & that
4 < 5 and 6 > 5 4 < 5 and 6 > 5
<http://example.com/autolink?a=1&b=2> <http://example.com/autolink?a=1&b=2>
[inline link](/script?a=1&b=2) [inline link](/script?a=1&b=2)
[reference link][1] [reference link][1]
[1]: http://example.com/?a=1&b=2 [1]: http://example.com/?a=1&b=2

View File

@ -1,6 +1,6 @@
<pre><code>&lt;?php <pre><code>&lt;?php
$message = 'Hello World!'; $message = 'Hello World!';
echo $message; echo $message;
echo "following a blank line";</code></pre> echo "following a blank line";</code></pre>

View File

@ -1,6 +1,6 @@
<?php <?php
$message = 'Hello World!'; $message = 'Hello World!';
echo $message; echo $message;
echo "following a blank line"; echo "following a blank line";

View 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>

View File

@ -0,0 +1,4 @@
| _header_ 1 | header 2 |
| ------------ | ------------ |
| _cell_ 1.1 | ~~cell~~ 1.2 |
| `cell` 2.1 | cell 2.2 |

Some files were not shown because too many files have changed in this diff Show More