2019年1月29日 星期二

測試 SyntaxHighlighter

測試 SyntaxHighlighter
http://alexgorbatchev.com/SyntaxHighlighter/


class DemoApp {
    public static void main(String[] args) {
        Demo d = new Demo();
        d.printMessage();
    }
}
 
class Demo {
    String message = "^_^ 哈囉";
     
    public void printMessage() {
        System.out.println(message);
    }
}

相關修正參考
http://blog.qqboxy.com/2010/05/syntaxhighlighter.html
CSDN來源
HTML HEAD
<link href='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCoreDefault.min.css' rel='stylesheet' type='text/css'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js' type='text/javascript'/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shAutoloader.min.js' type='text/javascript'/>

小工具 javascript
<style>
.highlightsetting {
    overflow-y: hidden !important; /*修正右側滾動條之BUG*/
    border: 1px solid #2187BB; /*加入程式碼邊框*/
}
.syntaxhighlighter table td.gutter .line, .syntaxhighlighter table td.code .line {
    padding: 0 13px !important; /*修正行號距離*/
}
</style>
<script type='text/javascript'>
function path() {
    var args=arguments, result=[];
    for(var i=0;i<args.length;i++)
        result.push(args[i].replace('@', 'https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/'));
    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.defaults['toolbar']=false; //隱藏問號按鈕
SyntaxHighlighter.defaults['class-name']='highlightsetting'; //自定義CSS設置
SyntaxHighlighter.defaults['auto-links']=false; //超連結設定顯示為文字
SyntaxHighlighter.config.space=' '; //消除Chrome複製時的BUG空白
SyntaxHighlighter.config.stripBrs=false; //略過Blogger之br標籤
SyntaxHighlighter.all();
</script>