📜  节点牧马人预览 - Javascript (1)

📅  最后修改于: 2023-12-03 15:11:49.501000             🧑  作者: Mango

节点牧马人预览 - Javascript

节点牧马人预览是一个基于Javascript的Markdown渲染引擎,可以将Markdown格式的文档转换成HTML显示在浏览器中。

功能特性
  • 支持Markdown基本语法,包括标题、段落、列表、代码块等;
  • 支持Markdown扩展语法,如表格、任务列表、分割线等;
  • 支持Markdown内部的HTML标签;
  • 支持对Markdown的语法高亮显示;
  • 支持自定义渲染Markdown语法。
使用方法

在HTML页面中引入节点牧马人预览的Javascript文件,例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Markdown预览</title>
    <script src="markdown.js"></script>
</head>
<body>
    <div id="markdown"></div>
</body>
</html>

然后在Javascript中使用以下代码即可将Markdown格式的文档转换成HTML输出到页面中:

var markdown = document.getElementById('markdown');
var converter = new Markdown.Converter();
var html = converter.makeHtml('# Hello World!');
markdown.innerHTML = html;

其中# Hello World!为Markdown格式的文本内容。

自定义渲染Markdown语法

节点牧马人预览支持自定义渲染Markdown语法,可以通过继承Markdown.Converter类并覆盖其中的渲染函数来实现。

例如,以下代码扩展了一个自定义的Markdown语法,用于在文本中添加图片注释:

var ImageCaptionExtension = {
    regex: /!\[(.*)\]\((.*)\)/g,
    replace: function (match, caption, url) {
        return '<figure><img src="' + url + '"><figcaption>' + caption + '</figcaption></figure>';
    }
};

var converter = new Markdown.Converter();
converter.hooks.inline.push(ImageCaptionExtension);

在渲染Markdown文本时,所有匹配到ImageCaptionExtension正则表达式的图片注释均会被渲染成HTML中的<figure>元素。

注意事项
  • 节点牧马人预览不支持渲染Markdown中的LaTeX公式;
  • 节点牧马人预览不支持从Markdown中自动解析链接,并在输出的HTML中自动添加<a>标签,需要手动添加;
  • 节点牧马人预览需要浏览器支持ES5规范的Javascript语法。