antirez / lamernews

Lamer News -- an HN style social news site written in Ruby/Sinatra/Redis/JQuery
http://lamernews.com
Other
1.35k stars 200 forks source link

Markdown support #43

Open JonnieCache opened 13 years ago

JonnieCache commented 13 years ago

Or at least some subset of it.

If we want to keep it pure ruby then the obvious choice of parser/renderer is kramdown. This is not as fast or as secure as that Redcarpet library github wrote, but thats probably not a problem right now

My instinct would be to create a separate Markdown module to encapsulate everything, making it easier to swap it for a C based renderer in future if needed. Then just store a body_html string on the comment objects which gets rendered to the page, alongside the original user-submitted markdown for use when a comment is edited.

I don't know, maybe extracting it to a module is unnecessary.

Thoughts?

telemachus commented 13 years ago

I'm very much in favor of Markdown, and as I mention elsewhere, it solves a few problems at once. Overall though I would go for Redcarpet since it's faster and safer. That said, I have zero experience with kramdown, so maybe it has benefits I'm not thinking of.

dannymcc commented 13 years ago

+1 for Redcarpet

JonnieCache commented 13 years ago

I would personally vote for redcarpet as well, however it is not pure ruby, and this goes against antirez's stated goal of having as few dependencies as possible.

Obviously we aren't going to be able to follow the "Do everything you can to avoid depending on new ruby gems." rule, writing our own markdown interpreter from scratch just for this project would be absolute madness.

The only way that would be appropriate would be if we wanted to only support a very small subset of markdown, like on HN.

Personally I am actually in favor of that, as it will keep the comments from getting too ugly.

EDIT: whoops, hit the comment-and-close button by mistake. Sorry.

seppo0010 commented 13 years ago

Related issues:

basicallydan commented 10 years ago

:+1: Looks like this particular feature request needed some love.

EchoJS uses LamerNews and Markdown would be pretty sweet :)