什么是降价解析器?如何在构建 markdown 编辑器时使用它?

What is a markdown parser? How to use it while building a markdown editor?

我已经开始使用 javascript 从头开始​​构建降价编辑器。首先,我研究了 markdown 的语法及其含义。然后有人让我使用降价解析器。经过多次搜索后,我真的不明白它的作用以及如何使用它。 任何帮助都是有益的。提前致谢。

这不是真正关于编程的问题,但你看起来很好,它可能会帮助其他人...

Markdown 解析器是一个库(一个或一些脚本),它将解析,在这种情况下,markdown。 Markdown 经常被转化为 HTML.

因此,markdown 解析器将 markdown 转换为 html。

因此,使用 markdown 解析器,您只需执行如下操作:

 html = parseMarkdown(markdown_code)

大功告成。您不必自己解析 降价。

可在此处找到长但不完整的 Markdown "Parsers" 列表:https://github.com/markdown/markdown.github.com/wiki/Implementations

但是,将它们全部称为 "parsers" 有点用词不当。他们 "parse" Markdown,但他们也 render/compile 将 Markdown 转换成其他东西,通常是 HTML。由于这个问题被标记为 [javascript],我们将使用 JavaScript 库作为示例。 Marked 库具有以下标记行:

A full-featured markdown parser and compiler, written in JavaScript.

它的功能是诚实的。它既解析又 compiles/renders 输出为 HTML。其实文档中给出的简单用例是:

var marked = require('marked');
console.log(marked('I am using __markdown__.'));
// Outputs: <p>I am using <strong>markdown</strong>.</p>

你传入一个 Markdown 文本字符串,它 returns 一个 HTML 的字符串。但是,当您通读文档时,您会发现 Pro level use 部分解释说“如果您愿意,[您]还可以直接访问词法分析器和解析器。”注意示例:

$ node
require('marked').lexer('> i am using marked.')
[ { type: 'blockquote_start' },
  { type: 'paragraph',
    text: 'i am using marked.' },
  { type: 'blockquote_end' },
  links: {} ]

给定一个 Markdown 文本字符串,"lexer" returns 一个标记列表。现在由您决定如何使用这些令牌。

恐怕如何使用它来构建 Markdown 编辑器超出了本论坛的范围。