今日(2015.4.2)折腾了一上午和大半个下午的关于wordpress中代码高亮插件的问题,终于解决了,心情大畅的同时亦有不吐不快的感受,遂记之,以为后事之师。
虽然目前来说这个博客大多数都是生活类的杂记,但是有时还是会涉及到一些偏技术性的文章,自然也就少不了要贴一些代码了,为了使代码显示的更为美观一些,于是需要使用代码高亮工具。之前稍微做过一些调研,其中也参考了酷壳的推荐,于是就选用了SyntaxHighlighter Evolved插件,其中的代码高亮的相当漂亮。
之前写的技术文章很少,只有其中一篇文章使用到了代码,在使用的时候也是遇到了各种奇怪的问题。当时花了好长时间也是没有解决。后来因为一些其他事情这个问题也就不了了之了,直到近日再次需要使用代码高亮工具的时候,这些问题才有一次显示出来。其中包括,在文本模式下直接粘贴代码的时候会自动添加
标签,自动添加了后再添加SyntaxHighlighter Evolved所识别的代码高亮标识如"[cpp][/cpp]"的时候会发生代码块嵌套的情况,这种情况下显示的代码相当难看,且不知道是什么问题,代码高亮模块无法结束,以至于后面的文字部分也被识别成代码块,让人看着很不舒服。如果在"[cpp][/cpp]"之前添加标签倒是可以解决
标签自动添加的问题,但是此时粘贴的代码每一行的后面又都自动添加了
标签,且会直接显示在代码中,看着非常让人不爽。反复尝试无果之后,参考了使用了该插件的其他技术博客,查看其源代码,采用了如下的形式,,算是暂时解决了以上自动添加和
标签的问题。但是新的问题又出现了,不知道为什么又在代码结束之处出现了一些不该出现的字符。相当让人无语。本想着就这样将就着用,但是。。。偶然间搜索Markdown与wordpress,看到这样一篇文章,里面提到了Crayon Syntax Highlighter插件,使用了之后,不禁有相逢恨晚的感觉,真是大赞!!!强烈推荐。Crayon Syntax Highlighter插件提供了非常方便的代码插入功能,比SyntaxHighlighter Evolved好的太多。且有多种主题和多种字体可以选择,后来参考了这篇文章,把代码模式配置成SyntaxHighlighter Evolved的形式。如此简直完美了。且后来看SyntaxHighlighter Evolved和Crayon Syntax Highlighter两个插件的下载量和评价,Crayon Syntax Highlighter都远胜于SyntaxHighlighter Evolved。两者的下载量相差无几,但是前者的评价却是后者的几乎三倍之多,且前者还是全五星评价,后者只是四星半的评价。两相对比之下,优劣自分。也是很奇怪,为什么很多人都推荐SyntaxHighlighter Evolved,而不是更优秀的Crayon Syntax Highlighter。(以上之言也只是源于今天的体验,对于Crayon Syntax Highlighter的使用才刚刚开始,可能也会有各种缺点,但是就目前来看,给我的感觉简直太赞了!!!)
此次折腾代码高亮的事情,被其折磨的简直痛不欲生,身心俱疲。但是其中却也有一些经验颇有价值。想来也不枉今日之痛苦的经历吧。先总结如下:
其一自然是遇到问题不能轻易放弃,如果确定之后还是会遇到相似的问题,或是这个问题是自己必须要解决的问题,那么千万不能轻易放弃,从代码高亮这个问题来看,自己之前在这个上面就花费了相当长的时间,中途放弃之后,如今重新遇到,又是一切重头开始来弄。期间有很多时间都被重叠浪费了,想起了之前看到一本书中提到的一个有意思的观点,使用计算机中的任务切换来类比这个问题,暂时放下这个问题,以后再重新拿起,就相当于一次任务切换,其间所花费的代价相当之大,直接的一个体现就是耗费了大量时间在上下文的切换上,无形中浪费了大量的时间(参考《暗时间》p4-p5)。是以,如果要解决一个问题,必得专注于其中,要么一鼓作气解决这个问题,要么放弃之。由此又引申出另一个问题,那就是做事情的专注力非常重要,愿尽力改之。
其二是不能盲目从众,或是盲目迷信权威,适合大众和权威的东西还真不一定适合自己,在这一方面自己修为相当薄弱,很容易被别人的观点所左右。那些看起来天花乱坠的评论是否真的可信只有等自己真正使用了之后才能评价,是以,要有自己的观念,有自己的想法,不是说不从众,而是在从众之前得先经过自己的思考。这才是最重要的,也是自己最欠缺的。今日之血与泪的教训希望自己可以在此方面有所进益。
其三是做事情之前得有充分的调研,如果一件事情比较重要,再多的准备工作都不为过,否则后患无穷。此次的事前调研明显非常不充分,竟然没有想到去wordpress的官网上搜索一下,以至于盲目从众,一叶障目未发现真正好用的插件,这完全是自己做事的方式有问题,如此的结果也都是自己咎由自取。