替换为 markdown-it

今天在迁移博客项目的时候,发现原来在 hugo 中可以使用的 Emoji 和 tasks 功能都不能正常使用了,查询了一下原因,主要是因为 hexo 默认的解析器是 hexo-renderer-marked ,这个默认的渲染器是不支持 emoji 功能的,但是支持 tasks,但是这个渲染器是不支持扩展的,所以如果希望同时使用这两个功能的话,就需要换一个渲染器。

这里推荐的是 hexo-renderer-markdown-it 渲染器,支持扩展,采用的是 markdown-it 的内核来解析 markdown 的文本。

npm un hexo-renderer-marked -S
npm i hexo-renderer-markdown-it -S

安装和配置 markdown-it

这样就替换完成了,然后再安装需要的插件:

npm i markdown-it-emoji markdown-it-task-lists -S

然后再增加相关配置:

markdown:
render:
html: true # 在 markdown 文本中支持 html tag 标签
xhtmlOut: false # 需要 xtml 文档,使用 <br /> 替代 <br>
breaks: true # 用 <br> 开始新的一行
linkify: true # 自动将 可能是链接的内容转换成链接
typographer: true # 印刷标识转换
plugins:
- markdown-it-abbr
- markdown-it-footnote
- markdown-it-ins
- markdown-it-sub
- markdown-it-sup
- markdown-it-emoji
- markdown-it-task-lists
anchors:
level: 2
collisionSuffix: ''
permalink: false,
permalinkClass: 'header-anchor'
permalinkSymbol: ''
case: 0
separator: ''

typographer 解释:

(c) (C) (r) (R) (tm) (TM) (p) (P) +- 这些标识转换成 (c) (C) (r) (R) (tm) (TM) (p) (P) +- 。

一些常用的插件,比如上标和下标,可以在插件里加上 markdown-it-submarkdown-it-sup ,可以直接用 19^th^ 19th 还有 H~2~O 表示 H2O 。

还有脚本、定义列表等功能,具体的见 https://markdown-it.github.io/

其它插件

因为 markdown-it 是支持扩展的,所以怎么找对应的扩展,也是非常重要的功能,比如 tasks 的支持,可以到 https://www.npmjs.com/ 里进行搜索,关键字是 keywords:markdown-it-plugin 或者直接打开链接 https://www.npmjs.com/search?q=keywords:markdown-it-plugin

就可以按照对应的功能去找寻找插件了。

Hexo 中使用 emoji 和 tasks的更多相关文章

  1. Hexo中添加emoji表情

    国庆的三天假前,都是玩CF和LOL的无限乱斗过来的,输了怨没随机到好的英雄,赢了就高高兴兴的

  2. MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  3. 去除字符串中的emoji字符

    对于使用utf8编码的mysql数据库来说,如果字符串中存在emoji小图像,是不能存进数据库中的,查了一下,原因大概是因为utf8编码可以存1-3个字节的字符,但是emoji是4个字节:解决方法可以 ...

  4. php开发中处理emoji表情和颜文字的兼容问题

    背景:随着手机的普及,现在移动开发很火爆,已经远远超过了pc端.在移动设备经常会发生用户发送的内容中包含emoji表情,在显示时就是乱码.一般是因为Mysql表设计时,都是用UTF8字符集的.把带有e ...

  5. 过滤NSString中的Emoji

    有时候由于项目需求.要过滤NSString中的emoji. 比方下面情况: 要跟android互通,android假设还没做这方面的支持. 内容做为手机短信发出去. 思路例如以下,遍历NSString ...

  6. 在MD中使用Emoji

    mark语法中支持emoji表情 具体语法是:emoji: 比如我输入 :smile: 就会出现微笑

  7. 移除微信昵称中的emoji字符

    移除微信昵称中的emoji字符: /** * 移除微信昵称中的emoji字符 * @param type $nickname * @return type */ function removeEmoj ...

  8. 如何在个人博客引擎 Hexo 中添加 Swiftype 搜索组件

    在您现在看到的我的博客站点,后台使用的是 Hexo 作为博客引擎,但是默认集成的搜索组件是进行 form 提交到 Google 进行搜索的,为了更好地体验,本文介绍如何在 Hexo 博客中集成 Swi ...

  9. 项目中使用emoji表情包与表情的解析过程详情

    菜鸡一只,刚开始写博客文笔不好,有问题欢迎相互讨论.闲话不多说. 用到了三个插件 Emoji Picker 第一步 这个emoji表情包插件是我找到比较好 的一个,input框中是不能放入图片的,效果 ...

随机推荐

  1. TortoiseSVN各种状态

    黄色感叹号(有冲突): --这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别 ...

  2. 深入Java线程管理(三):线程同步

    一. 引入同步: 有一个很经典的案例,即银行取款问题.我们可以先看下银行取款的基本流程: 1)用户输入账户.密码,系统判断用户的账户.密码是否匹配. 2)用户输入取款金额. 3)系统判断账户金额是否大 ...

  3. php 使用正则匹配中文 返回结果

    $str = 'eg5455正则匹配中文123三国杀'; $patten='/[\x{4e00}-\x{9fa5}]+/u'; $a = preg_match($patten, $str, $mn); ...

  4. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  5. 【a602】最大乘积

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 一个正整数一般可以分为几个互不相同的自然数的,如3=1+2,4=1+3,5=1+4=2+3,6=1+5= ...

  6. MySQL之Field‘***’doesn’t have a default value错误解决办法

    这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下 今天,中国博客联盟有博友反馈,zgboke.com无法提交 ...

  7. layui图片上传之后后台如何修改图片的后缀名以及返回数据给前台

    const pathLib = require('path');//引入node.js下的一个path模块的方法,主要处理文件的名字等工作,具体可看文档 const fs = require(''fs ...

  8. POJ2763 Housewife Wind 树链剖分 边权

    POJ2763 Housewife Wind 树链剖分 边权 传送门:http://poj.org/problem?id=2763 题意: n个点的,n-1条边,有边权 修改单边边权 询问 输出 当前 ...

  9. ffmpeg 转码并截图的命令分析

    一.转码并截图的命令分析: 1.转码并截图,将码率转换为900Kffmpeg -i E:\\1.MOV -i E:\\123.jpg -filter_complex overlay=W-w  -b:v ...

  10. Keras lstm 文本分类示例

    #基于IMDB数据集的简单文本分类任务 #一层embedding层+一层lstm层+一层全连接层 #基于Keras 2.1.1 Tensorflow 1.4.0 代码: '''Trains an LS ...