最近因为博文中需要使用大量代码,而视同普通文字的代码排版着实让人头痛,所以一直物色着一个代码高亮插件。 但是我又一直懒得折腾,趁闲暇之余试过几个WordPress的代码高亮插件,却大多功能太过简单,根本不能符合要求;或者是与我的博客主题略有冲突,造成无法使用,甚至对以往的博文造成影响。还好,最终发现了一款不错的插件,一番折腾之后,终于可以正常使用了,所以记录一下,以备以后遗忘之时查询。 这款插件的名字是Crayon Syntax Highlighter。 我所需要的代码高亮功能无非两种,一种是原地高亮,如:sudo apt-get update
;另一种是代码块高亮,如下所示:
with tf.Session() as sess:
sess.run(tf.local_variables_initializer())
sess.run(tf.global_variables_initializer())
print(sess.run(result, feed_dict={a: 2, b: 3}))
但是很遗憾,大多数代码高亮插件都需要使用博客主题的< pre >,而我的博客主题中却把< pre >进行了重定义,故而不能使用。 不过经过我的配置,Crayon Syntax Highlighter终于满足了我的要求。具体设置如下:
1.< pre >
因为我的主题中< pre >已有所用,故需要将插件设置中的“捕获 < pre > 标签为插件所用”取消选中。
2.代码块高亮
使用< code lang=””>来定义代码块高亮,比如上面的Python程序即使用了< code lang=”python”>。 这一项,需要在插件设置中作相应设置:选中“捕获 < code> 标签为插件所用”,并将其设置为“块标签”。
3.原地高亮
使用{language}来定义原地高亮,比如上面的原地高亮使用了{language}…{/language},其中language指定语言类型。 这一项,需要在插件设置中,选中“捕获如{p-h-p}{/p-h-p}形式的行内标签”(注意php没有短划线,此处加上防止生效)。
不过比较遗憾的是,我的设置完成之后,如切换行号是否显示、代码自动换行等仍然不能正常使用,而且,其中“允许代码复制/粘贴”需要取消选中才能允许,也有点奇怪。不过目前的功能还是已经基本上够我使用了。
补充
昨天写完这篇文章后,WP提示升级,以及之前碰到了诸多问题,所以就点了升级,结果升级完成后,其他插件正常使用,而插件Crayon Syntax Highlighter则不能启用。无奈之下,继续寻找,找到了另一款插件——Enlighter。 该插件虽然效果不如Crayon惊艳,但也可以不使用< pre >来实现inline和code block两种代码高亮方式。两种高亮方式均使用同一种形式,即将需要高亮的代码包围在[ python]和[/ python]之间即可。