18

I am curious to do what happens when you edit a post on this site.

I am using wmd for my markdown editor, of course when I goto edit, I get the HTML it generated not the markdown like on stackoverflow. Now, is there a way I can store both? or is it reliable enough to simply convert the HTML back to markdown to show in the wmd editor?

Thanks!

Ryan M
  • 605
  • 1
  • 8
  • 17

5 Answers5

14

If you want to convert HTML to Markdown in batch, I can recommend Aaron Swartz’s html2text.py Python script with which you can just:

cat my.html | python html2text.py # outputs markdown

Edit 05/11/12: Nowadays I use Pandoc which is like a swiss-knife for text documents. Can convert html<>textile<>markdown<>epub<>pdf<>latex, etc.

kvz
  • 5,517
  • 1
  • 42
  • 33
13

Look at the optionsExample.html in your WMD distribution. There's an option to send the result to the server as Markdown.

C. K. Young
  • 219,335
  • 46
  • 382
  • 435
  • Actually, I have seen how to get one or the other, but then I need to convert it to HTML everytime I display it. IS that they best way to go? Either way I think I am in the same boat. Seems more efficent to convert it back only when editing. – Ryan M Oct 24 '08 at 21:06
  • 1
    You can convert to HTML on the server end, and store both HTML and Markdown in your database. That's how Stack Overflow does it, I believe. – C. K. Young Oct 24 '08 at 21:17
  • 1
    To avoid lots of repeat sanitisations, I believe that SO also sanitises the HTML'd version before storing that in the DB. (I believe there is a SO blog entry that mentions this, but don't quote me on it.) – C. K. Young Oct 24 '08 at 21:20
  • 3
    This is the javascritp you need to add before you load wmd.js: wmd_options = { output: "Markdown" }; – Sire Sep 18 '10 at 16:09
  • @SamSelikoff Correct, but it actually has a server-side Markdown implementation to create the HTML with. It does not accept client-generated HTML willy-nilly. (Oh wait, I already said all this in my comments from 4.5 years ago. ;-)) – C. K. Young Apr 18 '13 at 14:56
2

As Chris notes, you can send Markdown to the server so you can store it there as such. I started trying to use MarkdownJ to convert on the server-side, but it doesn't (at the time of this writing) convert images to HTML correctly and so I ended up going with Java 6 Scripting: Rhino engine + showdown.js. Since WMD uses showdown.js you get the same Markdown-to-HTML transformation. Works like a charm (for Java 6, anyway).

0

Open source html to markdown converters written in JavaScript:

Community
  • 1
  • 1
cuixiping
  • 24,167
  • 8
  • 82
  • 93
0

I have just know Markdownify (formerly html2text.php) that "writes texts in Markdown and save them in HTML. You won’t need a copy of the original Markdown input, since Markdownify can convert the saved HTML back to Markdown. And because page impressions are far more often than write actions, this gives you a simple way to increase your page’s performance. Another benefit for a CMS or similar software is that now only one format of text is saved — HTML. The user can now choose wether to write texts in plain HTML or use a full fledged Wysiwyg editor. And of course he can write in Markdown!"

Roger
  • 8,286
  • 17
  • 59
  • 77