replacing " with "

Waylan Limberg waylan at
Fri Jan 4 23:43:56 EST 2008

Python-markdown currently replaces all straight quotes (`"`) with the
html entity (`"`). Someone recently complained about this in a
[bug report][]. As it turns out the quote was the symptom that brought
the real problem to light[^1]. In any event, the reporter pointed out
that does not replace straight quotes with the html
entity. I know John Gruber has mentioned before that just because does something, doesn't mean it's right, but the more I
think about it the more I think this is right.

1. First of all, using the straight quote is not invalid html or
xhtml, so why do we care? In fact, I can't seem to find one reference
that explains why the html entity should be used in this case.

2. If I'm not mistaken, having markdown output the html entity makes
it imposable for smartypants to then convert straight quotes into
"curly" quotes - which may be undesirable to some users.

So, my question is: Which implementation do you consider correct and why?

[bug report]:

[^1]: The reporter was running Django template syntax through
markdown. As the quotes were all converted to entities, he no longer
had valid template syntax. Of course, the real problem is that the
template syntax should be treated like raw html and python-markdown's
extension api makes that easy to do. Otherwise you'd get a tag soup of
various blocks of syntax wrapped in unwanted paragraphs and other such
undesirable results.

Of interest to me is that this is the second bug report we've
(python-markdown) received in less than a week because people are
running documents with template syntax through markdown (the other
reporter was using Mako). I had never considered this use case before
(although Yuri apparently has) and me knee-jerk reaction was to not
care and suggest that they use raw html in their templates. Is this
really a common use case?
Waylan Limberg
waylan at

More information about the Markdown-Discuss mailing list