SyntaxHighlighter是一个使用JavaScript编写的支持多种编程语言语法高亮的JS插件,很多大型网站或博客都在使用。
SyntaxHighlighter插件默认是每种编程语言加载对应JS语言库,那么如何实现SyntaxHighlighter自动加载不同语言的JS语言库
SyntaxHighlighter官方已经给出了解决方案 shAutoloader.js 自动加载库;
在HTML文件中引用SyntaxHighlighter核心运行库
Hello SyntaxHighlightershCore.js SyntaxHighlighter插件的核心运行库
shAutoloader.js 自动加载运行库要实现自动加载必须引入此文件
shCore.css 核心CSS样式
shCoreDefault.css 主题CSS样式
以上四个文件必须引用到文档中
需要高亮显示的代码请入在
里代码如下:
Hello SyntaxHighlighterfunction helloSyntaxHighlighter()
{
return "hi!";
}
中的 class="brush: js;"是根据显示代码语言而定
下面是实现SyntaxHighlighter自动加载的主要代码
function path(){
var args = arguments,
result = [];
for(var i = 0; i < args.length; i++)
result.push(args[i].replace('@', '/pub/sh/current/scripts/'));//请替换成自己项目中SyntaxHighlighter的具体路径
return result
};
SyntaxHighlighter.autoloader.apply(null, path(
'applescript@shBrushAppleScript.js',
'actionscript3 as3@shBrushAS3.js',
'bash shell@shBrushBash.js',
'coldfusion cf@shBrushColdFusion.js',
'cpp c@shBrushCpp.js',
'c# c-sharp csharp@shBrushCSharp.js',
'css@shBrushCss.js',
'delphi pascal@shBrushDelphi.js',
'diff patch pas@shBrushDiff.js',
'erl erlang@shBrushErlang.js',
'groovy@shBrushGroovy.js',
'java@shBrushJava.js',
'jfx javafx@shBrushJavaFX.js',
'js jscript javascript@shBrushJScript.js',
'perl pl@shBrushPerl.js',
'php@shBrushPhp.js',
'text plain@shBrushPlain.js',
'py python@shBrushPython.js',
'ruby rails ror rb@shBrushRuby.js',
'sass scss@shBrushSass.js',
'scala@shBrushScala.js',
'sql@shBrushSql.js',
'vb vbnet@shBrushVb.js',
'xml xhtml xslt html@shBrushXml.js'
));
SyntaxHighlighter.all();
以上就是实现SyntaxHighlighter自动识别语言并自动载语言库的代码,需要的同学可以测试下;