日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

WordPress代碼高亮插件SyntaxHighlighter終極使

系統(tǒng) 2935 0

子曰: 工欲善其事,必先利其器。作為碼農(nóng)一枚,再加上站長(zhǎng)這個(gè)已經(jīng)不再光鮮的稱(chēng)呼,豈能沒(méi)有一款經(jīng)濟(jì)實(shí)用、操作簡(jiǎn)單、而且功能必須強(qiáng)大、樣式也必須好看的Wordpress代碼高亮插件?!作為一個(gè)視代碼如生命的碼農(nóng),把代碼整的漂漂亮亮是一件多么神圣和偉大的事情啊!

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

插件名稱(chēng):SyntaxHighlighter Evolved

插件作者:Viper007Bond, automattic

作者主頁(yè):http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

插件類(lèi)型:代碼高亮

中文支持:支持

安裝環(huán)境:WordPress2.7或以上版本,經(jīng)過(guò)我自己的測(cè)試,在3.3和3.4上都可以正常運(yùn)行

下載地址:點(diǎn)擊這里下載最新版

  SyntaxHighlighter Evolved基于開(kāi)源的JS核心庫(kù):SyntaxHighlighter JavaScript package by Alex Gorbatchev二次開(kāi)發(fā)擴(kuò)展的。安裝后只需簡(jiǎn)單設(shè)置一下,不用修改任何代碼即可達(dá)到很好的效果。
功能特效

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

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

特效演示

  只要做Web應(yīng)用的,無(wú)論是JSP,還是PHP,甚至ASP.NET,都會(huì)用JavaScript代碼。所以,就是用JavaScript代碼來(lái)演示SyntaxHighlighter的功能吧。要實(shí)現(xiàn)的功能是計(jì)算第N個(gè)斐波納契數(shù)列(Fibonacci Sequence)數(shù)列的值。同時(shí),我們要求文件名顯示為:FibonacciSequence.js;代碼的第二行高亮顯示。則實(shí)例如下:

          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);

    }


    

?
  怎么樣,你是不是已經(jīng)被SyntaxHighlighter強(qiáng)大功能震撼了?也許你已經(jīng)好奇,這是如何實(shí)現(xiàn)的?我們接下來(lái)就介紹SyntaxHighlighter的使用方法。
安裝方法

  只需要在后臺(tái)插件里搜索“SyntaxHighlighter Evolved”之后點(diǎn)擊安裝,啟用即可。
使用方法

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

??? [@java]這里寫(xiě)你的代碼[/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"]這里寫(xiě)你的代碼[/css]

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

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

??? 推薦使用這種方式。這種使用方式,見(jiàn)"最佳實(shí)踐"

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

簡(jiǎn)碼 默認(rèn)值 含義說(shuō)明 V2支持 V3支持
lang 無(wú) 說(shuō)明代碼塊是哪種語(yǔ)言? 支持 支持
autolinks true Toggle automatic URL linking. 是否自動(dòng)將網(wǎng)址轉(zhuǎn)換為鏈接。 默認(rèn)轉(zhuǎn)換。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。? 示例:點(diǎn)擊查看 支持 支持
classname 無(wú) Add an additional CSS class to the code box. 允許你添加一個(gè)或多個(gè)自定義的樣式。 默認(rèn)沒(méi)有。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。 示例:點(diǎn)擊查看 支持 支持
collapse ? Toggle collapsing the code box by default, requiring a click to expand it. Good for large code posts. 是否默認(rèn)折疊代碼段。如果折疊,這需要一個(gè)“點(diǎn)擊”操作,才能展開(kāi)。非常適合有大段代碼的文章。默認(rèn)不折疊。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。? 示例:點(diǎn)擊查看 支持 支持
firstline 1 An interger specifying what number the first line should be (for the line numbering). 設(shè)置起始行的行號(hào)。 示例:點(diǎn)擊查看 支持 支持
gutter ? Toggle the left-side line numbering. 是否顯示行號(hào)。默認(rèn)顯示。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。? 示例:點(diǎn)擊查看 支持 支持
highlight 無(wú) A comma-sperated list of line numbers to highlight. You can also specify a range. Example:?2,5-10,12 需要高亮顯示并使用逗號(hào)分隔的行號(hào)。同時(shí),也支持區(qū)間(開(kāi)始行號(hào)-結(jié)束行號(hào))。例如:2,5-10,12。? 示例:點(diǎn)擊查看 支持 支持
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與另一種語(yǔ)言混合的情況下。如在HTML代碼中含有部分PHP代碼。注意,這僅僅適用于特定的語(yǔ)言。 示例:點(diǎn)擊查看 支持 支持
light false ?Toggle light mode which disables the gutter and toolbar all at once. 是否顯示高亮模式。默認(rèn)是關(guān)閉。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。 ? ?
padlinenumbers off Controls line number padding. 設(shè)置行號(hào)的格式化,前面是否補(bǔ)零。默認(rèn)是關(guān)閉。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。 支持 支持
title 無(wú) Sets some text to show up before the code. 設(shè)置文本的標(biāo)題。默認(rèn)沒(méi)有。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。 不支持 支持
toolbar false ?Toggle the toolbar (buttons in v2, the about question mark in v3) 默認(rèn)不顯示。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。? 示例:點(diǎn)擊查看 支持 不支持
wraplines false Toggle line wrapping. 是否開(kāi)啟自動(dòng)換行。可以后臺(tái)管理頁(yè)面修改默認(rèn)值。 支持 不支持
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.制表符的長(zhǎng)度。 支持 不支持


顏色主題

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

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

語(yǔ)言別名

  從事IT行業(yè)的朋友也許都知道,由于歷史等原因,一個(gè)語(yǔ)言可能有好幾個(gè)名字。比如JavaScript,微軟山寨了個(gè)JScript;后來(lái)經(jīng)過(guò)ECMA標(biāo)準(zhǔn)化之后,名字又稱(chēng)了ECMAScript;我們大家平時(shí)還簡(jiǎn)稱(chēng)成JS。這就給我們?cè)谑褂肧yntaxHighlighter的語(yǔ)言代號(hào)時(shí),造成了一定的困難:不知道到底該用哪個(gè)名字才是“正確”的。

  其實(shí),這點(diǎn)SyntaxHighlighter也考慮到了。她通過(guò)“語(yǔ)言別名”的方式很好的解決了這個(gè)問(wèn)題。
表-2-SyntaxHighlighter中“語(yǔ)言別名”和“語(yǔ)言代碼”對(duì)應(yīng)表

語(yǔ)言別名 語(yǔ)言代碼 說(shuō)明
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 看來(lái)Delphi和Pascal確實(shí)有一腿啊!
pas delphi
pascal delphi
diff diff ?
patch diff ?
erl erlang ?
erlang erlang ?
fsharp fsharp ?
groovy groovy ?
java java ?
jfx javafx ?
javafx javafx
js jscript 從這里可以看出,針對(duì)JavaScript的代碼,寫(xiě)js行,寫(xiě)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 針對(duì)Ruby的。
rb ruby
ror ruby
ruby ruby
scala scala ?
sql sql ?
vb vb ?
vbnet vb
xml xml 針對(duì)XML、HTML以及XHTML等,其實(shí)都是按照XML來(lái)處理的
xhtml xml
xslt xml
html xml
xhtml xml



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

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

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

  有時(shí),我們并不需要一定有高亮強(qiáng)調(diào)的行,這是highlight就可以省略掉。另外,如果你需要自定義樣式,可以添加class屬性。不過(guò),我個(gè)人覺(jué)得必要性不大。
特效擴(kuò)展

??? 設(shè)置背景樣式

??? 大家在 "生病的JavaScript代碼" 也許會(huì)發(fā)現(xiàn)高亮部分的背景顏色比較深,也許有一些人看著不舒服(我個(gè)人就覺(jué)得顏色有點(diǎn)深)。也許就有人想修改高亮行的背景色。這是,就可以通過(guò)修改插件自帶的CSS文件,來(lái)實(shí)現(xiàn)自定義樣式的功能。

??? 在線操作方式是:登錄Wordpress后臺(tái)管理頁(yè)面,插件-編輯-選擇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;

        }


      
    


??? 重起見(jiàn),D瓜哥不建議做這個(gè)修改。如果以后修改“顏色主題”可能會(huì)帶來(lái)一點(diǎn)的不良影響。
??? 實(shí)現(xiàn)圓角和陰影

??? SyntaxHighlighter的“容器”樣式是一個(gè)方方正正。也許不如圓角、立體陰影效果漂亮。這個(gè)效果也很容易實(shí)現(xiàn)。只需要修改syntaxhighlighter的樣式即可;不過(guò),這個(gè)修改是在主題的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終極使用詳解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 昌平区| 海城市| 子洲县| 孙吴县| 富平县| 嘉善县| 汝南县| 商水县| 塔河县| 平陆县| 昔阳县| 峨山| 建阳市| 大兴区| 红原县| 安义县| 铜鼓县| 塘沽区| 连州市| 柳林县| 临高县| 封开县| 海淀区| 高要市| 惠水县| 迁西县| 邛崃市| 偏关县| 芷江| 泊头市| 乌拉特前旗| 尖扎县| 远安县| 玉溪市| 岗巴县| 惠来县| 句容市| 柳林县| 丹寨县| 华安县| 荃湾区|