作为一个写博客的程序员,一个用wordpress写博客的程序员,就免不了要贴些代码。以前我都是用截图的,发现这样太麻烦了。可是wordpress自带的code标签又弱地可以啊,于是,各种代码高亮插件就来了:比如CodeColorer,比如WP-Syntax,比如WP-Code,Syntax Highlighter等等。用插件的好处显然易见,可是哪天你不用插件了,那么代码高亮也就没了。况且,后台”已安装的插件”里面已经够多插件的了,所以,今天我就介绍一些不用插件能让代码高亮的方法。
方法一:利用些在线网站的code to html功能
比较熟悉的有代码发芽网站:http://fayaa.com/code/new/和 tohtml.com 支持的语言很多,主流的非主流的都支持。用法很简单,直接贴代码,点击转换成html即可,然后将生成的html贴在你的文章中即可(记得切换到HTML模式)。
缺点:样子估计丑陋了点(如何丑陋请参考我的上一篇博文),而且对于主机开发人员来说,基本上很难找到JCL/PLI/REXX的语法高亮,所以此种方法我放弃
方法二:用文本编辑器的code to html功能
我知道的NotePad++和Vim都有这个功能。其中不得不说的是Vim生成的html比notepad++要美观得多,所以我选择了Vim(在windows下面我就用gvim方便些,记不住那么多的命令)
在使用Gvim的tohtml功能的时候记得注意一下:
1、记得在 _vimrc配置文件中添加:let g:html_use_css = 0,否则生成的html是默认带有css样式的,这样的话虽然减小了html的体积,却不能被wordpress准确地识别(也可能是我对HTML/CSS不熟悉的缘故,谁知道的话告诉我下啊)
2、在gvim中选择正确的配色方案,点击语法——>转换成HTML,将生成的HTML代码中body之间的部分放入以下pre之间,就完成了代码的完美嵌入了。
<div class="flyuphigh.com"> <pre> </pre> </div>
这是一段用gvim的tohtml功能生成的带语法高亮的Ruby代码,效果如下:
begin Timeout::timeout(30) do |timeout_length| $streamSock = TCPSocket::new(ipaddress, 43) $streamSock.send(domain+"\r\n",domain_len+2) $strs= $streamSock.read #strs= streamSock.readpartial(2048) end rescue Errno::ECONNRESET puts "I got stucked in rescue-ECONNRESET, will retry in 5 secs\n" if $strs=="" then puts "I read nothing!\r\n" puts "The dead domain is:"+ domain end $streamSock.close sleep(3) retry rescue Timeout::Error puts "I got stucked in rescue-TIMEOUT, will retry in 5 secs\n" # $streamSock.close sleep(3) retry # ensure end