Giter Club home page Giter Club logo

dflydev-markdown's Introduction

PHP Markdown & Extra

An updated and stripped version of the original PHP Markdown by Michel Fortin. Works quite well with PSR-0 autoloaders and is Composer friendly.

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.

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.

In January of 2013 (or around then) Michel finally joined the Composer bandwagon. More details can be found here. 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.

Additionally, other versions of PHP Markdown parsers have come into existence and are quite nice.

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.

Thanks for your support and using this library over the years.


Changes from the official PHP Markdown & Extra

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.

Updated in the following ways:

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

  • No more embedded plugin code (WordPress, bBlog, etc.)
  • No more top level function calls (Markdown(), etc.)

Last synced with:

  • PHP Markdown v1.0.1o
  • PHP Markdown Extra v1.2.5

Requirements

  • PHP 5.3+

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:

{
    "require": {
        "dflydev/markdown": "1.0.*"
    }
}

Usage

Simple usage for the standard Markdown (details) parser:

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

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

Community

If you have questions or want to help out, join us in the #dflydev channel on irc.freenode.net.

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.

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.

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

dflydev-markdown's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.