修改typecho的md解析器支持脚注
232
6
2017-11-13更新:此项功能在typecho新版本中已经集成,无需更改即可实现。
用过markdown的同学都知道,原生是不支持脚注的。
开源的东西就在于我们可以修改它,使之符合我们的口味。
随着知识在互联网的普及,我们越来越多地需要从网上收集各种信息,很多网站都是用了知识共享署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议许可,如本站,拿来可以非商业使用,但是需要注明出处,这样也有好处,既能让知识共享,又能让作者的付出得到尊重。
之前老何的博客引用都是直接在原文添加相应链接,而fooleap同学的文章[1]比较高深,看不懂,只能作罢。
今天逛官方论坛的时候,发现开发版[2]支持新的md语法,于是升级到1.1(17.10.13版),果然支持,但是还不够完美,于是又找到新的解析方法[3],复制里面的文件内容,复制到var/HyperDown.php文件里,恩,能实现了,开心。
不过它的注脚还是只是一个1字,不容易看到,于是再修改,在HyperDown.php的295行,改成其中注
是注字的Unicode编码,具体效果看本文就知道了。
"<sup id=\"fnref-{$id}\"><a href=\"#fn-{$id}\" class=\"footnote-ref\">[注{$id}]</a></sup>"
不过根据实际情况,对css进行相应的添加或者修改,我的css如下:
.fn a {
color: #08d;
}
.fn a:hover{
color: #f00;
}
.footnotes ol {
-webkit-margin-after: 1em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
padding-left: 20px;
display: block;
font-size: 14px;
}
.footnotes ol li{
list-style-type: decimal;
}
经过这样一番改造,我们就可以使用md语法来达到脚注的目的。
例如:
我是老何[^1]
[^1]: 老何是本博客的博主。
我改了之后发现在Markdown的预览里可以看到成功了,但是发布之后在日志页面里却只能显示“我是老何^1”
我小白一个,期盼回复_(:3 」∠)_
新的开发版本已集成该功能。
1 ↩可能是你的格式书写不对[1]: 的冒号后面一个空格。