将 HTML 转换回 Markdown 以便在 wmd 中进行编辑

Posted

技术标签:

【中文标题】将 HTML 转换回 Markdown 以便在 wmd 中进行编辑【英文标题】:Convert HTML back to Markdown for editing in wmd 【发布时间】:2010-09-19 02:40:50 【问题描述】:

我很想知道当您在此网站上编辑帖子时会发生什么。

我将 wmd 用于我的 markdown 编辑器,当然,当我进行编辑时,我得到的是它生成的 html,而不是像 *** 上的 markdown。现在,有没有办法可以同时存储两者?还是简单地将 HTML 转换回 markdown 以显示在 wmd 编辑器中是否足够可靠?

谢谢!

【问题讨论】:

【参考方案1】:

javascript 编写的开源 html 到降价转换器:

domchristie/to-markdown

MarkItDown:将富文本复古转换为 Markdown。 Online Try.

bambax/MarkItDown

用 JavaScript 编写的 HTML 到 Markdown 转换器。 Online Try.

【讨论】:

【参考方案2】:

如果你想批量将 HTML 转换为 Markdown,我可以推荐 Aaron Swartz’s html2text.py Python script 您可以使用它:

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

2012 年 5 月 11 日编辑: 现在我使用 Pandoc,它就像是处理文本文档的瑞士刀。可以转换htmltextilemarkdownepubpdflatex等

【讨论】:

Aaron 的页面还有一个表单可以将任何 URL 转换为 markdown。非常方便! 第二次使用 Pandoc。刚用过,效果很好!【参考方案3】:

我刚刚知道Markdownify(以前的 html2text.php)“在 Markdown 中编写文本并将它们保存在 HTML 中。您不需要原始 Markdown 输入的副本,因为 Markdownify 可以将保存的 HTML 转换回Markdown。而且由于页面展示次数远多于编写操作,这为您提供了一种提高页面性能的简单方法。CMS 或类似软件的另一个好处是现在只保存一种文本格式——HTML。用户可以现在选择是用纯 HTML 编写文本还是使用成熟的 Wysiwyg 编辑器。当然他可以用 Markdown 编写!”

【讨论】:

您的在线演示似乎已损坏。【参考方案4】:

正如 Chris 所说,您可以将 Markdown 发送到服务器,以便将其存储在那里。我开始尝试使用 MarkdownJ 在服务器端进行转换,但它没有(在撰写本文时)正确地将图像转换为 HTML,因此我最终使用了 Java 6 脚本:Rhino 引擎 + showdown.js。由于 WMD 使用 showdown.js,因此您可以获得相同的 Markdown 到 HTML 转换。像魅力一样工作(无论如何,对于 Java 6)。

【讨论】:

【参考方案5】:

查看您的 WMD 发行版中的 optionsExample.html。可以选择将结果作为 Markdown 发送到服务器。

【讨论】:

其实,我已经看到了如何获取其中一个,但是每次显示时我都需要将其转换为 HTML。这是他们最好的方式吗?无论哪种方式,我认为我在同一条船上。仅在编辑时将其转换回来似乎更有效。 您可以在服务器端转换为 HTML,并将 HTML 和 Markdown 存储在您的数据库中。我相信 Stack Overflow 就是这样做的。 为了避免大量重复清理,我相信 SO 在将 HTML 版本存储到数据库之前也会对其进行清理。 (我相信有一个 SO 博客条目提到了这一点,但不要引用我的话。) 这是加载 wmd.js 之前需要添加的 javascritp:wmd_options = output: "Markdown" ; @SamSelikoff 正确,但它实际上有一个服务器端 Markdown 实现来创建 HTML。它不接受客户端生成的 HTML。 (哦等等,我已经在 4.5 年前的 cmets 中说过这一切。;-))

以上是关于将 HTML 转换回 Markdown 以便在 wmd 中进行编辑的主要内容,如果未能解决你的问题,请参考以下文章

Python之html与markdown互相转换

如何将 Markdown 文件转换为 PDF

FastMember 将 datagridview CurrentRow 转换回 Object

将word文档转换为markdown(.md)文件

您如何存储 GameScene 以便我可以从 InGame 菜单转换回它?

将 Key 转换为 String 并转换回 Key Java