Added Parsedown
Replaced Markdown with Parsedown, Three times faster.
This commit is contained in:
parent
b2330ad357
commit
1c58dc0b03
125 changed files with 2674 additions and 3577 deletions
|
@ -14,7 +14,7 @@
|
|||
"require": {
|
||||
"php": ">=5.2.4",
|
||||
"twig/twig": "1.12.*",
|
||||
"michelf/php-markdown": "1.3"
|
||||
"erusev/parsedown": ">=1.1"
|
||||
},
|
||||
"autoload": {
|
||||
"files": ["lib/pico.php"]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
use \Michelf\MarkdownExtra;
|
||||
|
||||
/**
|
||||
* Pico
|
||||
|
@ -138,8 +137,8 @@ class Pico {
|
|||
{
|
||||
$content = preg_replace('#/\*.+?\*/#s', '', $content); // Remove comments and meta
|
||||
$content = str_replace('%base_url%', $this->base_url(), $content);
|
||||
$content = MarkdownExtra::defaultTransform($content);
|
||||
|
||||
//$content = MarkdownExtra::defaultTransform($content);
|
||||
$content = Parsedown::instance()->text($content);
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
|
@ -4,4 +4,4 @@
|
|||
|
||||
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit68d29614b81b64051229769b084d96b6::getLoader();
|
||||
return ComposerAutoloaderInit93f58609314fdd6a4b838ffafa563731::getLoader();
|
||||
|
|
224
vendor/composer/ClassLoader.php
vendored
224
vendor/composer/ClassLoader.php
vendored
|
@ -42,19 +42,36 @@ namespace Composer\Autoload;
|
|||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
private $prefixes = array();
|
||||
private $fallbackDirs = array();
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
private $prefixesPsr0 = array();
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
private $useIncludePath = false;
|
||||
private $classMap = array();
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
return call_user_func_array('array_merge', $this->prefixes);
|
||||
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
||||
}
|
||||
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirs;
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
public function getClassMap()
|
||||
|
@ -75,23 +92,24 @@ class ClassLoader
|
|||
}
|
||||
|
||||
/**
|
||||
* Registers a set of classes, merging with any others previously set.
|
||||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The classes prefix
|
||||
* @param array|string $paths The location(s) of the classes
|
||||
* @param bool $prepend Prepend the location(s)
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirs = array_merge(
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirs
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirs = array_merge(
|
||||
$this->fallbackDirs,
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
@ -100,38 +118,104 @@ class ClassLoader
|
|||
}
|
||||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixes[$first][$prefix])) {
|
||||
$this->prefixes[$first][$prefix] = (array) $paths;
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixes[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixes[$first][$prefix]
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixes[$first][$prefix] = array_merge(
|
||||
$this->prefixes[$first][$prefix],
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of classes, replacing any others previously set.
|
||||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The classes prefix
|
||||
* @param array|string $paths The location(s) of the classes
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
// Register directories for a new namespace.
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirs = (array) $paths;
|
||||
|
||||
return;
|
||||
$this->fallbackDirsPsr0 = (array) $paths;
|
||||
} else {
|
||||
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
*/
|
||||
public function setPsr4($prefix, $paths) {
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr4 = (array) $paths;
|
||||
} else {
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
}
|
||||
$this->prefixes[substr($prefix, 0, 1)][$prefix] = (array) $paths;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -182,7 +266,7 @@ class ClassLoader
|
|||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
include $file;
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -202,45 +286,93 @@ class ClassLoader
|
|||
$class = substr($class, 1);
|
||||
}
|
||||
|
||||
// class map lookup
|
||||
if (isset($this->classMap[$class])) {
|
||||
return $this->classMap[$class];
|
||||
}
|
||||
|
||||
if (false !== $pos = strrpos($class, '\\')) {
|
||||
// namespaced class name
|
||||
$classPath = strtr(substr($class, 0, $pos), '\\', DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
|
||||
$className = substr($class, $pos + 1);
|
||||
} else {
|
||||
// PEAR-like class name
|
||||
$classPath = null;
|
||||
$className = $class;
|
||||
$file = $this->findFileWithExtension($class, '.php');
|
||||
|
||||
// Search for Hack files if we are running on HHVM
|
||||
if ($file === null && defined('HHVM_VERSION')) {
|
||||
$file = $this->findFileWithExtension($class, '.hh');
|
||||
}
|
||||
|
||||
$classPath .= strtr($className, '_', DIRECTORY_SEPARATOR) . '.php';
|
||||
if ($file === null) {
|
||||
// Remember that this class does not exist.
|
||||
return $this->classMap[$class] = false;
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
||||
|
||||
$first = $class[0];
|
||||
if (isset($this->prefixes[$first])) {
|
||||
foreach ($this->prefixes[$first] as $prefix => $dirs) {
|
||||
if (isset($this->prefixLengthsPsr4[$first])) {
|
||||
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($dirs as $dir) {
|
||||
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
|
||||
return $dir . DIRECTORY_SEPARATOR . $classPath;
|
||||
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->fallbackDirs as $dir) {
|
||||
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
|
||||
return $dir . DIRECTORY_SEPARATOR . $classPath;
|
||||
// PSR-4 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr4 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->useIncludePath && $file = stream_resolve_include_path($classPath)) {
|
||||
return $file;
|
||||
// PSR-0 lookup
|
||||
if (false !== $pos = strrpos($class, '\\')) {
|
||||
// namespaced class name
|
||||
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
||||
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
||||
} else {
|
||||
// PEAR-like class name
|
||||
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
||||
}
|
||||
|
||||
return $this->classMap[$class] = false;
|
||||
if (isset($this->prefixesPsr0[$first])) {
|
||||
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($dirs as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr0 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 include paths.
|
||||
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
||||
|
|
10
vendor/composer/autoload_files.php
vendored
Normal file
10
vendor/composer/autoload_files.php
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
$baseDir . '/lib/pico.php',
|
||||
);
|
2
vendor/composer/autoload_namespaces.php
vendored
2
vendor/composer/autoload_namespaces.php
vendored
|
@ -7,5 +7,5 @@ $baseDir = dirname($vendorDir);
|
|||
|
||||
return array(
|
||||
'Twig_' => array($vendorDir . '/twig/twig/lib'),
|
||||
'Michelf' => array($vendorDir . '/michelf/php-markdown'),
|
||||
'Parsedown' => array($vendorDir . '/erusev/parsedown'),
|
||||
);
|
||||
|
|
9
vendor/composer/autoload_psr4.php
vendored
Normal file
9
vendor/composer/autoload_psr4.php
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
);
|
21
vendor/composer/autoload_real.php
vendored
21
vendor/composer/autoload_real.php
vendored
|
@ -2,7 +2,7 @@
|
|||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit68d29614b81b64051229769b084d96b6
|
||||
class ComposerAutoloaderInit93f58609314fdd6a4b838ffafa563731
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
|
@ -19,9 +19,9 @@ class ComposerAutoloaderInit68d29614b81b64051229769b084d96b6
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit68d29614b81b64051229769b084d96b6', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit93f58609314fdd6a4b838ffafa563731', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit68d29614b81b64051229769b084d96b6', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit93f58609314fdd6a4b838ffafa563731', 'loadClassLoader'));
|
||||
|
||||
$vendorDir = dirname(__DIR__);
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
@ -31,6 +31,11 @@ class ComposerAutoloaderInit68d29614b81b64051229769b084d96b6
|
|||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
|
@ -38,6 +43,16 @@ class ComposerAutoloaderInit68d29614b81b64051229769b084d96b6
|
|||
|
||||
$loader->register(true);
|
||||
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
foreach ($includeFiles as $file) {
|
||||
composerRequire93f58609314fdd6a4b838ffafa563731($file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequire93f58609314fdd6a4b838ffafa563731($file)
|
||||
{
|
||||
require $file;
|
||||
}
|
||||
|
|
46
vendor/composer/installed.json
vendored
46
vendor/composer/installed.json
vendored
|
@ -51,56 +51,44 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"name": "michelf/php-markdown",
|
||||
"version": "1.3",
|
||||
"version_normalized": "1.3.0.0",
|
||||
"name": "erusev/parsedown",
|
||||
"version": "1.1.0",
|
||||
"version_normalized": "1.1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/michelf/php-markdown.git",
|
||||
"reference": "fcdd3e0781ae40c2b9847874e0755ff4f5559688"
|
||||
"url": "https://github.com/erusev/parsedown.git",
|
||||
"reference": "c62365adc4488e1c35a8f45ea86f7d4a22bd58a0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/fcdd3e0781ae40c2b9847874e0755ff4f5559688",
|
||||
"reference": "fcdd3e0781ae40c2b9847874e0755ff4f5559688",
|
||||
"url": "https://api.github.com/repos/erusev/parsedown/zipball/c62365adc4488e1c35a8f45ea86f7d4a22bd58a0",
|
||||
"reference": "c62365adc4488e1c35a8f45ea86f7d4a22bd58a0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"time": "2013-04-11 18:53:11",
|
||||
"time": "2014-09-25 23:06:16",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-lib": "1.3.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Michelf": ""
|
||||
"Parsedown": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michel Fortin",
|
||||
"email": "michel.fortin@michelf.ca",
|
||||
"homepage": "http://michelf.ca/",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "John Gruber",
|
||||
"homepage": "http://daringfireball.net/"
|
||||
"name": "Emanuil Rusev",
|
||||
"email": "hello@erusev.com",
|
||||
"homepage": "http://erusev.com"
|
||||
}
|
||||
],
|
||||
"description": "PHP Markdown",
|
||||
"homepage": "http://michelf.ca/projects/php-markdown/",
|
||||
"description": "Parser for Markdown.",
|
||||
"homepage": "http://parsedown.org",
|
||||
"keywords": [
|
||||
"markdown"
|
||||
"markdown",
|
||||
"parser"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
10
vendor/erusev/parsedown/.travis.yml
vendored
Normal file
10
vendor/erusev/parsedown/.travis.yml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
language: php
|
||||
|
||||
php:
|
||||
- 5.6
|
||||
- 5.5
|
||||
- 5.4
|
||||
- 5.3
|
||||
- 5.2
|
||||
- hhvm
|
||||
|
20
vendor/erusev/parsedown/LICENSE.txt
vendored
Normal file
20
vendor/erusev/parsedown/LICENSE.txt
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 Emanuil Rusev, erusev.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1421
vendor/erusev/parsedown/Parsedown.php
vendored
Normal file
1421
vendor/erusev/parsedown/Parsedown.php
vendored
Normal file
File diff suppressed because it is too large
Load diff
43
vendor/erusev/parsedown/README.md
vendored
Normal file
43
vendor/erusev/parsedown/README.md
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
## Parsedown
|
||||
|
||||
Better [Markdown](http://en.wikipedia.org/wiki/Markdown) parser for PHP.
|
||||
|
||||
[[ demo ]](http://parsedown.org/demo)
|
||||
|
||||
### Features
|
||||
|
||||
* [Fast](http://parsedown.org/speed)
|
||||
* [Consistent](http://parsedown.org/consistency)
|
||||
* [GitHub Flavored](https://help.github.com/articles/github-flavored-markdown)
|
||||
* [Tested](http://parsedown.org/tests/) in PHP 5.2, 5.3, 5.4, 5.5, 5.6 and [hhvm](http://www.hhvm.com/)
|
||||
* Extensible
|
||||
* [Markdown Extra extension](https://github.com/erusev/parsedown-extra) <sup>new</sup>
|
||||
* [JavaScript port](https://github.com/hkdobrev/parsedown.js) under development <sup>new</sup>
|
||||
|
||||
### Installation
|
||||
|
||||
Include `Parsedown.php` or install [the composer package](https://packagist.org/packages/erusev/parsedown).
|
||||
|
||||
### Example
|
||||
|
||||
``` php
|
||||
$Parsedown = new Parsedown();
|
||||
|
||||
echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>
|
||||
```
|
||||
|
||||
More examples in [the wiki](https://github.com/erusev/parsedown/wiki/Usage) and in [this video tutorial](http://youtu.be/wYZBY8DEikI).
|
||||
|
||||
### 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 doesn’t Parsedown use namespaces?**<br/>
|
||||
Using namespaces would mean dropping support for PHP 5.2. We believe that since Parsedown is a single class with an uncommon name, making this trade wouldn't be worth it.
|
||||
|
||||
**Is Parsedown compliant with CommonMark?**<br/>
|
||||
We are [working on it](https://github.com/erusev/parsedown/tree/commonmark).
|
||||
|
||||
**Who uses Parsedown?**<br/>
|
||||
[phpDocumentor](http://www.phpdoc.org/), [October CMS](http://octobercms.com/), [Bolt CMS](http://bolt.cm/), [RaspberryPi.org](http://www.raspberrypi.org/) and [more](https://www.versioneye.com/php/erusev:parsedown/references).
|
18
vendor/erusev/parsedown/composer.json
vendored
Normal file
18
vendor/erusev/parsedown/composer.json
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "erusev/parsedown",
|
||||
"description": "Parser for Markdown.",
|
||||
"keywords": ["markdown", "parser"],
|
||||
"homepage": "http://parsedown.org",
|
||||
"type": "library",
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Emanuil Rusev",
|
||||
"email": "hello@erusev.com",
|
||||
"homepage": "http://erusev.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-0": {"Parsedown": ""}
|
||||
}
|
||||
}
|
8
vendor/erusev/parsedown/phpunit.xml.dist
vendored
Normal file
8
vendor/erusev/parsedown/phpunit.xml.dist
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit bootstrap="test/bootstrap.php" colors="true">
|
||||
<testsuites>
|
||||
<testsuite>
|
||||
<file>test/ParsedownTest.php</file>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
133
vendor/erusev/parsedown/test/ParsedownTest.php
vendored
Normal file
133
vendor/erusev/parsedown/test/ParsedownTest.php
vendored
Normal file
|
@ -0,0 +1,133 @@
|
|||
<?php
|
||||
|
||||
class ParsedownTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
final function __construct($name = null, array $data = array(), $dataName = '')
|
||||
{
|
||||
$this->dirs = $this->initDirs();
|
||||
$this->Parsedown = $this->initParsedown();
|
||||
|
||||
parent::__construct($name, $data, $dataName);
|
||||
}
|
||||
|
||||
private $dirs, $Parsedown;
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function initDirs()
|
||||
{
|
||||
$dirs []= dirname(__FILE__).'/data/';
|
||||
|
||||
return $dirs;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Parsedown
|
||||
*/
|
||||
protected function initParsedown()
|
||||
{
|
||||
$Parsedown = new Parsedown();
|
||||
|
||||
return $Parsedown;
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider data
|
||||
* @param $test
|
||||
* @param $dir
|
||||
*/
|
||||
function test_($test, $dir)
|
||||
{
|
||||
$markdown = file_get_contents($dir . $test . '.md');
|
||||
|
||||
$expectedMarkup = file_get_contents($dir . $test . '.html');
|
||||
|
||||
$expectedMarkup = str_replace("\r\n", "\n", $expectedMarkup);
|
||||
$expectedMarkup = str_replace("\r", "\n", $expectedMarkup);
|
||||
|
||||
$actualMarkup = $this->Parsedown->text($markdown);
|
||||
|
||||
$this->assertEquals($expectedMarkup, $actualMarkup);
|
||||
}
|
||||
|
||||
function data()
|
||||
{
|
||||
$data = array();
|
||||
|
||||
foreach ($this->dirs as $dir)
|
||||
{
|
||||
$Folder = new DirectoryIterator($dir);
|
||||
|
||||
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($dir . $basename . '.html'))
|
||||
{
|
||||
$data []= array($basename, $dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function test_no_markup()
|
||||
{
|
||||
$markdownWithHtml = <<<MARKDOWN_WITH_MARKUP
|
||||
<div>_content_</div>
|
||||
|
||||
sparse:
|
||||
|
||||
<div>
|
||||
<div class="inner">
|
||||
_content_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
paragraph
|
||||
|
||||
<style type="text/css">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
MARKDOWN_WITH_MARKUP;
|
||||
|
||||
$expectedHtml = <<<EXPECTED_HTML
|
||||
<p><div><em>content</em></div></p>
|
||||
<p>sparse:</p>
|
||||
<p><div>
|
||||
<div class="inner">
|
||||
<em>content</em>
|
||||
</div>
|
||||
</div></p>
|
||||
<p>paragraph</p>
|
||||
<p><style type="text/css"></p>
|
||||
<pre><code>p {
|
||||
color: red;
|
||||
}</code></pre>
|
||||
<p></style></p>
|
||||
EXPECTED_HTML;
|
||||
$parsedownWithNoMarkup = new Parsedown();
|
||||
$parsedownWithNoMarkup->setMarkupEscaped(true);
|
||||
$this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml));
|
||||
}
|
||||
}
|
3
vendor/erusev/parsedown/test/bootstrap.php
vendored
Normal file
3
vendor/erusev/parsedown/test/bootstrap.php
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
|
||||
include 'Parsedown.php';
|
5
vendor/erusev/parsedown/test/data/HTML_Comment.html
vendored
Normal file
5
vendor/erusev/parsedown/test/data/HTML_Comment.html
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
<!-- single line -->
|
||||
<p>paragraph</p>
|
||||
<!--
|
||||
multiline -->
|
||||
<p>paragraph</p>
|
8
vendor/erusev/parsedown/test/data/HTML_Comment.md
vendored
Normal file
8
vendor/erusev/parsedown/test/data/HTML_Comment.md
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
<!-- single line -->
|
||||
|
||||
paragraph
|
||||
|
||||
<!--
|
||||
multiline -->
|
||||
|
||||
paragraph
|
18
vendor/erusev/parsedown/test/data/aesthetic_table.html
vendored
Normal file
18
vendor/erusev/parsedown/test/data/aesthetic_table.html
vendored
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
vendor/erusev/parsedown/test/data/aesthetic_table.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/aesthetic_table.md
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
| header 1 | header 2 |
|
||||
| -------- | -------- |
|
||||
| cell 1.1 | cell 1.2 |
|
||||
| cell 2.1 | cell 2.2 |
|
21
vendor/erusev/parsedown/test/data/aligned_table.html
vendored
Normal file
21
vendor/erusev/parsedown/test/data/aligned_table.html
vendored
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
vendor/erusev/parsedown/test/data/aligned_table.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/aligned_table.md
vendored
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 |
|
9
vendor/erusev/parsedown/test/data/atx_heading.html
vendored
Normal file
9
vendor/erusev/parsedown/test/data/atx_heading.html
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
<h1>h1</h1>
|
||||
<h2>h2</h2>
|
||||
<h3>h3</h3>
|
||||
<h4>h4</h4>
|
||||
<h5>h5</h5>
|
||||
<h6>h6</h6>
|
||||
<h6>h6</h6>
|
||||
<h1>closed h1</h1>
|
||||
<p>#</p>
|
17
vendor/erusev/parsedown/test/data/atx_heading.md
vendored
Normal file
17
vendor/erusev/parsedown/test/data/atx_heading.md
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
# h1
|
||||
|
||||
## h2
|
||||
|
||||
### h3
|
||||
|
||||
#### h4
|
||||
|
||||
##### h5
|
||||
|
||||
###### h6
|
||||
|
||||
####### h6
|
||||
|
||||
# closed h1 #
|
||||
|
||||
#
|
1
vendor/erusev/parsedown/test/data/automatic_link.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/automatic_link.html
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<p><a href="http://example.com">http://example.com</a></p>
|
1
vendor/erusev/parsedown/test/data/automatic_link.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/automatic_link.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<http://example.com>
|
13
vendor/erusev/parsedown/test/data/block-level_html.html
vendored
Normal file
13
vendor/erusev/parsedown/test/data/block-level_html.html
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
<div>_content_</div>
|
||||
<p>sparse:</p>
|
||||
<div>
|
||||
<div class="inner">
|
||||
_content_
|
||||
</div>
|
||||
</div>
|
||||
<p>paragraph</p>
|
||||
<style type="text/css">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
17
vendor/erusev/parsedown/test/data/block-level_html.md
vendored
Normal file
17
vendor/erusev/parsedown/test/data/block-level_html.md
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
<div>_content_</div>
|
||||
|
||||
sparse:
|
||||
|
||||
<div>
|
||||
<div class="inner">
|
||||
_content_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
paragraph
|
||||
|
||||
<style type="text/css">
|
||||
p {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
8
vendor/erusev/parsedown/test/data/code_block.html
vendored
Normal file
8
vendor/erusev/parsedown/test/data/code_block.html
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
<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>
|
10
vendor/erusev/parsedown/test/data/code_block.md
vendored
Normal file
10
vendor/erusev/parsedown/test/data/code_block.md
vendored
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
vendor/erusev/parsedown/test/data/code_span.html
vendored
Normal file
6
vendor/erusev/parsedown/test/data/code_span.html
vendored
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
vendor/erusev/parsedown/test/data/code_span.md
vendored
Normal file
11
vendor/erusev/parsedown/test/data/code_span.md
vendored
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`
|
9
vendor/erusev/parsedown/test/data/compound_blockquote.html
vendored
Normal file
9
vendor/erusev/parsedown/test/data/compound_blockquote.html
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
<blockquote>
|
||||
<h2>header</h2>
|
||||
<p>paragraph</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p>paragraph</p>
|
||||
</blockquote>
|
10
vendor/erusev/parsedown/test/data/compound_blockquote.md
vendored
Normal file
10
vendor/erusev/parsedown/test/data/compound_blockquote.md
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
> header
|
||||
> ------
|
||||
>
|
||||
> paragraph
|
||||
>
|
||||
> - li
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> paragraph
|
2
vendor/erusev/parsedown/test/data/compound_emphasis.html
vendored
Normal file
2
vendor/erusev/parsedown/test/data/compound_emphasis.html
vendored
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
vendor/erusev/parsedown/test/data/compound_emphasis.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/compound_emphasis.md
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
_`code`_ __`code`__
|
||||
|
||||
*`code`**`code`**`code`*
|
||||
|
12
vendor/erusev/parsedown/test/data/compound_list.html
vendored
Normal file
12
vendor/erusev/parsedown/test/data/compound_list.html
vendored
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
vendor/erusev/parsedown/test/data/compound_list.md
vendored
Normal file
7
vendor/erusev/parsedown/test/data/compound_list.md
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
- paragraph
|
||||
|
||||
paragraph
|
||||
|
||||
- paragraph
|
||||
|
||||
> quote
|
12
vendor/erusev/parsedown/test/data/deeply_nested_list.html
vendored
Normal file
12
vendor/erusev/parsedown/test/data/deeply_nested_list.html
vendored
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
vendor/erusev/parsedown/test/data/deeply_nested_list.md
vendored
Normal file
6
vendor/erusev/parsedown/test/data/deeply_nested_list.md
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
- li
|
||||
- li
|
||||
- li
|
||||
- li
|
||||
- li
|
||||
- li
|
8
vendor/erusev/parsedown/test/data/em_strong.html
vendored
Normal file
8
vendor/erusev/parsedown/test/data/em_strong.html
vendored
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
vendor/erusev/parsedown/test/data/em_strong.md
vendored
Normal file
15
vendor/erusev/parsedown/test/data/em_strong.md
vendored
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
vendor/erusev/parsedown/test/data/email.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/email.html
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<p>my email is <a href="mailto:me@example.com">me@example.com</a></p>
|
1
vendor/erusev/parsedown/test/data/email.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/email.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
my email is <me@example.com>
|
8
vendor/erusev/parsedown/test/data/emphasis.html
vendored
Normal file
8
vendor/erusev/parsedown/test/data/emphasis.html
vendored
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
vendor/erusev/parsedown/test/data/emphasis.md
vendored
Normal file
13
vendor/erusev/parsedown/test/data/emphasis.md
vendored
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
|
4
vendor/erusev/parsedown/test/data/escaping.html
vendored
Normal file
4
vendor/erusev/parsedown/test/data/escaping.html
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
<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>
|
7
vendor/erusev/parsedown/test/data/escaping.md
vendored
Normal file
7
vendor/erusev/parsedown/test/data/escaping.md
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
escaped \*emphasis\*.
|
||||
|
||||
`escaped \*emphasis\* in a code span`
|
||||
|
||||
escaped \*emphasis\* in a code block
|
||||
|
||||
\\ \` \* \_ \{ \} \[ \] \( \) \> \# \+ \- \. \!
|
6
vendor/erusev/parsedown/test/data/fenced_code_block.html
vendored
Normal file
6
vendor/erusev/parsedown/test/data/fenced_code_block.html
vendored
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
vendor/erusev/parsedown/test/data/fenced_code_block.md
vendored
Normal file
14
vendor/erusev/parsedown/test/data/fenced_code_block.md
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
```
|
||||
<?php
|
||||
|
||||
$message = 'fenced code block';
|
||||
echo $message;
|
||||
```
|
||||
|
||||
~~~
|
||||
tilde
|
||||
~~~
|
||||
|
||||
```php
|
||||
echo 'language identifier';
|
||||
```
|
5
vendor/erusev/parsedown/test/data/horizontal_rule.html
vendored
Normal file
5
vendor/erusev/parsedown/test/data/horizontal_rule.html
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
<hr />
|
||||
<hr />
|
||||
<hr />
|
||||
<hr />
|
||||
<hr />
|
9
vendor/erusev/parsedown/test/data/horizontal_rule.md
vendored
Normal file
9
vendor/erusev/parsedown/test/data/horizontal_rule.md
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
|
||||
- - -
|
||||
|
||||
- - -
|
||||
|
||||
***
|
||||
|
||||
___
|
1
vendor/erusev/parsedown/test/data/html_entity.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/html_entity.html
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<p>& © {</p>
|
1
vendor/erusev/parsedown/test/data/html_entity.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/html_entity.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
& © {
|
1
vendor/erusev/parsedown/test/data/image_reference.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/image_reference.html
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<p><img alt="Markdown Logo" src="/md.png" /></p>
|
3
vendor/erusev/parsedown/test/data/image_reference.md
vendored
Normal file
3
vendor/erusev/parsedown/test/data/image_reference.md
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
![Markdown Logo][image]
|
||||
|
||||
[image]: /md.png
|
1
vendor/erusev/parsedown/test/data/image_title.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/image_title.html
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<p><img alt="alt" src="/md.png" title="title" /></p>
|
1
vendor/erusev/parsedown/test/data/image_title.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/image_title.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||

|
4
vendor/erusev/parsedown/test/data/implicit_reference.html
vendored
Normal file
4
vendor/erusev/parsedown/test/data/implicit_reference.html
vendored
Normal file
|
@ -0,0 +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>
|
13
vendor/erusev/parsedown/test/data/implicit_reference.md
vendored
Normal file
13
vendor/erusev/parsedown/test/data/implicit_reference.md
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
an [implicit] reference link
|
||||
|
||||
[implicit]: http://example.com
|
||||
|
||||
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"
|
4
vendor/erusev/parsedown/test/data/inline_link.html
vendored
Normal file
4
vendor/erusev/parsedown/test/data/inline_link.html
vendored
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
vendor/erusev/parsedown/test/data/inline_link.md
vendored
Normal file
7
vendor/erusev/parsedown/test/data/inline_link.md
vendored
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
vendor/erusev/parsedown/test/data/inline_link_title.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/inline_link_title.html
vendored
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
vendor/erusev/parsedown/test/data/inline_link_title.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/inline_link_title.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
[single quotes](http://example.com 'Title') and [double quotes](http://example.com "Title")
|
1
vendor/erusev/parsedown/test/data/inline_title.html
vendored
Normal file
1
vendor/erusev/parsedown/test/data/inline_title.html
vendored
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
vendor/erusev/parsedown/test/data/inline_title.md
vendored
Normal file
1
vendor/erusev/parsedown/test/data/inline_title.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
[single quotes](http://example.com 'Example') and [double quotes](http://example.com "Example")
|
6
vendor/erusev/parsedown/test/data/lazy_blockquote.html
vendored
Normal file
6
vendor/erusev/parsedown/test/data/lazy_blockquote.html
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<blockquote>
|
||||
<p>quote
|
||||
the rest of it</p>
|
||||
<p>another paragraph
|
||||
the rest of it</p>
|
||||
</blockquote>
|
5
vendor/erusev/parsedown/test/data/lazy_blockquote.md
vendored
Normal file
5
vendor/erusev/parsedown/test/data/lazy_blockquote.md
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
> quote
|
||||
the rest of it
|
||||
|
||||
> another paragraph
|
||||
the rest of it
|
4
vendor/erusev/parsedown/test/data/lazy_list.html
vendored
Normal file
4
vendor/erusev/parsedown/test/data/lazy_list.html
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
<ul>
|
||||
<li>li
|
||||
the rest of it</li>
|
||||
</ul>
|
2
vendor/erusev/parsedown/test/data/lazy_list.md
vendored
Normal file
2
vendor/erusev/parsedown/test/data/lazy_list.md
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
- li
|
||||
the rest of it
|
2
vendor/erusev/parsedown/test/data/line_break.html
vendored
Normal file
2
vendor/erusev/parsedown/test/data/line_break.html
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
<p>line<br />
|
||||
line</p>
|
2
vendor/erusev/parsedown/test/data/line_break.md
vendored
Normal file
2
vendor/erusev/parsedown/test/data/line_break.md
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
line
|
||||
line
|
7
vendor/erusev/parsedown/test/data/multiline_list_paragraph.html
vendored
Normal file
7
vendor/erusev/parsedown/test/data/multiline_list_paragraph.html
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
<p>line
|
||||
line</p>
|
||||
</li>
|
||||
</ul>
|
4
vendor/erusev/parsedown/test/data/multiline_list_paragraph.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/multiline_list_paragraph.md
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
- li
|
||||
|
||||
line
|
||||
line
|
10
vendor/erusev/parsedown/test/data/nested_block-level_html.html
vendored
Normal file
10
vendor/erusev/parsedown/test/data/nested_block-level_html.html
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
<div>
|
||||
_parent_
|
||||
<div>
|
||||
_child_
|
||||
</div>
|
||||
<pre>
|
||||
_adopted child_
|
||||
</pre>
|
||||
</div>
|
||||
<p><em>outside</em></p>
|
11
vendor/erusev/parsedown/test/data/nested_block-level_html.md
vendored
Normal file
11
vendor/erusev/parsedown/test/data/nested_block-level_html.md
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
<div>
|
||||
_parent_
|
||||
<div>
|
||||
_child_
|
||||
</div>
|
||||
<pre>
|
||||
_adopted child_
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
_outside_
|
13
vendor/erusev/parsedown/test/data/ordered_list.html
vendored
Normal file
13
vendor/erusev/parsedown/test/data/ordered_list.html
vendored
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
vendor/erusev/parsedown/test/data/ordered_list.md
vendored
Normal file
11
vendor/erusev/parsedown/test/data/ordered_list.md
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
1. one
|
||||
2. two
|
||||
|
||||
repeating numbers:
|
||||
|
||||
1. one
|
||||
1. two
|
||||
|
||||
large numbers:
|
||||
|
||||
123. one
|
12
vendor/erusev/parsedown/test/data/paragraph_list.html
vendored
Normal file
12
vendor/erusev/parsedown/test/data/paragraph_list.html
vendored
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
vendor/erusev/parsedown/test/data/paragraph_list.md
vendored
Normal file
9
vendor/erusev/parsedown/test/data/paragraph_list.md
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
paragraph
|
||||
- li
|
||||
- li
|
||||
|
||||
paragraph
|
||||
|
||||
* li
|
||||
|
||||
* li
|
2
vendor/erusev/parsedown/test/data/reference_title.html
vendored
Normal file
2
vendor/erusev/parsedown/test/data/reference_title.html
vendored
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
vendor/erusev/parsedown/test/data/reference_title.md
vendored
Normal file
6
vendor/erusev/parsedown/test/data/reference_title.md
vendored
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
|
12
vendor/erusev/parsedown/test/data/self-closing_html.html
vendored
Normal file
12
vendor/erusev/parsedown/test/data/self-closing_html.html
vendored
Normal 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>
|
12
vendor/erusev/parsedown/test/data/self-closing_html.md
vendored
Normal file
12
vendor/erusev/parsedown/test/data/self-closing_html.md
vendored
Normal 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
|
9
vendor/erusev/parsedown/test/data/separated_nested_list.html
vendored
Normal file
9
vendor/erusev/parsedown/test/data/separated_nested_list.html
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
<ul>
|
||||
<li>li</li>
|
||||
<li>li</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
4
vendor/erusev/parsedown/test/data/separated_nested_list.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/separated_nested_list.md
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
- li
|
||||
|
||||
- li
|
||||
- li
|
5
vendor/erusev/parsedown/test/data/setext_header.html
vendored
Normal file
5
vendor/erusev/parsedown/test/data/setext_header.html
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
<h1>h1</h1>
|
||||
<h2>h2</h2>
|
||||
<h2>single character</h2>
|
||||
<p>not a header</p>
|
||||
<hr />
|
12
vendor/erusev/parsedown/test/data/setext_header.md
vendored
Normal file
12
vendor/erusev/parsedown/test/data/setext_header.md
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
h1
|
||||
==
|
||||
|
||||
h2
|
||||
--
|
||||
|
||||
single character
|
||||
-
|
||||
|
||||
not a header
|
||||
|
||||
------------
|
11
vendor/erusev/parsedown/test/data/simple_blockquote.html
vendored
Normal file
11
vendor/erusev/parsedown/test/data/simple_blockquote.html
vendored
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
vendor/erusev/parsedown/test/data/simple_blockquote.md
vendored
Normal file
7
vendor/erusev/parsedown/test/data/simple_blockquote.md
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
> quote
|
||||
|
||||
indented:
|
||||
> quote
|
||||
|
||||
no space after `>`:
|
||||
>quote
|
37
vendor/erusev/parsedown/test/data/simple_table.html
vendored
Normal file
37
vendor/erusev/parsedown/test/data/simple_table.html
vendored
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
vendor/erusev/parsedown/test/data/simple_table.md
vendored
Normal file
11
vendor/erusev/parsedown/test/data/simple_table.md
vendored
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
|
5
vendor/erusev/parsedown/test/data/span-level_html.html
vendored
Normal file
5
vendor/erusev/parsedown/test/data/span-level_html.html
vendored
Normal 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>
|
8
vendor/erusev/parsedown/test/data/span-level_html.md
vendored
Normal file
8
vendor/erusev/parsedown/test/data/span-level_html.md
vendored
Normal 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>
|
7
vendor/erusev/parsedown/test/data/sparse_dense_list.html
vendored
Normal file
7
vendor/erusev/parsedown/test/data/sparse_dense_list.html
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
<ul>
|
||||
<li>
|
||||
<p>li</p>
|
||||
</li>
|
||||
<li>li</li>
|
||||
<li>li</li>
|
||||
</ul>
|
4
vendor/erusev/parsedown/test/data/sparse_dense_list.md
vendored
Normal file
4
vendor/erusev/parsedown/test/data/sparse_dense_list.md
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
- li
|
||||
|
||||
- li
|
||||
- li
|
15
vendor/erusev/parsedown/test/data/sparse_list.html
vendored
Normal file
15
vendor/erusev/parsedown/test/data/sparse_list.html
vendored
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
vendor/erusev/parsedown/test/data/sparse_list.md
vendored
Normal file
9
vendor/erusev/parsedown/test/data/sparse_list.md
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
- li
|
||||
|
||||
- li
|
||||
|
||||
---
|
||||
|
||||
- li
|
||||
|
||||
- indented li
|
6
vendor/erusev/parsedown/test/data/special_characters.html
vendored
Normal file
6
vendor/erusev/parsedown/test/data/special_characters.html
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
<p>AT&T has an ampersand in their name</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>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue