Node.js 转换 Markdown 并且语法高亮

发布时间:2019-06-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Node.js 转换 Markdown 并且语法高亮脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

最近写了一些小东西,用到了 Markdown 作为文档编辑,并且显示到了页面上。

Markdown

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 SetextatxTextilereStructuredTextGrutatextEtText,而最大灵感来源其实是纯文本电子邮件的格式。

点击查看语法

本文也使用 Markdown 编辑

marked

full-featured markdown parser and compiler, written in JavaScript. Built for speed.

一个可以在服务器端、浏览器端使用的转换库,简单、易用。

点击查看文档

highlight.js

Highlight.js is a syntax highlighter written in JavaScript. It works in the browser as well as on the server. It works with pretty much any markup, doesn’t depend on any framework and has automatic language detection.

点击查看文档

如何使用

普通文本

Node.js转换文件

var marked = require('marked');
var markdownString = '```jsn console.log("hello"); n```';
var HTMLString = marked(markdownString);

页面

<link href="https://cdn.bootcss.com/github-markdown-css/2.8.0/github-markdown.min.css" rel="stylesheet">

<div class="markdown-body">
    {{HTMLString}}
</div>

代码高亮

Node.js转换文件

var marked = require('marked');

// 同步使用 highlight.js 转换代码
marked.setOptions({
    highlight: function (code) {
        return require('highlight.js').highlightAuto(code).value
    }
})

var markdownString = '```jsn console.log("hello"); n```';
var HTMLString = marked(markdownString);

页面

<link href="https://cdn.bootcss.com/github-markdown-css/2.8.0/github-markdown.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/highlight.js/9.12.0/styles/github-gist.min.css" rel="stylesheet">

<div class="markdown-body">
    {{HTMLString}}
</div>

Markdown、代码高亮样式

这里使用的是 github-markdown-css 样式库,可以根据自己的喜好修改。

代码高亮用的是 github-markdown 样式库,两个加起来就是活脱脱的 GitHub 风格。

highlight.js 有很多不同的风格,可以在这里查看。

原文阅读:Node.js 转换 Markdown 并且语法高亮

脚本宝典总结

以上是脚本宝典为你收集整理的Node.js 转换 Markdown 并且语法高亮全部内容,希望文章能够帮你解决Node.js 转换 Markdown 并且语法高亮所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:HTML