在 JavaScript 模板引擎中使用 markdown

Using markdown in JavaScript template engine

如何在模板中使用 markdown(或任何其他标记 -> HTML 语言)。是否可以使用可用的 JavaScript 模板引擎?

模板:

This is a *sample* question?
![some_image](image/path)
{{screenshot}}
  • 运行 首先是你的模板引擎。
  • 将呈现的 HTML 传递给 markdown 解析器。
  • 运行 你的降价解析器。

我留给你一个使用 Mustache as template engine and the JavaScript implementation of CommonMark 作为 Markdown 的片段。

在上面的链接中,您可以找到我用于示例的代码。

function loadUser() {
  var template = $('#template').html();
  var rendered = Mustache.render(template, {
    name: "*Luke*"
  });
  $('#target').html(rendered);

  var reader = new commonmark.Parser();
  var writer = new commonmark.HtmlRenderer();
  var parsed = reader.parse($('#target').html());
  var result = writer.render(parsed);
  $('#target').html(result);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/3.0.0/mustache.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/commonmark/0.28.1/commonmark.min.js"></script>

<body onload="loadUser()">
  <div id="target">Loading...</div>
  <script id="template" type="x-tmpl-mustache">
This is an example of **markdown** in a *template*.  
Hello {{ name }}!
  </script>
</body>