在 Muse 里使用源代码高亮

Muse 不像 emacs-wiki 那样只是输出为 html 格式,它支持很多输出格式,因 此目前还无法实现 emacs-wiki 的那样使用 table.el 来产生表格,并使用 htmlize.el 来产生语法高亮。但是我自己使用 Muse 的时候几乎都是输出为 html 格式,所以这个时候我也想弄个语法高亮的东西。我的第一反应就是移植 emacs-wiki 里面的那个。不过我还是先到网上搜索了一下,我发现虽然没有出 现在 Muse 的包里面,但是好像有人提交过类似的东西,下载下来试用了一下, 不是很理想,有些地方没有高亮,也不知道是怎么回事。于是干脆自己也照着写 一个算啦!

于是就有了这个东西,我觉得还不错吧,还考虑到了 color-theme 的背景色和 前景色。使用方法是这样:

<src type="c">
#include <stdio.h>

int main()
{
    printf("hello\n");
}
</src>

效果为:

当然,具体的样子还要取决于你发布的时候正在使用的 color-theme 和你定义 的 css 文件。下面附上源代码1

Footnote

1. 依赖于 htmlize.el 和 muse 。新版本的 muse 自己已经可以处理 src 的 tag 了,但是语法和我的有一些不一样,为了保持向后兼容性,仍然使用我 自己的 src tag 的处理函数。由于 muse 添加 tag 的方式做了一些更改, 所以代码也做了相应的更改以适应最新版本的 muse 。