简介
hexo-renderer-marked 是 Hexo 博客框架中使用的 Markdown 渲染插件。它基于 marked 实现,可以将 Markdown 文本转换为 HTML 页面。
在 Hexo 中使用 hexo-renderer-marked 插件,可以方便地创建支持 Markdown 语法的静态博客网站,同时提供了一些扩展功能,如代码高亮、表格渲染等。
安装
安装 hexo-renderer-marked 插件非常简单,只需要在终端中执行以下命令:
npm install hexo-renderer-marked --save
如果你使用的是 yarn 包管理器,可以执行以下命令:
yarn add hexo-renderer-marked
配置
安装 hexo-renderer-marked 后,我们需要在 Hexo 的配置文件中进行相关配置。打开 _config.yml
文件,在 markdown
部分添加如下内容:
-- -------------------- ---- ------- --------- - -- ----------- -- -------- - ----------------- - -------------------- - --------------- - -- -------------------- --- --------- ----- ------ -------- ---- ---- --------- ----- --------- ----- ------- ---- ------- ---- ----------- ---- ------------ ----展开代码
其中,plugins
部分可以根据需要添加其他的 markdown-it 插件;renderer
部分指定了渲染器为 marked,并设置了一些渲染选项。
使用
安装和配置完成后,我们就可以在 Hexo 中使用 hexo-renderer-marked 渲染 Markdown 文本了。例如,在文章中插入以下 Markdown 代码:
-- -------------------- ---- ------- - ------ ------ ---------- -- -- - --- - --- - --- -- --- ---------------- ------------------- --------- ------展开代码
在页面中将会被渲染为:
-- -------------------- ---- ------- ---------- ----------- ----------------- ----------- ---- ------------ ------------ ------------ ----- ------------ ---------- ----------------------------------------------- --------- -------------展开代码
扩展功能
hexo-renderer-marked 提供了一些扩展功能,如代码高亮、表格渲染等。下面我们来介绍一下如何使用这些功能。
代码高亮
要在 Hexo 中实现代码高亮功能,我们需要先安装 prismjs 或 highlight.js 等代码高亮库,然后在 Hexo 的主题配置文件中进行相关配置。
以使用 prismjs 为例,首先在终端中执行以下命令安装 prismjs:
npm install prismjs --save
然后在 Hexo 的主题配置文件中添加如下代码:
-- -------------------- ---- ------- - ------ ----------- -------- -------- - ------------ ------------- ------ ---- ---- ------------- --- ---- ---- -------------------------------------------- ----------- ---------- - ---------- - --- - ------展开代码
其中,plugins
部分可以根据需要添加其他的插件;autoloader
部分指定了自动加载的语言类型。
在文章中使用以下代码块,就可以实现代码高亮效果了:
```javascript
console.log('Hello, world!');
### 表格渲染 hexo-renderer-marked 还支持渲染表格 > 来源:[JavaScript中文网](https://www.javascriptcn.com/post/44695) ,转载请注明来源 [https://www.javascriptcn.com/post/44695](https://www.javascriptcn.com/post/44695)