不用插件實現WordPress代碼高亮顯示

          Posted on 2012-08-20 00:30 韓麥斯 閱讀(151) 評論(2)  編輯  收藏 所屬分類: wordpress


          偶爾在日志中加入一些代碼,感覺完全沒必要安裝代碼高亮插件,萬一某天不用插件了,頁面可能會很亂。其實大部分插件都是在代碼中強行加入一些標簽,然后用CSS定義樣式,通過查看頁面源文件可以清楚地看到。

          有一個叫“發芽網”的在線代碼高亮轉換網站。通過在線程序同樣是向代碼中加入不同的標簽,然后定義樣式,如果感興趣可以到發芽網試試,但每次轉換都需打開網址操作略顯麻煩,不是本篇介紹的重點。

          今天推薦的是一款本地轉換代碼高亮顯示的小工具:CodeRender,本程序是基于 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,查找:

          <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會自動把半角符號替換為全角,別人復制下來的函數代碼標點是全角的,無法使用,切記!

          解決辦法:

          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:

          CSS:

           

           

          Feedback

          # re: 不用插件實現WordPress代碼高亮顯示  回復  更多評論   

          2012-08-20 00:37 by yrwr
          good!

          # re: 不用插件實現WordPress代碼高亮顯示  回復  更多評論   

          2012-08-20 00:38 by 韓麥斯
          @yrwr
          !!

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 进贤县| 蒲城县| 丹阳市| 通城县| 鹤壁市| 通化市| 建昌县| 钦州市| 沧源| 江门市| 水城县| 巴林右旗| 平昌县| 武山县| 肃北| 文水县| 桦甸市| 紫云| 阿瓦提县| 临潭县| 泸水县| 宁阳县| 庆安县| 嵩明县| 望江县| 大化| 元谋县| 上高县| 察隅县| 兴化市| 黔江区| 枣强县| 龙门县| 神木县| 鄂托克旗| 桐庐县| 伊川县| 廉江市| 河源市| 郴州市| 常德市|