An updated and stripped version of the original PHP Markdown
by Michel Fortin. Works quite well with PSR-0
autoloaders and is Composer friendly., (*1)
This Project Has Been Deprecated
Thank you for your interest in contributing to this package. Unfortunately, I
do not plan to continue maintaining this package., (*2)
The original purpose of this package was to provide a way to get a PSR-0 and
Composer friendly port of Michel Fortin's PHP Markdown library on Packagist.
Michel was originally uninterested in Composer and did not want to make changes
and said I was free to fork and maintain a special Composer package., (*3)
In January of 2013 (or around then) Michel finally joined the Composer
bandwagon. More details can be found [here][1]. This means that the major reason
this port existed (to be a Composer friendly port) effectively went away. This
corresponded with the 1.3 release of PHP Markdown., (*4)
Additionally, other versions of PHP Markdown parsers have come into existence
and are quite nice., (*5)
Please feel free to continue to use it as-is but if you are starting a new
project I would recommend finding another library. If you have a project already
depending on this package, I would recommend planning to migrate to something
that is better maintained., (*6)
Thanks for your support and using this library over the years., (*7)
The initial pass at updating PHP Markdown & Extra left the core of
the code more or less intact but the changes to the organization
and naming were quite substantial. This effectively makes this package
a hard fork from Markdown 1.0.1n and MarkdownExtra 1.2.4., (*8)
Updated in the following ways:, (*9)
- Moved parser classes into their own files
- Using PHP 5.3 namespaces
- Following PSR-0 standards
- Replaced
@define
configuration variables with class const
variables
- Integrated with Travis CI
- Made Composer friendly
Stripped in the following ways:, (*10)
- No more embedded plugin code (WordPress, bBlog, etc.)
- No more top level function calls (
Markdown()
, etc.)
Last synced with:, (*11)
- PHP Markdown v1.0.1o
- PHP Markdown Extra v1.2.5
Requirements
Installation
To add this package as a local, per-project dependency to your project, simply add a
dependency on dflydev/markdown
to your project's composer.json
file.
Here is a minimal example of a composer.json
file that just defines a dependency on
version 1.0 of this package:, (*12)
{
"require": {
"dflydev/markdown": "1.0.*"
}
}
Usage
Simple usage for the standard Markdown (details) parser:, (*13)
<?php
use dflydev\markdown\MarkdownParser;
$markdownParser = new MarkdownParser();
// Will return <h1>Hello World</h1>
$markdownParser->transformMarkdown("#Hello World");
Simple usage for the Markdown Extra (details) parser:, (*14)
<?php
use dflydev\markdown\MarkdownExtraParser;
$markdownParser = new MarkdownExtraParser();
// Will return <h1>Hello World</h1>
$markdownParser->transformMarkdown("#Hello World");
License
This library is licensed under the New BSD License - see the LICENSE file for details., (*15)
If you have questions or want to help out, join us in the
#dflydev channel on irc.freenode.net., (*16)
Not Invented Here
The original PHP Markdown was
quite excellent but was not as easy to use as it could be in more modern PHP
applications. Having started to use Composer for a
few newer applications that needed to transform Markdown, I decided to strip
and update the original PHP Markdown so that it could be more easily managed
by the likes of Composer., (*17)
All of the initial work done for this library (which I can only assume
was quite substantial after having looked at the code) was done by
Michel Fortin during the original port from Perl to
PHP., (*18)
If you do not need to install PHP Markdown by way of Composer or need to
leverage PSR-0 autoloading, I suggest you continue to use the official and
likely more stable and well used original version of
PHP Markdown, (*19)