KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

SyntaxHighlighterの青空文庫brushを作ってみた

 ブログとかでソースコード乗っけるときに文字に色つけて表示しているのあるじゃん。なんかやってみたくなって、設置してみようと思ったわけです。

 ついでに、青空文庫の注記をハイライトするのはなさそうだったので作ってみた。

  前に書いた青空文庫シンタックスハイライトを利用するだけです。

99nyorituryo.hatenablog.com

 

SyntaxHighlighterのBrushファイルを作りかた

下のリンクのとおりにBrushファイルを作っただけである。brushとはハイライトする文字の定義ですな。元からあるbrushファイルを見てちょっと改造するだけでいけそうな気がした。

linuxBean14.04(23)Makefile用のSyntaxHighlighterのBrushファイルを作る

 あとは作ったのをはてなブログにどのように設置するか。外部サイトから読み込むことができるようなサーバーがあればそこにファイルを置いてリンクを貼ればいいのだけれど。持ってなかったら、はてブのjsのところに追加するしかなさ気である。

hagisato.hatenablog.com

honttoni.blog74.fc2.com

 

とりあえず,青空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;
})();


    

 表示のテスト

http://kyukyu.cho-chin.com/syntax/index2.html