PHP Markdown 1.0.1l & Extra 1.2

John MacFarlane jgm at berkeley.edu
Mon May 12 17:50:12 EDT 2008


The development version of pandoc has for some time
implemented "fenced" code blocks. See
http://code.google.com/p/pandoc/source/browse/trunk/README#717
for documentation. Two small differences with your syntax:

1. pandoc allows the block to be ended by a line of tildes
of the same length as *or longer than* the start line.
Reason: It's easy to produce a longer line by just eyeballing
it, whereas to produce a line of exactly the same length,
you generally need to cut and paste. I'm following the
general markdown philosophy of allowing slop when it's harmless.

2. pandoc allows { .haskell .number-lines } (or whatever) after
the *top* line of tildes. If pandoc is compiled with highlighting
support, it uses this information to highlight the block; otherwise,
it just includes it as a class.

Thanks for pointing out the complexity involving leading blank lines
in code blocks; I'll make a note to fix that.

If anyone wants to try pandoc with the delimited ("fenced") code blocks and
built-in syntax highlighting, see
http://groups.google.com/group/pandoc-discuss/browse_thread/thread/b59714fcfc7a7e69
for instructions.

John

+++ Michel Fortin [May 11 08 08:31 ]:

> Time for an update to PHP Markdown and PHP Markdown Extra.

>

> <http://michelf.com/project/php-markdown/>

>

> This new version of PHP Markdown Extra adds support for "fenced" code

> blocks (which I was previously calling "flat"). Fenced code blocks

> overcome many limitations of Markdown's indented code blocks: they can

> can be put immediately following a list item, can start and end with

> blank lines, and can be put one after the other as two consecutive code

> blocks. Also, if you're using an editor which cannot indent

> automatically a selected block of text, such as a text box in your web

> browser, it's easier to paste code in.

>

> <http://michelf.com/projects/php-markdown/extra/#fenced-code-blocks>

>

>

> 1.0.1l (11 May 2008):

>

> * Now removing the UTF-8 BOM at the start of a document, if present.

>

> * Now accepting capitalized URI schemes (such as HTTP:) in automatic

> links, such as `<HTTP://EXAMPLE.COM/>`.

>

> * Fixed a problem where `<hr at example.com>` was seen as a horizontal

> rule instead of an automatic link.

>

> * Fixed an issue where some characters in Markdown-generated HTML

> attributes weren't properly escaped with entities.

>

> * Fix for code blocks as first element of a list item. Previously,

> this didn't create any code block for item 2:

>

> * Item 1 (regular paragraph)

>

> * Item 2 (code block)

>

> * A code block starting on the second line of a document wasn't seen

> as a code block. This has been fixed.

>

> * Added programatically-settable parser properties `predef_urls` and

> `predef_titles` for predefined URLs and titles for reference-style

> links. To use this, your PHP code must call the parser this way:

>

> $parser = new Markdwon_Parser;

> $parser->predef_urls = array('linkref' => 'http://example.com');

> $html = $parser->transform($text);

>

> You can then use the URL as a normal link reference:

>

> [my link][linkref]

> [my link][linkRef]

>

> Reference names in the parser properties *must* be lowercase.

> Reference names in the Markdown source may have any case.

>

> * Added `setup` and `teardown` methods which can be used by subclassers

> as hook points to arrange the state of some parser variables before and

> after parsing.

>

>

> Extra 1.2 (11 May 2008):

>

> * Added fenced code block syntax which don't require indentation

> and can start and end with blank lines. A fenced code block

> starts with a line of consecutive tilde (~) and ends on the

> next line with the same number of consecutive tilde. Here's an

> example:

>

> ~~~~~~~~~~~~

> Hello World!

> ~~~~~~~~~~~~

>

> * Rewrote parts of the HTML block parser to better accomodate

> fenced code blocks.

>

> * Footnotes may now be referenced from within another footnote.

>

> * Added programatically-settable parser property `predef_attr` for

> predefined attribute definitions.

>

> * Fixed an issue where an indented code block preceded by a blank

> line containing some other whitespace would confuse the HTML

> block parser into creating an HTML block when it should have

> been code.

>

>

> Michel Fortin

> michel.fortin at michelf.com

> http://michelf.com/

>

>

> _______________________________________________

> Markdown-Discuss mailing list

> Markdown-Discuss at six.pairlist.net

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

>



More information about the Markdown-Discuss mailing list