Post by Jacob Rus
Can it be explained again why we need to have this explicit
character at the beginning of lines? Is there some particular
case of block quotes for which markdown isn't perfectly
sufficient right now? This seems to me like change for
change's sake, without sufficient justification.
Did you follow all of the thread? The initial issue was that it'
not currently possible to have two consecutive but separate
lists. The solution to that is simple: a gap of two blank or more
blank lines between lists should force them to be separate.
Yes, I did follow the discussion, and I quite like this solution. I
heartily endorse it, as it clears up a lot of the ugly edge cases we run
into in markdown.
But that solution falls flat when it encounters code blocks,
because may well contain consecutive blank lines, aren't marked
with any explicit prefix character like all other block
constructs, and whitespace alone isn't enough to overcome the
lack of prefix because lines that contain only whitespace are
considered empty by Markdown.
My question was mostly rhetorical, given that I have already suggested
(in fact earlier in this direct chain of responses), that it is enough
to put two completely blank lines in order to separate code blocks, as
code blocks containing empty lines should (and can currently) still be
indicated by lines containing nothing but the proper indentation.
I think that John's objection that this is not visible enough is not a
strong enough reason to change the syntax to something that in the
majority of cases is worse (i.e. would look ugly), and is only an
improvement in the rare case of two consecutive code blocks, which can
be quite sufficiently worked around by using the blank line convention).
The concern I have here is that markdown's stated goals are quite clear:
to allow the conventions of plain text email to, as much as possible,
enable the creation of well-formed and valid (x)html documents. If we
were using typewriters to write all of our documents, then of course,
there is no way in current markdown to discern the separation in two
consecutive code blocks. But computers aren't typewriters, and spaces
are real characters. In fact, we use them to denote hard line breaks
(something which I quite like, though maybe it's not visible enough
anymore? :p). There are many many areas where markdown should be made
more explicit (mainly edge case behavior should be specified, etc.), but
adding random characters at the beginning of code blocks isn't one of them.
Finally, this is only a problem at all when editing with a naïve text
editor. Just as we shouldn't necessarily cater to those limited to
little web form boxes, we also shouldn't change this syntax just for the
sake of those using inferior editors. In TextMate, all my block quotes
show up in a quite lovely shade of blue, and the lack of a character at
the beginning of each line allows me to focus on the content of the
block quote rather than this decoration. (And this last paragraph was
only mostly tongue-in-cheek. Any Markdown writers not using TextMate
are seriously missing out :)