Object-oriented PHP implementation is coming, looking for parties

Alan Hogan contact at alanhogan.com
Wed Oct 26 18:29:29 EDT 2011


Michel is awesome and so is PHP Markdown (Extra).

The only problem I know about is that certain, very long documents will fail completely.

IIRC, this was a side-effect of its PCRE parsing — a bug or limitation of the regex implementation in PHP.

Max, are you using a grammar, as has been discussed on this list recently, or regexes? That is, might your parser be susceptible to the same bug?

Alan Hogan

On Oct 26, 2011, at 3:04 PM, Max Tsepkov wrote:


> Hello, list.

> My name is Max, I'm a web developer.

>

> I found Markdown convention very useful, I use it everywhere nowadays.

> Michel Fortin's markdown-php seems to be the only available PHP implementation.

> And, judging by number of people using it, it works well :)

>

> But there is many thing that's keep it from being perfect:

>

> * One large file with functions not being sorted in a logical way.

> It makes it hard to understand how it works.

> * Despite the fact that it contains classes, it isn't coded

> object-oriented. Which greatly affect, again, clarity and

> re-usability.

> * Script is coded in early ages of PHP, doesn't make use of its new

> features and uses obsolete ones.

> * It's written much like a Python program. PHP doesn't work that way.

>

>

> To give Markdown in PHP a new look, I've designed a library, which I

> named markdown-oo-php

> oo-php stands for object-oriented php. It's designed to be easy to use

> and extend.

>

> There is two components Text and Filter.

> Text is an entity user works with, it represents text being processed. E.g.:

>

> echo new Markdown_Text($plaintext);

>

> Filter is a superclass and set of specific filters which does actual parsing.

> Each specific filter is an object which transforms a single markdown

> element to xhtml.

> Examples of filters are: Markdown_Filter_Hr,

> Markdown_Filter_Linebreak, Markdown_Filter_ListBulleted.

>

> When user wants to transform markdown these filters are running one by

> one resulting to html.

> By default, one more special filter is run. It will pass given text to

> original Markdown.pl 1.0.1

> This way we get parsed markdown even if some filters are not implemented yet.

> This feature requires perl, of course. It can be disabled:

>

> Markdown_Filter::useFallbackFilter(false);

>

> Such design allows users to write their own filters, hook into the

> process, write plugins etc.

> We can compose any chain of filters resulting into different versions,

> extra features and other goodies.

>

> You can find source along with documentation at GitHub:

> https://github.com/garygolden/markdown-oo-php

>

> You're most welcome to comment, contribute and, of course, spread the word.

>

> cheers ;)

>

> --

> Max Tsepkov (a.k.a. Gary Golden)

> A freelancing web engineer

> http://www.garygolden.me

> _______________________________________________

> Markdown-Discuss mailing list

> Markdown-Discuss at six.pairlist.net

> http://six.pairlist.net/mailman/listinfo/markdown-discuss


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://six.pairlist.net/pipermail/markdown-discuss/attachments/20111026/3f5c6451/attachment.html>


More information about the Markdown-Discuss mailing list