一、syntaxhighlighter介绍
syntaxhighlighter是一款用于web页面的代码着色工具,可以用来着色多种语言,可以是html,css,javascript,还可以是c,java等编程语言。它可以在网页中对各种程序源代码语法进行加亮显示。支持当前流行的各种编程语言:c#、css、c++、delphi、java、javascript、php、python、ruby、sql、visual basic、xml / html。
因为使用syntaxhighlighter的时候会使用到多种语言,一次必载入全部的语言配置文件下载的东西会比较多,所以syntaxhighlighter提供了一个shautoloader.js脚本。
二、使用教程
1、将下载的syntaxhighlighter文件解压缩,只保留里面的scripts文件夹和styles文件夹。
2、在网页的<head></head>之间引入css文件:
<link rel="stylesheet" type="text/css" href="/static/syntaxhighlighter/styles/shcoredefault.css"></link>
3、在网页的</body>标签前面引入js文件:
<script class="javascript" src="/static/syntaxhighlighter/scripts/shcore.js"></script> <script class="javascript" src="/static/syntaxhighlighter/scripts/shautoloader.js"></script> <script class="javascript"> function path() { var args = arguments,result = []; for (var i = 0; i < args.length; i++) result.push(args[i].replace('$', '/static/syntaxhighlighter/scripts/')); return result; } $(function() { syntaxhighlighter.autoloader.apply(null, path( 'php $shbrushphp.js', 'java $shbrushjava.js', 'objc obj-c $shbrushobjc.js', 'actionscript3 as3 $shbrushas3.js', 'bash shell $shbrushbash.js', 'coldfusion cf $shbrushcoldfusion.js', 'c# c-sharp csharp $shbrushcsharp.js', 'delphi pascal $shbrushdelphi.js', 'jfx javafx $shbrushjavafx.js', 'js jscript javascript $shbrushjscript.js', 'perl pl $shbrushperl.js', 'py python $shbrushpython.js', 'ruby rails ror rb $shbrushruby.js', 'vb vbnet $shbrushvb.js', 'xml xhtml xslt html $shbrushxml.js' )); syntaxhighlighter.defaults['gutter'] = true;//是否显示代码行数 syntaxhighlighter.defaults['toolbar'] = false; syntaxhighlighter.defaults['auto-links'] = false; syntaxhighlighter.defaults['quick-code'] = false; syntaxhighlighter.all(); }) </script>
三、使用方法
一:使用pre
<pre name="code" class="php"> //这里是你需要高亮的代码 </pre>
<div class="jb51code"><pre class="brush:py;"> //python代码 </pre></div>
二:使用textarea
<textarea name="code" class="c#" cols="60" rows="10"> //这里是你需要高亮的代码 </textarea>
四、高级技巧 按需加载
但文章详细页面经常不会有任何代码,所以这些js文件以及js代码需要判断是否执行:
//判断文章是否需要加载代码高亮插件 var iscode = model.html.tostring().contains( "<pre class=\"brush:" ); if (iscode){ //这里放置上面的js文件链接以及js代码。 }
如果没有使用框架可以使用下面的代码
if($('div.jb51code').length>0){ //这里放置上面的js文件链接以及js代码。 }
到此这篇关于syntaxhighlighter autoloader(自动加载)最优方式的文章就介绍到这了,更多相关syntaxhighlighter 自动加载内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论