
GitHub Flavored Markdown - chaostheory
http://github.github.com/github-flavored-markdown/
======
angelbob
This does a fine job of address Jeff Atwood's criticisms of Markdown. Yay for
GitHub stepping up where Markdown's author isn't.

This also vindicates the "OSS authors don't owe nobody nothing!" crowd, as
GitHub steps up and fixes the problems in question without requiring any
participation by the original author of Markdown.

~~~
steveklabnik
GitHub did this a while ago, actually.

~~~
gry
Aye. Seems like this was submitted in response to the dead post calling out
Atwood.

The two months since Github forked Markdown suggests to me Markdown isn't at
critical mass, ergo Atwood's stewardship criticism seems misplaced. If he
argued it could become _something_ beyond a better humane markup than those in
the know, then he has a more valid criticism, and picking a fight. Seems
underhanded to me.

Best I know, Gruber didn't intend for it to become something. It has only
because it is more humane than most, and yet, it is pales in adoption compared
the dearth of Word toolbar knockoffs.

~~~
blasdel
It's at least 8 months, not two.

The problem is that Markdown is far past critical mass, and is well into
denouement. Everybody has the same major issues with its design, and are
dissolutioned by the same outright bugs in Gruber's crap implementation. It
doesn't help that the language is designed to be implemented as a regex
substitution shitpile, as Gruber doesn't know the first thing about grammars.

He's been sitting on a pile of bugfixes for years that he refuses to release
under his imprimatur. He hasn't blessed or even mentioned any of the dozen
superior reimplementations of his spec. A few months ago he mentioned that he
likes the idea behind Github's behavior-modifying patch for RDiscount, but not
for his own use.

He really needs to post a new version of Markdown.pl with a disclaimer about
its poor quality, and explicitly bless several of the reimplementations for
actual use.

~~~
gry
I went by Gruber's post for the timing. I didn't click the GitHub gist history
[<http://gist.github.com/118964>], which confirms you.

Everybody? Denouement? Critical mass? Please cite.

In one day on news.yc, I've seen two Markdown critiques, which is two more
than I've seen, ever. This is a new development to a Markdown user. Please
note the bugfixes he sat on.

And why this needs to be argued anymore: The BSD license gives you freedom.
DVCS is about politics. Do what you need to do. If they don't like what you've
done, fuck 'em you've voted in code, theory and premise.

~~~
blasdel
Some Outright Bugs in Markdown.pl simply described with examples:
<http://code.google.com/p/pandoc/wiki/PandocVsMarkdownPl> \-- He doesn't even
mention the hilarity where if you mention the MD5 hash of a token in the
document, the hash will be replaced with the token, as Gruber's code uses that
as an escaping mechanism!

"PHP Markdown" started as a straight transliteration of Markdown.pl, and he
lists 123 user-visible changes that he made. The few of those changes that add
features were to deal with warts in Markdown's design that made it impossible
to not fuck things up: <http://michelf.com/projects/php-markdown/>

The PHP Markdown guy called out Gruber over this same bullshit 3 years ago:
<http://michelf.com/weblog/2006/state-of-markdown/>

The bugfixes Gruber's been sitting on were mentioned on his stagnant mailing
list: <http://six.pairlist.net/pipermail/markdown-discuss/>

The BSD license does gives you freedom, but not authority or the name, and
Gruber spent years being hostile towards forkers/reimplementors, and then
spent years simply ignoring it. Besides, the only thing the license would give
your freedom regarding is Gruber's code, _and you really don't want that_.

~~~
gry
Thanks.

------
pyre
I'm not sure about the 'newline-is-linebreak' idea. I can see how for user-
submitted content it's there for people that have never used Markdown before,
but I like to wrap my text to 80-characters when I'm composing so that it's
not stretched across the screen _.

_ I do this because I don't know of any way in vim to set a 'soft word wrap'
so that lines are soft-wrapped at a specific column instead of just at the max
width of the buffer. (Creating a fake vertical split is not what I want.)

~~~
jcw
I do the same thing. Markdown lets you do this already, you just have to have
two spaces at the end of each line.

One thing that I feel like Markdown is sorely missing is the ability to link
to anchors within the same document. It would be nice if each heading had its
own anchor tag.

~~~
godDLL
Yeah, anchors would be great. They aren't really any different from a
hyperlink, they are hyperlinks fare and square, they just refer to the same
document. If only there was a way to refer to `self` in Markdown…

------
jpcx01
I wish they would enable this on their own wiki. Markdown is great, but they
force that textile crap on everyone.

------
anotherjesse
Be careful of most JavaScript markdown implementations! Their live preview
(showdown-based) JS has XSS holes.

Their ruby version seems to much better!

Perhaps it should be renamed "developer markdown" - DMD - and then
github/stackoverflow/... should all have a standard markdown fork?

Also having a standard test suite that tests for XSS and other holes would be
nice :)

~~~
kneath
The only XSS vulnerability in the code is the ability to XSS yourself, which
you can do with any browser with a javascript console.

Unless of course you're using Javascript to parse user generated markdown
instead of doing it server-side, which is just silly.

Markdown is a formatting language, not a method to protect against XSS. It
belongs in a different tier of your code.

~~~
anotherjesse
If you were to take the GFM that was implemented on top of showdown and use it
for something like a wiki (ala stackoverflow's wiki-fication of questions),
then currently you have XSS holes.

I love GFM. I've been using it on userscripts.org for months. But the JS
version at [http://github.github.com/github-flavored-
markdown/preview.ht...](http://github.github.com/github-flavored-
markdown/preview.html) has holes that their ruby version does not have -
[http://github.com/mojombo/github-flavored-
markdown/issues/#i...](http://github.com/mojombo/github-flavored-
markdown/issues/#issue/1)

