ブログとかでソースコード乗っけるときに文字に色つけて表示しているのあるじゃん。なんかやってみたくなって、設置してみようと思ったわけです。
ついでに、青空文庫の注記をハイライトするのはなさそうだったので作ってみた。
前に書いた青空文庫のシンタックスハイライトを利用するだけです。
SyntaxHighlighterのBrushファイルを作りかた
下のリンクのとおりにBrushファイルを作っただけである。brushとはハイライトする文字の定義ですな。元からあるbrushファイルを見てちょっと改造するだけでいけそうな気がした。
linuxBean14.04(23)Makefile用のSyntaxHighlighterのBrushファイルを作る
あとは作ったのをはてなブログにどのように設置するか。外部サイトから読み込むことができるようなサーバーがあればそこにファイルを置いてリンクを貼ればいいのだけれど。持ってなかったら、はてブのjsのところに追加するしかなさ気である。
とりあえず,青空brush
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by David Simmons-Duffin and Marty Kube
this.regexList = [
{ regex: new RegExp('《.+?》', 'gm'), css: 'comments' },
{ regex: new RegExp('|.+?》', 'gm'), css: 'comments' },
{ regex: new RegExp('※[#.+?]', 'gm'), css: 'color2' }, // shebang
{ regex: new RegExp('-------------------------------------------------------', 'gm'), css: 'variable' },
{ regex: new RegExp('[#ここから大見出し]', 'gm'), css: 'constants' },
{ regex: new RegExp('[#ここで大見出し終わり]', 'gm'), css: 'constants' },
{ regex: new RegExp('[#(大|同行大|窓大)見出し.+?#(大|同行大|窓大)見出し終わり', 'gm'), css: 'constants' },
{ regex: new RegExp('[#ここから中見出し]', 'gm'), css: 'variable' },
{ regex: new RegExp('[#ここで中見出し終わり]', 'gm'), css: 'variable' },
{ regex: new RegExp('[#(中|同行中|窓中)見出し.+?#(中|同行中|窓中)見出し終わり]', 'gm'), css: 'variable' },
{ regex: new RegExp('[#ここから小見出し]', 'gm'), css: 'value' },
{ regex: new RegExp('[#ここで小見出し終わり]', 'gm'), css: 'value' },
{ regex: new RegExp('[#(小|同行小|窓小)見出し.+?#(小|同行小|窓小)見出し終わり]', 'gm'), css: 'value' },
{ regex: new RegExp('[#.+?]', 'gm'), css: 'color2' },
];
this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['Aozora', 'AozoraBunko', 'az'];
SyntaxHighlighter.brushes.Aozora = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
表示のテスト