偶爾在日志中加入一些代碼,感覺完全沒必要安裝代碼高亮插件,萬一某天不用插件了,頁面可能會很亂。其實大部分插件都是在代碼中強行加入一些標簽,然后用CSS定義樣式,通過查看頁面源文件可以清楚地看到。
有一個叫“發芽網”的在線代碼高亮轉換網站:點此進入。通過在線程序同樣是向代碼中加入不同的標簽,然后定義樣式,如果感興趣可以到發芽網試試,但每次轉換都需打開網址操作略顯麻煩,不是本篇介紹的重點。
今天推薦的是一款本地轉換代碼高亮顯示的小工具:
CodeRenderUnmi
本程序是基于 dp.SyntaxHighlighter 寫的代碼語法著色的工具。支持的語言有:
java/xml/sql/jscript/css/cpp/c#/python/vb/perl/php/ruby/delphi。
可方便用于你的博客中粘貼代碼,只要自定相應的樣式 (highlight.css的內容,.Text 支持自定義樣式或在模板里加上語法樣式),然后復制用這個工具生成的 HTML 代碼就能讓你的代碼著高亮顯示??梢约尤敫嗾Z種的支持,本程序就是在 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,查找:
- <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />
在后面添加:
- <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/highlight.css" />
當然,你也可以復制highlight.css中的所有代碼到你主題style.css中,以上步驟就免了!
如認為默認的樣式不符合自己的要求,可以通過修改“highlight.css”中的樣式改變代碼高亮、邊框、背景等顏色,更個性化。
但需要注意的是Wordpress會自動把半角符號替換為全角,別人復制下來的函數代碼標點是全角的,無法使用,切記!
解決辦法:
- 打開并編輯 wp-includes/formatting.php 文件,找到以下代碼:
-
- $curl = str_replace($static_characters, $static_replacements, $curl);
-
- $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
- 將$curl 開頭的兩句代碼注釋掉,如下:
-
-
-
-
注:使用一些瀏覽器復制代碼時會將行號一起復制下來,比如火狐等第三方瀏覽器,經測試世界之窗瀏覽器不會將行號一同復制下來,其它瀏覽器可以自己試試。也可以參考這篇文章去掉行號:小技巧:幫你批量刪除代碼前的行號
具體效果在第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.blogjava.net/Files/Unmi/CodeRender(Unmi).rar
原文地址:http://www.blogjava.net/Unmi/archive/2008/05/03/197903.html
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請
點擊舉報。