mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
Compare commits
51 Commits
0.9.1
...
1.0.0-rc.1
Author | SHA1 | Date | |
---|---|---|---|
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 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
.idea
|
|
||||||
nbproject
|
|
@ -1,6 +1,7 @@
|
|||||||
language: php
|
language: php
|
||||||
|
|
||||||
php:
|
php:
|
||||||
|
- 5.6
|
||||||
- 5.5
|
- 5.5
|
||||||
- 5.4
|
- 5.4
|
||||||
- 5.3
|
- 5.3
|
||||||
|
@ -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.
|
|
1854
Parsedown.php
1854
Parsedown.php
File diff suppressed because it is too large
Load Diff
21
README.md
21
README.md
@ -2,19 +2,16 @@
|
|||||||
|
|
||||||
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)
|
||||||
|
- [Tests](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
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
@ -23,9 +20,7 @@ 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>
|
|
||||||
```
|
```
|
||||||
|
@ -4,52 +4,64 @@ include 'Parsedown.php';
|
|||||||
|
|
||||||
class Test extends PHPUnit_Framework_TestCase
|
class Test extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
const provider_dir = 'data/';
|
public function __construct($name = null, array $data = array(), $dataName = '')
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider provider
|
|
||||||
*/
|
|
||||||
function test_($markdown, $expected_markup)
|
|
||||||
{
|
{
|
||||||
$actual_markup = Parsedown::instance()->parse($markdown);
|
$this->dataDir = dirname(__FILE__).'/data/';
|
||||||
|
|
||||||
$this->assertEquals($expected_markup, $actual_markup);
|
parent::__construct($name, $data, $dataName);
|
||||||
}
|
}
|
||||||
|
|
||||||
function provider()
|
private $dataDir;
|
||||||
{
|
|
||||||
$provider = array();
|
|
||||||
|
|
||||||
$path = dirname(__FILE__).'/';
|
/**
|
||||||
|
* @dataProvider data
|
||||||
$DirectoryIterator = new DirectoryIterator($path . '/' . self::provider_dir);
|
*/
|
||||||
|
function test_($filename)
|
||||||
foreach ($DirectoryIterator as $Item)
|
|
||||||
{
|
{
|
||||||
if ($Item->isFile())
|
$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()
|
||||||
{
|
{
|
||||||
$filename = $Item->getFilename();
|
$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);
|
$extension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||||
|
|
||||||
if ($extension !== 'md')
|
if ($extension !== 'md')
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$basename = $Item->getBasename('.md');
|
$basename = $File->getBasename('.md');
|
||||||
|
|
||||||
$markdown = file_get_contents($path . '/' . self::provider_dir . $basename . '.md');
|
if (file_exists($this->dataDir . $basename . '.html'))
|
||||||
|
{
|
||||||
if (!$markdown)
|
$data []= array($basename);
|
||||||
continue;
|
|
||||||
|
|
||||||
$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);
|
|
||||||
|
|
||||||
$provider [] = array($markdown, $expected_markup);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $provider;
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
18
tests/data/aesthetic_table.html
Normal file
18
tests/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
tests/data/aesthetic_table.md
Normal file
4
tests/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
tests/data/aligned_table.html
Normal file
21
tests/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
tests/data/aligned_table.md
Normal file
4
tests/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 |
|
@ -8,4 +8,3 @@
|
|||||||
> not a quote
|
> not a quote
|
||||||
- not a list item
|
- not a list item
|
||||||
[not a reference]: http://foo.com
|
[not a reference]: http://foo.com
|
||||||
|
|
@ -1,3 +1,6 @@
|
|||||||
<p>a <code>code span</code></p>
|
<p>a <code>code span</code></p>
|
||||||
<p><code>this is also a codespan</code> trailing text</p>
|
<p><code>this is also a codespan</code> trailing text</p>
|
||||||
<p><code>and look at this one!</code></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>
|
@ -3,3 +3,9 @@ a `code span`
|
|||||||
`this is also a codespan` trailing text
|
`this is also a codespan` trailing text
|
||||||
|
|
||||||
`and look at this one!`
|
`and look at this one!`
|
||||||
|
|
||||||
|
single backtick in a code span: `` ` ``
|
||||||
|
|
||||||
|
backtick-delimited string in a code span: `` `foo` ``
|
||||||
|
|
||||||
|
`sth `` sth`
|
@ -3,16 +3,10 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li>li
|
<li>li
|
||||||
<ul>
|
<ul>
|
||||||
<li>li
|
<li>li</li>
|
||||||
<ul>
|
<li>li</li>
|
||||||
<li>li</li>
|
</ul></li>
|
||||||
</ul>
|
<li>li</li>
|
||||||
</li>
|
</ul></li>
|
||||||
<li>li</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>li</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>li</li>
|
<li>li</li>
|
||||||
</ul>
|
</ul>
|
@ -4,4 +4,3 @@
|
|||||||
- li
|
- li
|
||||||
- li
|
- li
|
||||||
- li
|
- li
|
||||||
- li
|
|
28
tests/data/html_simple.html
Normal file
28
tests/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
tests/data/html_simple.md
Normal file
39
tests/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
tests/data/inline_link_title.html
Normal file
1
tests/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
tests/data/inline_link_title.md
Normal file
1
tests/data/inline_link_title.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
[single quotes](http://example.com 'Title') and [double quotes](http://example.com "Title")
|
@ -1 +1,2 @@
|
|||||||
<p><a href="http://example.com" title="Title">single quotes</a> and <a href="http://example.com" title="Title">double quotes</a></p>
|
<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>
|
@ -1 +1,6 @@
|
|||||||
[single quotes](http://example.com 'Title') and [double quotes](http://example.com "Title")
|
[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
|
37
tests/data/simple_table.html
Normal file
37
tests/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
tests/data/simple_table.md
Normal file
11
tests/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
|
18
tests/data/table_inline_markdown.html
Normal file
18
tests/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
tests/data/table_inline_markdown.md
Normal file
4
tests/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 |
|
@ -3,5 +3,6 @@
|
|||||||
<p>[one][404] with no definition</p>
|
<p>[one][404] with no definition</p>
|
||||||
<p><a href="http://example.com">multiline
|
<p><a href="http://example.com">multiline
|
||||||
one</a> defined on 2 lines</p>
|
one</a> defined on 2 lines</p>
|
||||||
<p><a href="http://example.com">one</a> with an upper case label</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>
|
<p><a href="http://example.com"><code>link</code></a></p>
|
@ -11,8 +11,11 @@
|
|||||||
[multiline
|
[multiline
|
||||||
one][website] defined on 2 lines
|
one][website] defined on 2 lines
|
||||||
|
|
||||||
[one][label] with an upper case label
|
[one][Label] with a mixed case label and an upper case definition
|
||||||
|
|
||||||
[LABEL]: http://example.com
|
[LABEL]: http://example.com
|
||||||
|
|
||||||
|
[one]
|
||||||
|
[1] with the a label on the next line
|
||||||
|
|
||||||
[`link`][website]
|
[`link`][website]
|
18
tests/data/untidy_table.html
Normal file
18
tests/data/untidy_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
tests/data/untidy_table.md
Normal file
4
tests/data/untidy_table.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
| header 1 | header 2 |
|
||||||
|
| ------------- | ----------- |
|
||||||
|
| cell 1.1 | cell 1.2 |
|
||||||
|
| cell 2.1 | cell 2.2 |
|
@ -1,2 +1,3 @@
|
|||||||
<p>an autolink <a href="http://example.com">http://example.com</a></p>
|
<p>an autolink <a href="http://example.com">http://example.com</a></p>
|
||||||
<p>inside of brackets [<a href="http://example.com">http://example.com</a>], inside of braces {<a href="http://example.com">http://example.com</a>}, inside of parentheses (<a href="http://example.com">http://example.com</a>)</p>
|
<p>inside of brackets [<a href="http://example.com">http://example.com</a>], inside of braces {<a href="http://example.com">http://example.com</a>}, inside of parentheses (<a href="http://example.com">http://example.com</a>)</p>
|
||||||
|
<p>trailing slash <a href="http://example.com/">http://example.com/</a> and <a href="http://example.com/path/">http://example.com/path/</a></p>
|
@ -1,3 +1,5 @@
|
|||||||
an autolink http://example.com
|
an autolink http://example.com
|
||||||
|
|
||||||
inside of brackets [http://example.com], inside of braces {http://example.com}, inside of parentheses (http://example.com)
|
inside of brackets [http://example.com], inside of braces {http://example.com}, inside of parentheses (http://example.com)
|
||||||
|
|
||||||
|
trailing slash http://example.com/ and http://example.com/path/
|
Reference in New Issue
Block a user