偶爾在日志中加入一些代碼,感覺完全沒必要安裝代碼高亮插件,萬一某天不用插件了,頁面可能會很亂。其實大部分插件都是在代碼中強行加入一些標(biāo)簽,然后用CSS定義樣式,通過查看頁面源文件可以清楚地看到。
有一個叫“發(fā)芽網(wǎng)”的在線代碼高亮轉(zhuǎn)換網(wǎng)站:點此進(jìn)入。通過在線程序同樣是向代碼中加入不同的標(biāo)簽,然后定義樣式,如果感興趣可以到發(fā)芽網(wǎng)試試,但每次轉(zhuǎn)換都需打開網(wǎng)址操作略顯麻煩,不是本篇介紹的重點。
今天推薦的是一款本地轉(zhuǎn)換代碼高亮顯示的小工具:
CodeRenderUnmi
本程序是基于 dp.SyntaxHighlighter 寫的代碼語法著色的工具。支持的語言有:
java/xml/sql/jscript/css/cpp/c#/python/vb/perl/php/ruby/delphi。
可方便用于你的博客中粘貼代碼,只要自定相應(yīng)的樣式 (highlight.css
的內(nèi)容,.Text 支持自定義樣式或在模板里加上語法樣式),然后復(fù)制用這個工具生成的 HTML 代碼就能讓你的代碼著高亮顯示。
可以加入更多語種的支持,本程序就是在 dp.SyntaxHighlighter 的基礎(chǔ)上擴展了對 Perl 語言的支持,網(wǎng)上可以找到相應(yīng)語法的
JS 代碼和 CSS。語言擴展支持通過在 shCore.js 和 highlight.css 加入相應(yīng)代碼即可。
程序界面

操作很容易,Source Code 中貼上你要著色的代碼,然后選擇語種,點擊 Render 按鈕就會在 HTML Code 中生成相應(yīng)的 HTML 代碼,同時在 HTML Preview 中可以預(yù)覽到效果。
簡 要說明:Lang 下拉框可以選擇所支持的語法,Options 右邊的
Gutter、Controls、CollapseAll、FirstLine、Columns
是控制生成的額外的元素,逐一點試試就知道了。每個內(nèi)容顯示(輸入)區(qū)都提供了 Copy/Paste/Clear 快捷操作鏈接,還有一個總的
Clear 按鈕。
Copy生成 的HTML 代碼,在日志編輯窗口切換到HTML源代碼編輯模式,粘貼就可以了。
不過要想正確顯示代碼高亮還需在WordPress主題中加載樣式文件“highlight.css”(在下載的壓縮包中)
方法:
首先,把highlight.css上傳到所使用主題目錄中;
其次:打開header.php,查找:
- <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />
在后面添加:
- <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/highlight.css" />
當(dāng)然,你也可以復(fù)制highlight.css中的所有代碼到你主題style.css中,以上步驟就免了!
如認(rèn)為默認(rèn)的樣式不符合自己的要求,可以通過修改“highlight.css”中的樣式改變代碼高亮、邊框、背景等顏色,更個性化。
但需要注意的是Wordpress會自動把半角符號替換為全角,別人復(fù)制下來的函數(shù)代碼標(biāo)點是全角的,無法使用,切記!
解決辦法:
- 打開并編輯 wp-includes/formatting.php 文件,找到以下代碼:
-
- $curl = str_replace($static_characters, $static_replacements, $curl);
-
- $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
- 將$curl 開頭的兩句代碼注釋掉,如下:
-
-
-
-
注:使用一些瀏覽器復(fù)制代碼時會將行號一起復(fù)制下來,比如火狐等第三方瀏覽器,經(jīng)測試世界之窗瀏覽器不會將行號一同復(fù)制下來,其它瀏覽器可以自己試試。也可以參考這篇文章去掉行號:小技巧:幫你批量刪除代碼前的行號
具體效果在第2頁:
PHP:
- <div id="branding" role="banner">
- <?php $heading_tag = ( is_home() || is_front_page() ) ? 'h1' : 'div'; ?>
- <<?php echo $heading_tag; ?> id="site-title">
- <span>
- <a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
- </span>
- </<?php echo $heading_tag; ?>>
- <div id="site-description"><?php bloginfo( 'description' ); ?></div>
- <?php
-
- if ( is_singular() &&
- has_post_thumbnail( $post->ID ) &&
- ( $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
- $image[1] >= HEADER_IMAGE_WIDTH ) :
-
- echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
- else : ?>
- <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
- <?php endif; ?>
- </div><!-- #branding -->
CSS:
- #header {
- padding: 30px 0 0 0;
- }
- #site-title {
- float: left;
- font-size: 30px;
- line-height: 36px;
- margin: 0 0 18px 0;
- width: 700px;
- }
- #site-title a {
- color: #000;
- font-weight: bold;
- text-decoration: none;
- }
- #site-description {
- clear: rightright;
- float: rightright;
- font-style: italic;
- margin: 14px 0 18px 0;
- width: 220px;
- }
- #branding img {
- border-top: 4px solid #000;
- border-bottom: 1px solid #000;
- clear: both;
- display: block;
- }
jscript:
- $(function() {
- $('.related_thumbnail img').animate({"opacity": .5 });
- $('.related_thumbnail img').hover(function() {
- $(this).stop().animate({ "opacity": 1 });
- }, function() {
- $(this).stop().animate({ "opacity": .5 });
- });
- });
工具下載:http://www./Files/Unmi/CodeRender(Unmi).rar
原文地址:http://www./Unmi/archive/2008/05/03/197903.html
|