K4750.NET

SyntaxHighlighter 3.0.83 と Dynamic Brush Loading

SyntaxHighlighter 3.0からの機能である「Dynamic Brush Loading」を使用して画面表示を高速化(ムダなjsの読み込みを省く)する。


1.「Dynamic Brush Loading」使用前

使いそうな言語のjsファイルをずらりと記述している。$(document).ready(・・・);の書き方はjQueryの文法。

<script type="text/javascript" src="/sh/scripts/shCore.js"/>
<script type="text/javascript" src="/sh/scripts/shBrushCss.js"/>
<script type="text/javascript" src="/sh/scripts/shBrushJava.js"/>
<script type="text/javascript" src="/sh/scripts/shBrushPhp.js"/>
<script type="text/javascript" src="/sh/scripts/shBrushXml.js"/>
<script>
$(document).ready(function() {
  SyntaxHighlighter.all();
});
</script>

2.「Dynamic Brush Loading」使用後

各種言語用のjsファイルの代わりに「shAutoloader.js」をロートする。また、SyntaxHighlighter.all();を実行する前に「shAutoloader.js」用の設定として言語名とBrushファイルとの関連付けを下記のように行う。

<script type="text/javascript" src="/sh/scripts/shCore.js"/>
<script type="text/javascript" src="/sh/scripts/shAutoloader.js"/>
<script>
$(document).ready(function() {
  SyntaxHighlighter.autoloader(
    'css /sh/scripts/shBrushCss.js',
    'java /sh/scripts/shBrushJava.js',
    'php /sh/scripts/shBrushPhp.js',
    'xml /sh/scripts/shBrushXml.js'
  );
  SyntaxHighlighter.all();
});
</script>

3.バージョン3.0.9と4

3.0.83がリリースされたのが2010/7/2なので、4年以上もバージョンアップしてないのか、、と思ったら、GitHubにてstableバージョンの3.0.9と開発バージョンの4が公開されているのに気付いた。が、何が変わっているのか全く分からん。。