【问题标题】:Using jade with wysiwyg markdown to allow users to edit content使用jade和所见即所得的markdown来允许用户编辑内容
【发布时间】:2013-04-11 09:56:33
【问题描述】:

我相信除非万不得已,否则不要重新发明轮子。所以我不想开始编码已经编码的东西,或者很多人已经在为它做出贡献。

我刚刚移居到 Node.js 星球(抱歉 php/apache),需要整合资源以使其他语言跟上速度。

我使用Node.js 作为服务器监听器,Express.js 作为中间件,jade js 作为模板引擎。

我想使用类似TinyMCE 的功能,但代码不是通常丑陋的 HTML markup,我希望代码是 markdown 并允许 jade做它的majic。我想它或多或少像 stackoverflow 编辑(我正在输入)但可能更高级的 UI 明智。

因此,例如,如果我单击一个按钮 B,它应该使用任何所见即所得的编辑器将所选文本设为粗体。

参考文献

【问题讨论】:

  • 这太不一样了,我要求Node JS + Jade,解决方案不是markdown解决方案,因为jade作为markdown html工作,我没有遇到任何与jade一起优雅工作的解决方案.例如:如果我点击 WYSIWYG 上的按钮 B,源代码在数据库上应该看起来像 \nstrong my text\n,而 html 在浏览器上实际上是 <strong>my text</strong>
  • 因为玉作为降价 html 工作,如果您的意思是它们都是标记语言,那么您是正确的。虽然这是一个奇怪的要求。您希望您的编辑器在幕后使用降价,但您希望将玉存储在数据库中。这意味着您需要不断地来回转换它。为什么不直接将降价存储在数据库中? Jade 有一个降价过滤器,或者如果你想在编辑器之外显示标记,你可以在 express 中编写自己的降价助手。
  • 我确实在上面的评论中说数据库降价......因此我不想使用让我们说 ckeditor 因为它们产生原始 html 与 source 上的降价相反。

标签: node.js express tinymce wysiwyg pug


【解决方案1】:

您可以使用任何生成 HTML 的 WYSIWYG 编辑器,并在“保存”时允许 HTML 传递到服务器,然后在存储它之前将其转换为 Jade 语法。

您可以轻松地将这个包集成到您的 Express 服务器中:

https://www.npmjs.org/package/html2jade

html2jade.convertHtml(html, {}, function (err, jade) {
   // save jade to the DB
});

【讨论】:

  • 这真的很简单:),我不敢相信我当时没有想到这个:) +1
猜你喜欢
  • 1970-01-01
  • 2012-10-02
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多