footnote:id, colons and jquery

Michel Fortin michel.fortin at michelf.ca
Wed Jan 23 20:12:08 EST 2013


Le 23-janv.-2013 à 14:29, Waylan Limberg <waylan at gmail.com> a écrit :


> I just received a [bug report] for Python-Markdown complaining that

> colons are used in the ids of footnotes. For reference, we [output]

> the same format at PHP Markdown Extra. The general complaint is that

> the colon in the id attribute (`id="fnref:1"`) causes jquery to choke

> when referencing that id from javascript because jquery uses colons to

> indicate pseudo elements (as does CSS). As expected, jquery supports

> escaping the colon - which eliminates the problem - except that

> apparently the escaping causes a performance hit.

>

> My initial reaction is to say that this is jquery's problem, but what

> do you think? Should the various implementations that support

> footnotes all change to not use colons? I couldn't help but note that

> Gruber's unreleased implementation (what he uses on

> daringfireball.com) appears to use dashes instead.

>

> Any thoughts?


Interestingly, I've been looking at updating the output for footnotes in PHP Markdown, although not the id attribute.
<https://github.com/michelf/php-markdown/issues/58>

My guess is that Jquery has an optimization for the common pattern "#nocolon" and that putting an escape forces it to take the slow path. Take his example and add a class name (making the selector "#nocolon.anyclass"), or put an ancestor (as in "body #nocolon") and you'll get equal speed everywhere.

--
Michel Fortin
michel.fortin at michelf.ca
http://michelf.ca/



More information about the Markdown-Discuss mailing list