Fenced-Code-Blocks in Python-Markdown

Thomas Nichols nichols7 at googlemail.com
Mon May 12 17:16:15 EDT 2008

Waylan Limberg wrote on 2008/05/12 14:02:

> On Mon, May 12, 2008 at 7:16 AM, Michel Fortin

> <michel.fortin at michelf.com> wrote:



>> While it has been suggested some time ago that {.class-name} stand for a

>> class attribute applied to an arbitrary element, I'm wondering if we can't

>> do something better than that for code blocks.


>> I'm currently thinking of allowing the following, which I find more

>> appealing visually:


>> ~~~~~~~~~~~~~~ .html

>> <p>Hello World!</p>

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




> Actually, I had done it that way first. Then I went back and reviewed

> the previous discussions. Interestingly, I had originally made the

> case for having the label on the top, rather than the bottom. But

> after further thinking, I realized that my current implementation is

> consistent with the HeaderID syntax. Given the number of complaints

> we've been getting on the list recently about styling inconsistencies

> in the syntax, I figured that made for a stronger argument so I used

> curly brackets at the end. If the consensus is on something different,

> I can work with it.




Styling consistency is surely a boon, but having the open-fence and
close-fence markers indistinguishable seems problematic, as per

An attribute list could be used to make this distinction, though it
doesn't seem a strikingly elegant solution. Perhaps any text immediately
following the ~~~~ that is _not_ an attribute list (i.e. has no
{braces}) could be silently ignored? This would allow

~~~~ begin
$eix app-misc/anki
[I] app-misc/anki [1]
Homepage: http://ichi2.net/anki/
Description: Anki - a friendly, intelligent spaced learning

The closing fence could optionally have `{.html}` appended.

Or would ignoring any non-braced content after the ~~~~ cause other

-- Thomas

More information about the Markdown-Discuss mailing list