はてなブログからWordPressへ移行した

はてなブックマークが第三者に行動履歴を送ってたとかですごく盛り上がってるけど、僕としてはそんなことはどうでもよくてはてなブログがとにかく機能が足りない。はてなダイアリーを使い続けても良かったんだけど、レンタルサーバ借りてるなら自分で作るべきだよなぁと一念発起してWordPressを入れてみた。んで、WordPressを導入する上でやったこと。

WordPressのインストールとテーマの設定

まぁ、普通に。これはどうでもいいところだから割愛。強いて言えば、テーマ探すのに結構手間取った。(*1)

スパム対策

Akismetが標準で入ってるけど、これってIDが必要。英語読んでID入れるのがめんどくさかったから別のを探してみた。Google先生に聞いてみると「Spam Free WordPress」の評判がいいみたいだから、こいつを入れてみた。ちょっと使ってみてダメだったら別のに変える。

はてな記法の追加

僕がもともとはてなを使っていたのははてな記法が便利だったから。WordPressに移行してもはてな記法を使いたいなーって思ってたらプラグインを作ってる人がいた。「WP HatenaNotation」っていうやつ。これ、すごく便利。作ってくれた人ありがとう!!!

コードの色付け

コードを書くことが多いから色付けして欲しい。Google先生に聞いてみると「SyntaxHighlighter Evolved」一択っぽい。これを導入すると以下みたいに色付けすることができる。

void main(void) {
    printf("はろー、わーるど");
}

んけど、普通に「SyntaxHighlighter Evolved」の記載方法を行うと「WP HatenaNotation」を入れてるからpタグが入ってしまう。なんで、「SyntaxHighlighter Evolved」の記載方法を使わずに「WP HatenaNotation」のスーパーPre記法を使って書く。そのままだと色付けしてくれないいのでFooterに以下を記載して無理やり色付けさせる。必要ないjavacriptも読み込んでしまうことになるけど、別に気にする必要もないかなー。

<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushCpp.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushCss.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPhp.js?ver=3.0.83c'></script>
<script type='text/javascript' src='http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js?ver=3.0.83c'></script>
<script type='text/javascript'>
	(function(){
		var corecss = document.createElement('link');
		var themecss = document.createElement('link');
		var corecssurl = "http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.83c";
		if ( corecss.setAttribute ) {
				corecss.setAttribute( "rel", "stylesheet" );
				corecss.setAttribute( "type", "text/css" );
				corecss.setAttribute( "href", corecssurl );
		} else {
				corecss.rel = "stylesheet";
				corecss.href = corecssurl;
		}
		document.getElementsByTagName("head")[0].insertBefore( corecss, document.getElementById("syntaxhighlighteranchor") );
		var themecssurl = "http://blog.choilabo.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeRDark.css?ver=3.0.83c";
		if ( themecss.setAttribute ) {
				themecss.setAttribute( "rel", "stylesheet" );
				themecss.setAttribute( "type", "text/css" );
				themecss.setAttribute( "href", themecssurl );
		} else {
				themecss.rel = "stylesheet";
				themecss.href = themecssurl;
		}
		//document.getElementById("syntaxhighlighteranchor").appendChild(themecss);
		document.getElementsByTagName("head")[0].insertBefore( themecss, document.getElementById("syntaxhighlighteranchor") );
	})();
	SyntaxHighlighter.config.strings.expandSource = 'ソースを表示';
	SyntaxHighlighter.config.strings.help = 'SyntaxHighlighterについて';
	SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n';
	SyntaxHighlighter.config.strings.noBrush = '指定のブラシが見つかりませんでした: ';
	SyntaxHighlighter.config.strings.brushNotHtmlScript = 'HTMLスクリプトのオプションのためにブラシが構成されませんでした: ';
	SyntaxHighlighter.defaults['auto-links'] = false;
	SyntaxHighlighter.defaults['pad-line-numbers'] = false;
	SyntaxHighlighter.defaults['toolbar'] = false;
	SyntaxHighlighter.defaults['wrap-lines'] = false;
	SyntaxHighlighter.all();
</script>

上記では一部しか色付けされないんだけど、必要になったら追加する。

まとめ

別にわざわざ移行する必要性はなかったんだけど、自分で色々いじくれるならこっちのほうが断然いいよね。僕がレンタルサーバを初めて借りた時には「WP HatenaNotation」がなかったから結局WordPressのブログは閉じてはてなダイアリーに戻ったんだけど、これがあるならわざわざはてなダイヤリーとかはてなブログとか使う必要性がないよね。

本当に「WP HatenaNotation」さまさまですね。

*1: シンプルなテーマって結構ない。。。