不用插件实现WordPress代码高亮显示

本想找个自动显示代码高亮的插件,但个个都要手动设置代码,就找了个本地转换代码高亮显示的小工具“CodeRenderUnmi”,程序是基于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加入相应代码即可。

程序下载 CodeRenderUnmi  DBANK下载  本站下载

程序界面

CodeRenderUnmi

操作很容易,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" type="text/css" href="<?php bloginfo(‘template_directory’); ?>/style.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);  

具体效果: PHP:

  1. <div id="branding" role="banner">  
  2. <?php $heading_tag = ( is_home() || is_front_page() ) ? ‘h1’ : ‘div’; ?>  
  3. <<?php echo $heading_tag; ?> id="site-title">  
  4. <span>  
  5. <a href="<?php echo home_url( ‘/’ ); ?>" title="<?php echo esc_attr( get_bloginfo( ‘name’, ‘display’ ) ); ?>" rel="home"><?php bloginfo( ‘name’ ); ?></a>  
  6. </span>  
  7. </<?php echo $heading_tag; ?>>  
  8. <div id="site-description"><?php bloginfo( ‘description’ ); ?></div>  
  9. <?php  
  10. // Check if this is a post or page, if it has a thumbnail, and if it’s a big one  
  11. if ( is_singular() &&  
  12. has_post_thumbnail( $post->ID ) &&  
  13. ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), ‘post-thumbnail’ ) ) &&  
  14. $image[1] >= HEADER_IMAGE_WIDTH ) :  
  15. // Houston, we have a new header image!  
  16. echo get_the_post_thumbnail( $post->ID, ‘post-thumbnail’ );  
  17. else : ?>  
  18. <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />  
  19. <?php endif; ?>  
  20. </div><!– #branding –> 

CSS:

  1. #header {  
  2. padding: 30px 0 0 0;  
  3. }  
  4. #site-title {  
  5. float: left;  
  6. font-size: 30px;  
  7. line-height: 36px;  
  8. margin: 0 0 18px 0;  
  9. width: 700px;  
  10. }  
  11. #site-title a {  
  12. color: #000;  
  13. font-weight: bold;  
  14. text-decoration: none;  
  15. }  
  16. #site-description {  
  17. clear: rightright;  
  18. float: rightright;  
  19. font-style: italic;  
  20. margin: 14px 0 18px 0;  
  21. width: 220px;  
  22. }  
  23. /* This is the custom header image */ 
  24. #branding img {  
  25. border-top: 4px solid #000;  
  26. border-bottom: 1px solid #000;  
  27. clear: both;  
  28. display: block;  
  29. }  

jscript:

  1. $(function() {  
  2. $(‘.related_thumbnail img’).animate({"opacity": .5 });  
  3. $(‘.related_thumbnail img’).hover(function() {  
  4. $(this).stop().animate({ "opacity": 1 });  
  5. }, function() {  
  6. $(this).stop().animate({ "opacity": .5 });  
  7. });  
  8. });  

 

工具下载:http://www.blogjava.net/Files/Unmi/CodeRender(Unmi).rar
原文地址:http://www.blogjava.net/Unmi/archive/2008/05/03/197903.html 
                 http://zmingcx.com/do-not-realize-wordpress-code-highlight-plugin.html

4 评论

  1. 我说怎么网上复制的代码很多都是全角符号。。原来是被自动替换了
    ————-
    置百丈玄冰而崩裂,掷须臾池水而漂摇。

发表评论

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