Typecho 内置的 MarkDown 引擎是 SegmentFault 开发的 HyperDown 解析器,目前主要是在 Typecho 开发版上的,明月一直都很困惑 HyperDown 解析器支持的 MarkDown 语法具体都有啥,今天终于在 GitHub 上看到了,就分享出来,就当是做个笔记了。
Markdown已经面世许多年了,国内外许多大大小小的网站都在用它,但是它的解析器却依然混乱不堪。 SegmentFault 是中国较大规模使用 Markdown 语法的网站,我们一直在使用一些开源类库,包括但不限于
- php-markdown
- CommonMark for PHP
- Parsedown
他们都有或多或少的毛病,有的性能较差,有的代码比较业余,更多的情况是由于Markdown本身解析比较复杂,因此我们几乎无法去维护另外一个人写的代码。基于这个原因,我为 SegmentFault 专门编写了这么一个Markdown解析器。
当前支持的语法
- 标题
- 列表(可递归)
- 引用(可递归)
- 缩进风格的代码块
- Github风格的代码块
- 各种行内文字加粗,斜体等效果
- 链接,图片
自动链接
[吃货小栈](https://eat.ymanz.com/)
方括号显示说明,圆括号内显示网址, Markdown 会自动把它转成链接- 示例:吃货小栈
- 段内折行
脚标(上下标)
- 示例:上标-附录① 下标-H2O
分隔符
示例:
- 列表项目
- 表格
- 图片和链接支持互相套用
附赠一个 MarkDown 缩进的小技巧
在需要缩进的段首加入下面的转义符即可
- 半方大的空白
 
或 
; - 全方大的空白
 
或 
; - 不断行的空白格
或 
;
至于说比较实用的 TodoList 目前 Typecho 的 MarkDown 编辑器是不支持的,正式版 Typecho 好像还不支持“表格”语法的,明月目前使用的是 Typecho 开发版1.1 (17.10.13),希望未来 Typecho 原生编辑器对 MarkDown 的语法支持更加全面和更加特色化,毕竟 Typecho 主要就是以写博客使用的, MarkDown 语法支持越全面越完美!
目前本博已经分享了如下有关 MarkDown 的文章:
11 条评论
能用mermaid吗
mermaid?什么东东!
额,用来绘图的
哦,这个不行,只是简单的支持!
好的
我也在用这个,但是不支持脚注,比较头疼。
确实不支持脚注,不过,可能以后会更新加入支持吧!我感觉Hyperdown还需要完善的!
哈哈,我已经知道怎么添加脚注啦
哦,我记得前两天我试过,是可以的!你是如何添加脚注的?
不错,赞一个,缩进好像全角空格也可以的!
是的,全角空格同样有这个效果!并且更便捷一些!