如何不在wordpress上不使用插件实现代码高亮

我刚开始用wordpress的时候找到一个比较喜欢的主题,然后有时候也会贴一些代码,为要代码显示出来和其它内容区分开也为了好看所以用了一款名为“Crayon Syntax Highlighter代码高亮的插件。但是这个主题不能在首页摘要里面保留原来的格式,于是在百度搜索能解决这个问题的方法或者插件,功夫不负有心人,终于让我找到一个插件能完美解决这个问题,这款插件就是“WP-Chinese-Excerpt”,我以前也有提到过。后来又发现这个插件和代码高亮插件在我这个主题上不兼容,最后只得放弃代码高亮插件选择首页摘要插件。不过,这个世界上没有解决不了的难题,又经过在网上的一番搜索,终于找到了方便又好用的让代码高亮的方法,而且还不需要安装插件,只需要借助于一款好工具就可以轻松实现。在这里我就将从网上找到的关于这个小工具的一些介绍以及使用方法转载过来存档也方便有和我情况类似的朋友借鉴。

这是一款本地转换代码高亮显示的小工具:CodeRenderUnmi

下载:   CodeRenderUnmi.rar

本程序是基于 dp.SyntaxHighlighter 写的代码语法着色的工具。支持的语言有:

java/xml/sql/jscript/css/cpp/c#/python/vb/perl/php/ruby/delphi。

可方便用于你的博客中粘贴代码,只要自定相应的样式 (highlight.css 的内容,.Text 支持自定义样式或在模板里加上语法样式),然后复制用这个工具生成的 HTML 代码就能让你的代码着高亮显示。 可以加入更多语种的支持,本程序就是在 dp.SyntaxHighlighter 的基础上扩展了对 Perl 语言的支持,网上可以找到相应语法的 JS 代码和 CSS。语言扩展支持通过在 shCore.js 和 highlight.css 加入相应代码即可。

程序界面

操作很容易,Source Code 中贴上你要着色的代码,然后选择语种,点击 Render 按钮就会在 HTML Code 中生成相应的 HTML 代码,同时在 HTML Preview 中可以预览到效果。

简要说明:Lang 下拉框可以选择所支持的语法,Options 右边的 Gutter、Controls、CollapseAll、FirstLine、Columns 是控制生成的额外的元素,逐一点试试就知道了。每个内容显示(输入)区都提供了 Copy/Paste/Clear 快捷操作链接,还有一个总的 Clear 按钮。

Copy生成 的HTML 代码,在日志编辑窗口切换到HTML源代码编辑模式,粘贴就可以了。

不过要想正确显示代码高亮还需在WordPress主题中加载样式文件“highlight.css”(在下载的压缩包中)

方法:

首先,把highlight.css上传到所使用主题目录中;

其次:打开header.php,查找:

  1. <link rel=“stylesheet” href=“<?php bloginfo(‘template_url’); ?>/highlight.css” />  

在后面添加:

  1. <link rel=“stylesheet” href=“<?php bloginfo(‘template_url’); ?>/highlight.css” />  

当然,你也可以复制highlight.css中的所有代码到你主题style.css中,以上步骤就免了!

如认为默认的样式不符合自己的要求,可以通过修改“highlight.css”中的样式改变代码高亮、边框、背景等颜色,更个性化。

但需要注意的是Wordpress会自动把半角符号替换为全角,别人复制下来的函数代码标点是全角的,无法使用,切记!

解决办法:

  1. 打开并编辑 wp-includes/formatting.php 文件,找到以下代码:   
  2. // static strings    
  3. $curl = str_replace($static_characters$static_replacements$curl);   
  4. // regular expressions    
  5. $curl = preg_replace($dynamic_characters$dynamic_replacements$curl);   
  6. $curl 开头的两句代码注释掉,如下:   
  7. // static strings    
  8. //$curl = str_replace($static_characters, $static_replacements, $curl);    
  9. // regular expressions    
  10. //$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);   

转载自:http://zmingcx.com/do-not-realize-wordpress-code-highlight-plugin.html

5 条评论

    • 1、你说的字体阴影是什么意思,看不太明白
      2、这个主题本身是没有高亮支持的,我是在更新文章时需要插入代码的地方用的另一个工具把代码去成高亮的html代码然后在html编辑模式下插入指定位置就行了

发表评论

邮箱地址不会被公开。 必填项已用*标注