代码之家  ›  专栏  ›  技术社区  ›  Ahmed Hussein

将markdown文件加载到html页面以显示可访问的内容[重复]

  •  0
  • Ahmed Hussein  · 技术社区  · 3 年前

    有几个好的Javascript 编辑器 对于降价/纺织品(例如: http://attacklab.net/showdown/ ,我现在正在使用的那个),但我所需要的只是一个Javascript函数,它可以转换Markdown/Textile的字符串->HTML和背面。

    最好的方法是什么?(理想情况下,它将是jQuery友好的——例如。, $("#editor").markdown_to_html() )

    编辑: 另一种说法是,我正在寻找Rails的Javascript实现 textilize() markdown() 文本助手

    0 回复  |  直到 16 年前
        1
  •  3
  •   H S W    5 年前

    对于降价->HTML,有 Showdown

    StackOverflow本身使用Markdown语言进行问答;你试过看看它是怎么工作的吗?

    嗯,它似乎在使用 PageDown 可在MIT许可证下获得

    问题 Is there any good Markdown Javascript library or control? 它的答案可能也会有所帮助:-)


    当然,一个完整的编辑并不是你所要求的;但是它们必须使用某种函数来将Markdown代码转换为HTML;而且,根据这些编辑器的许可证,您可能能够重用该功能。。。

    事实上,如果你仔细看看Showdown,在它的代码源中 (文件摊牌.js) ,你会发现这部分评论:

    //
    // Showdown usage:
    //
    //   var text = "Markdown *rocks*.";
    //
    //   var converter = new Showdown.converter();
    //   var html = converter.makeHtml(text);
    //
    //   alert(html);
    //
    // Note: move the sample code to the bottom of this
    // file before uncommenting it.
    //
    

    它不是jQuery语法,但应该很容易集成到您的应用程序中;-)


    关于纺织,似乎有点难找到有用的东西:-(


    另一方面,HTML->降价,我想事情可能会有点难。。。

    我要做的是将Markdown和HTML都存储在我的应用程序数据存储(数据库?)中,并使用其中一个进行编辑,另一个进行渲染。。。会占用更多空间,但它似乎比“解密”HTML风险更小。。。

        2
  •  0
  •   Ramblin Wreck    4 年前

    我认为在这里列出JavaScript解决方案及其缩小(未压缩)的大小和优缺点是值得的。缩小代码的压缩大小约为未压缩大小的50%。归根结底:

    • 使用 markdown-it (104KB),如果您需要全面的支持,并且将拥有用户编辑或任意文档,但不过分关心大小/带宽。
    • 使用我自己的 drawdown (1.3KB),如果您需要相当高的质量和桌子支撑,但想要羽毛般的重量,并且除了转换之外不需要任何功能,或者解决每个边缘情况。
    • 如果您需要安全性或可扩展性等独特功能,请使用其他功能之一。

    所有这些都使用麻省理工学院的许可证,大多数都在npm上。

    • 降价 :104KB。Powers StackExchange since the CommonMark migration .遵循CommonMark规范,现在或多或少是黄金标准;支持语法扩展;默认情况下生成安全输出。快速的像决战一样有力,但规模很大。具有大量功能(例如同步滚动)。也是的基础 http://dillinger.io/ .

    • showdown :28KB。具有全面的CommonMark支持,以前是黄金标准;明显小于Markdown It,但速度较慢。它是分页的基础。

    • pagedown :8KB。Powered StackExchange before the CommonMark migration 。它非常健壮,但缺少表、定义列表、脚注等。除了8KB转换器脚本外,它还提供编辑器和消毒程序脚本。

    • 缩编 :1.3KB。完全公开,我写的。比任何其他轻量级转换器都宽的功能范围;处理大部分但不是全部的CommonMark规范。不建议用于用户编辑,但对于在web应用程序中显示信息非常有用。没有内联HTML。

    • marked :19KB。综合的针对单元测试套件进行测试;支持自定义lexer规则。

    • micromarkdown :5KB。支持许多功能,但缺少一些常见的功能,如使用 * 以及一些不严格属于规范的常见代码块,如围栏代码块。许多错误会在大多数较长的文档上引发异常。我认为这是实验性的。

    • nano-markdown :1.9KB。功能范围仅限于大多数文档使用的东西;比微观标记更稳健,但并不完美;使用自己非常基本的单元测试。相当坚固,但在许多边缘情况下会断裂。

    • mmd.js :800字节。努力使尽可能小的解析器仍能正常工作的结果。支持一小部分;需要为其量身定制文档。

    • markdown-js :54KB(无法缩小下载;可能会缩小到约20KB)。看起来很全面,包括测试,但我不是很熟悉。

    • meltdown :41KB(无法缩小下载;可能会缩小到15KB)。jQuery插件;Markdown Extra(表格、定义列表、脚注)。

    • unified.js :变化,5-100KB。一个基于插件的系统,用于在html、markdown和散文之间进行转换。根据您需要的插件(拼写检查、语法高亮显示、输入净化),文件大小会有所不同。可能更多地使用服务器端而不是客户端。