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

Compare commits

..

86 Commits
0.9.1 ... 1.0.0

Author SHA1 Message Date
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 1771 additions and 1215 deletions

3
.gitignore vendored
View File

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

View File

@ -1,8 +1,10 @@
language: php
php:
- 5.6
- 5.5
- 5.4
- 5.3
- 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,16 @@
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
* [fast](http://parsedown.org/speed)
* [consistent](http://parsedown.org/consistency)
* [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 and [hhvm](http://www.hhvm.com/)
* friendly to international input
* [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
@ -22,10 +19,8 @@ Include `Parsedown.php` or install [the composer package](https://packagist.org/
### Example
```php
$text = 'Hello *Parsedown*!';
``` php
$Parsedown = new Parsedown();
$result = Parsedown::instance()->parse($text);
echo $result; # prints: <p>Hello <em>Parsedown</em>!</p>
echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>
```

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true">
<phpunit bootstrap="test/bootstrap.php" colors="true">
<testsuites>
<testsuite>
<file>tests/Test.php</file>
<file>test/Test.php</file>
</testsuite>
</testsuites>
</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>
<h2>h2</h2>
<h3>h3</h3>
<h4>h4</h4>
<h5>h5</h5>
<h6>h6</h6>
<h1>closed h1</h1>
<h1>h1</h1>
<h2>h2</h2>
<h3>h3</h3>
<h4>h4</h4>
<h5>h5</h5>
<h6>h6</h6>
<h1>closed h1</h1>
<p>#</p>

View File

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

View File

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

View File

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

View File

@ -1,8 +1,8 @@
<pre><code>&lt;?php
$message = 'Hello World!';
echo $message;</code></pre>
<hr />
<pre><code>&gt; not a quote
- not a list item
<pre><code>&lt;?php
$message = 'Hello World!';
echo $message;</code></pre>
<hr />
<pre><code>&gt; not a quote
- not a list item
[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>
<li>li
<ul>
<li>li
<ul>
<li>li</li>
</ul>
</li>
<li>li</li>
</ul>
</li>
</ul></li>
<li>li</li>
</ul>
</li>
</ul></li>
<li>li</li>
</ul>

View File

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

View File

@ -1,13 +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
_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

View File

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

View File

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

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

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

View File

@ -4,6 +4,10 @@ an [implicit] reference link
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
[example]: http://example.com "Example"

View File

@ -1,4 +1,6 @@
<blockquote>
<p>quote
the rest of it</p>
<p>another paragraph
the rest of it</p>
</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>

View File

@ -1,2 +1,2 @@
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,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>
<h2>h2</h2>
<h2>single character</h2>
<p>not a header</p>
<h1>h1</h1>
<h2>h2</h2>
<h2>single character</h2>
<p>not a header</p>
<hr />

View File

@ -1,12 +1,12 @@
h1
==
h2
--
single character
-
not a header
h1
==
h2
--
single character
-
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>this &amp; that</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="/script?a=1&amp;b=2">inline link</a></p>
<p>AT&amp;T has an ampersand in their name</p>
<p>this &amp; that</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="/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>

View File

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

View File

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

View File

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

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