亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

WordPress代碼高亮插件SyntaxHighlighter終極使

系統 2499 0

子曰: 工欲善其事,必先利其器。作為碼農一枚,再加上站長這個已經不再光鮮的稱呼,豈能沒有一款經濟實用、操作簡單、而且功能必須強大、樣式也必須好看的Wordpress代碼高亮插件?!作為一個視代碼如生命的碼農,把代碼整的漂漂亮亮是一件多么神圣和偉大的事情啊!

  今天就給大家推薦一款這樣的代碼高亮插件:SyntaxHighlighter Evolved。相信我, 功這款插件能強足夠大、并且簡單易用,絕對值得推薦。本站就是用的這款插件,大家可以看看“生病的JavaScript代碼”,這就是最好的例子。
插件介紹

插件名稱:SyntaxHighlighter Evolved

插件作者:Viper007Bond, automattic

作者主頁:http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

插件類型:代碼高亮

中文支持:支持

安裝環境:WordPress2.7或以上版本,經過我自己的測試,在3.3和3.4上都可以正常運行

下載地址:點擊這里下載最新版

  SyntaxHighlighter Evolved基于開源的JS核心庫:SyntaxHighlighter JavaScript package by Alex Gorbatchev二次開發擴展的。安裝后只需簡單設置一下,不用修改任何代碼即可達到很好的效果。
功能特效

  說起SyntaxHighlighter Evolved的特效,忍不住要“炫耀”一下。不說不足以讓你感受到SyntaxHighlighter Evolved的強悍功能。SyntaxHighlighter Evolved的功能特效如下:

??? 代碼高亮
??? 支持Eclips、Emacs等多種樣式,可搭配不同風格的主題
??? 特色——顯示工具條。右上角顯示工具條,可以”查看源代碼”、”復制源代碼”、”打印源代碼”。(只有第2版支持)
??? 顯示行號
??? 長代碼自動換行(只有第2版支持)
??? 可以點擊代碼中的超文本鏈接
??? 可以收縮代碼框
??? 高亮顯示模式—某一行高亮
??? 設置開始行號
??? 自定義樣式

特效演示

  只要做Web應用的,無論是JSP,還是PHP,甚至ASP.NET,都會用JavaScript代碼。所以,就是用JavaScript代碼來演示SyntaxHighlighter的功能吧。要實現的功能是計算第N個斐波納契數列(Fibonacci Sequence)數列的值。同時,我們要求文件名顯示為:FibonacciSequence.js;代碼的第二行高亮顯示。則實例如下:

          function fib(n) {

        return n<2 ? n : fib(n-1) + fib(n-2);

    }    function fib(n) {

        return n<2 ? n : fib(n-1) + fib(n-2);

    }


    

?
  怎么樣,你是不是已經被SyntaxHighlighter強大功能震撼了?也許你已經好奇,這是如何實現的?我們接下來就介紹SyntaxHighlighter的使用方法。
安裝方法

  只需要在后臺插件里搜索“SyntaxHighlighter Evolved”之后點擊安裝,啟用即可。
使用方法

  使用方法很簡單。在發布文章時,在“HTML”編輯模式下(注意:不是CKEditor等富文本編輯模式;防止讓這些富文本編輯器把代碼轉義了。),使用如下代碼,把需要展示的代碼包含起來即可:(注意:把前面的@符號去掉。)

??? [@java]這里寫你的代碼[/java]

??? [@css autolinks="false" classname="myclass" collapse="false" firstline="1" gutter="true" highlight="1-3,6,9" htmlscript="false" light="false" padlinenumbers="false" smarttabs="true" tabsize="4" toolbar="true" title="example-filename.php"]這里寫你的代碼[/css]

??? [@code lang="js"]這里寫你的代碼[/code]

??? [@sourcecode language="plain"]這里寫你的代碼[/sourcecode]

??? 推薦使用這種方式。這種使用方式,見"最佳實踐"

  其實,在網上,搜“SyntaxHighlighter 使用方法”就會出現一堆結果,里面大多時對于這些使用方法的羅列。很少去講解這些配置項的意思和說明。下面,我將針對這些配置進行詳細說明。同時,針對這些配置的使用,我總結了SyntaxHighlighter使用方法的最佳實踐。如果急于知道結果,可以直接查看“最佳實踐”。
配置詳解
代碼樣式配置
表-1-SyntaxHighlighter配置參數表

簡碼 默認值 含義說明 V2支持 V3支持
lang 說明代碼塊是哪種語言? 支持 支持
autolinks true Toggle automatic URL linking. 是否自動將網址轉換為鏈接。 默認轉換。可以后臺管理頁面修改默認值。? 示例:點擊查看 支持 支持
classname Add an additional CSS class to the code box. 允許你添加一個或多個自定義的樣式。 默認沒有。可以后臺管理頁面修改默認值。 示例:點擊查看 支持 支持
collapse ? Toggle collapsing the code box by default, requiring a click to expand it. Good for large code posts. 是否默認折疊代碼段。如果折疊,這需要一個“點擊”操作,才能展開。非常適合有大段代碼的文章。默認不折疊。可以后臺管理頁面修改默認值。? 示例:點擊查看 支持 支持
firstline 1 An interger specifying what number the first line should be (for the line numbering). 設置起始行的行號。 示例:點擊查看 支持 支持
gutter ? Toggle the left-side line numbering. 是否顯示行號。默認顯示。可以后臺管理頁面修改默認值。? 示例:點擊查看 支持 支持
highlight A comma-sperated list of line numbers to highlight. You can also specify a range. Example:?2,5-10,12 需要高亮顯示并使用逗號分隔的行號。同時,也支持區間(開始行號-結束行號)。例如:2,5-10,12。? 示例:點擊查看 支持 支持
htmlscript ? Toggle highlighting any extra HTML/XML. Good for when you're mixing HTML/XML with another language, such as having PHP inside an HTML web page. The above preview has it enabled for example. This only works with certain languages. 是否高亮顯示功能任何額外的HTML / XML。特別適合混合HTML/XML與另一種語言混合的情況下。如在HTML代碼中含有部分PHP代碼。注意,這僅僅適用于特定的語言。 示例:點擊查看 支持 支持
light false ?Toggle light mode which disables the gutter and toolbar all at once. 是否顯示高亮模式。默認是關閉。可以后臺管理頁面修改默認值。 ? ?
padlinenumbers off Controls line number padding. 設置行號的格式化,前面是否補零。默認是關閉。可以后臺管理頁面修改默認值。 支持 支持
title Sets some text to show up before the code. 設置文本的標題。默認沒有。可以后臺管理頁面修改默認值。 不支持 支持
toolbar false ?Toggle the toolbar (buttons in v2, the about question mark in v3) 默認不顯示。可以后臺管理頁面修改默認值。? 示例:點擊查看 支持 不支持
wraplines false Toggle line wrapping. 是否開啟自動換行。可以后臺管理頁面修改默認值。 支持 不支持
smarttabs true Allows you to turn smart tabs feature on and off.? Click here ?for a demo.智能制表符 支持 不支持
tabsize 4 Allows you to adjust tab size.? Click here ?for a demo.制表符的長度。 支持 不支持


顏色主題

  目前IT行業中,常用的語言有幾十種;使用的開發環境也多種多樣,比如開發Java的也許用Eclipse的比較多;但是在Linux下做C/C++開發的也許用Emacs等。見過這些開發環境的人都知道,這些開發環境的高亮模式、顏色等都是不一樣的。習慣了Eclipse的人很難適應Emacs;反之亦然。SyntaxHighlighter考慮的很周全,她在內部直接繼承了大概其中這樣的顏色主題來供大家選擇。大家可以在后臺的管理頁面輕松的選擇自己喜歡的“顏色主題”來進行顯示。“顏色主題”列表如下:(排名部分前后。呵呵)

??? Default
??? Django
??? Eclipse
??? Emacs
??? Fade to Grey
??? Midnight
??? RDark
??? None

語言別名

  從事IT行業的朋友也許都知道,由于歷史等原因,一個語言可能有好幾個名字。比如JavaScript,微軟山寨了個JScript;后來經過ECMA標準化之后,名字又稱了ECMAScript;我們大家平時還簡稱成JS。這就給我們在使用SyntaxHighlighter的語言代號時,造成了一定的困難:不知道到底該用哪個名字才是“正確”的。

  其實,這點SyntaxHighlighter也考慮到了。她通過“語言別名”的方式很好的解決了這個問題。
表-2-SyntaxHighlighter中“語言別名”和“語言代碼”對應表

語言別名 語言代碼 說明
as3 as3 不知道是否支持AS2?
actionscript3 as3
bash bash 竟然還支持Shell.
shell bash
coldfusion coldfusion ?
cf coldfusion
clojure clojure ?
clj clojure ?
cpp cpp ?
c cpp ?
c-sharp csharp ?
csharp csharp
css css ?
delphi delphi 看來Delphi和Pascal確實有一腿啊!
pas delphi
pascal delphi
diff diff ?
patch diff ?
erl erlang ?
erlang erlang ?
fsharp fsharp ?
groovy groovy ?
java java ?
jfx javafx ?
javafx javafx
js jscript 從這里可以看出,針對JavaScript的代碼,寫js行,寫javascript行,甚至是微軟的jscript都行。
jscript jscript
javascript jscript
latex latex Not used as a shortcode
tex latex ?
matlab matlabkey ?
objc objc ?
obj-c objc
perl perl ?
pl perl
php php ?
plain plain ?
text plain ?
ps powershell ?
powershell powershell
py python ?
python python
r r Not used as a shortcode
splus r ?
rails ruby 針對Ruby的。
rb ruby
ror ruby
ruby ruby
scala scala ?
sql sql ?
vb vb ?
vbnet vb
xml xml 針對XML、HTML以及XHTML等,其實都是按照XML來處理的
xhtml xml
xslt xml
html xml
xhtml xml



  從這個表中,我們也可以看出SyntaxHighlighter支持的編程語言多達二十五種語言:AppleScript、 ActionScript、 Bash、 ColdFusion、 C /C++、 C#、 CSS、 Delphi、 Diff(不知道這是不是一種編程語言)、 Erlang、 Groovy、 Java、 JavaFX、 JavaScript、 Perl、 PHP、 PowerShell、 Python、 Ruby、 Sass、 Scala、 SQL、 VB、 XML。
最佳實踐

  經過配置的講解,我們可以明白,SyntaxHighlighter已經遵循了軟件工程中的最佳實踐“約定大于配置”。其實,我們并不需要過多地去設定SyntaxHighlighter的配置,只需要設定一些“實在沒辦法約定”的配置項即可。比如:title、highlight等。另外,經過我自己的實際測試,我還發現了第五種使用方法,其實,我們可以在[代碼名稱]這個標簽中,添加剛剛講到的配置配置項。當然,lang就沒必要了。因為這里已經通過“標簽名”指定過了。綜上所述,SyntaxHighlighter使用方法的最佳實踐如下:(下面以Java代碼為例)

  [@java title="自定義的文件名" highlight="高亮的行"] 這里寫你的代碼 [/java]

  有時,我們并不需要一定有高亮強調的行,這是highlight就可以省略掉。另外,如果你需要自定義樣式,可以添加class屬性。不過,我個人覺得必要性不大。
特效擴展

??? 設置背景樣式

??? 大家在 "生病的JavaScript代碼" 也許會發現高亮部分的背景顏色比較深,也許有一些人看著不舒服(我個人就覺得顏色有點深)。也許就有人想修改高亮行的背景色。這是,就可以通過修改插件自帶的CSS文件,來實現自定義樣式的功能。

??? 在線操作方式是:登錄Wordpress后臺管理頁面,插件-編輯-選擇SyntaxHighlighter-選擇syntaxhighlighter/syntaxhighlighter2/styles/shThemeDefault.css-找到

      
                .syntaxhighlighter .line.highlighted.alt1,

        .syntaxhighlighter .line.highlighted.alt2

        {

            background-color: #e0e0e0 !important;

        }



    將其修改為:

        .syntaxhighlighter .line.highlighted.alt1,

        .syntaxhighlighter .line.highlighted.alt2

        {

            background-color: #6CE26C !important;

        }


      
    


??? 重起見,D瓜哥不建議做這個修改。如果以后修改“顏色主題”可能會帶來一點的不良影響。
??? 實現圓角和陰影

??? SyntaxHighlighter的“容器”樣式是一個方方正正。也許不如圓角、立體陰影效果漂亮。這個效果也很容易實現。只需要修改syntaxhighlighter的樣式即可;不過,這個修改是在主題的style.css文件做的。修改方式如下:將以下代碼添加到主題的style.css文件里面:

      
                .syntaxhighlighter{

             padding: 10px 0 !important;

             box-shadow: 1px 1px 3px #ccc;

            -webkit-box-shadow: 1px 1px 3px #ccc;

            -moz-box-shadow: 1px 1px 3px #ccc;

            border-radius: 5px;

           -webkit-border-radius: 5px;

            -moz-border-radius: 5px;

         }


      
    

WordPress代碼高亮插件SyntaxHighlighter終極使用詳解


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 夜夜cao| 欧美乱插 | 男人的天堂一区二区视频在线观看 | 日韩精品一区二区三区在线观看 | 五月久久亚洲七七综合中文网 | 男人天堂网在线视频 | 亚洲欧美综合国产不卡 | 国产99在线a视频 | 91精品国产综合久久欧美 | 日本大胆一区免费视频 | 九九久久免费视频 | 欧美国产亚洲一区二区三区 | 中文字幕2区| 精品国产一区二区三区四 | 日韩欧美视频一区 | 国产一级久久久久久毛片 | 免费一级毛片不卡在线播放 | 香蕉国产| 第四色激情网 | 欧美一区二区三区视视频 | 奇米777视频二区中文字幕 | 欧美日韩中字 | 91精品久久国产青草 | 天天操夜夜操 | 九九国产视频 | 日韩国产欧美成人一区二区影院 | 国内精品久久久久久久 | 亚洲国产精品综合久久网络 | 综合另类| 精品免费久久久久国产一区 | 无毒不卡在线观看 | 天天操天天干天搞天天射 | 看一级特黄a大片日本片黑人 | 最新国产精品视频 | 国产综合视频 | 国产精品伦一区二区三级视频 | 国产视频综合 | 国外欧美一区另类中文字幕 | 国产做人爱三级视频在线 | 色九九| 91视频国产高清 |