【问题标题】:Should I rely on AJAX or trust JavaScript for Markdown我应该依赖 AJAX 还是信任 JavaScript 来实现 Markdown
【发布时间】:2014-01-22 06:46:32
【问题描述】:

我正在为我的一个较大项目开发一个小插件,其中当用户在文本区域(有点类似于 StackOverflow)中键入一些文本时,文本会被解析并以 Markdown 格式返回。我认为这将有助于使 UI 更活泼一点,看起来更简单。

我在使用 AJAX 和在每个键入的空格之后通过我当前的 Python Markdown 解析器或使用内置的 JavaScript 解析器发送返回解析数据的请求之间苦苦挣扎。

我在整个项目中都使用 Python,我担心它们会是两者之间的微小差异,我现在可能不会注意到,但以后会发现。

依赖 AJAX 进行解析是否合适,或者我应该信任 display 的 JavaScript 实现,然后通过 Python 解析它以存储数据?

我正在查看用于 JavaScript 的 this,目前正在使用用于 Python 的 this

谢谢!

【问题讨论】:

  • 由于 Markdown 是一组规则,它们应该可以很好地协同工作。如果您没有阅读这些内容:Python-Markdown's differences 和 [marked 的哲学]()。在那之后,我认为你应该感到自信。您可以做的另一件事是在两者上运行测试套件(这可能需要您自己进行移植)并查看它们是否有不同的结果。

标签: javascript python markdown


【解决方案1】:

我对 Marked 不熟悉(尽管乍一看它看起来很不错),但是 Python-Markdown 有一个相当广泛的 test suite。使用 Marked 运行这些测试,您应该非常清楚它们的行为与它们的匹配程度。事实上,这是比较任意两个 markdown 实现的一个很好的方法(参见Babelmark 了解许多实现的比较,并查看FAQ 了解已知痛点列表)。

Python-Markdown 的测试套件主要由匹配的文本和 html 文件组成。测试套件只是遍历这些文件,通过 markdown 解析器运行文本文件,并将输出与 html 文件进行比较。如果有任何差异,则测试失败。 php 和 perl 实现使用相同的测试方法,实际上 Python-Markdown 也运行这些测试。

使用另一种实现的测试有一个问题。每个实现似乎在 html 中输出无关紧要的空白有点不同。因此,您需要在比较之前对空格进行规范化。在测试 JavaScript 实现时,这应该很容易做到。

【讨论】:

    猜你喜欢
    • 2018-09-26
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多