Rewish

ウェブデザイン、HTML、CSS、JavaScript、PHP、WordPress、Movable Typeなど、Web制作で役立つかも知れないBlog.

WordPressにはてな記法を導入するプラグインを作った

カテゴリー
WordPress
タグ
Download, Plugin, Syntax

はてなダイアリーでおなじみのはてな記法ですが、慣れるとさくさく記事が書けて良いので、是非WordPressでも使いたいと思い、HatenaSyntax - openpearを利用して作ってみました。

手軽に導入出来るので、はてな記法が大好きなWordPressユーザーは是非使ってみて下さい。

目次

ダウンロード

WP HatenaNotation - v1.0.2

対応している記法

記法名 書式 備考
見出し記法 *~~ 設定で指定した見出しレベル
小見出し記法 **~~ 見出しレベルをアスタリスクで指定
リスト記法 -~~, --~~, +~~, ++~~ 順序無し、順序付きリスト
定義リスト記法 :~~:~~
表組み記法 | ~~ | ~~ |, |*~~ | ~~ |
引用記法 >> ~~ << blockquoteでマークアップ
pre記法 >| ~~ |< preでマークアップ
スーパーpre記法 >|| ~~ ||< 設定で指定したマークアップ
HTMLエスケープ付き
脚注記法 (( ~~ ))
http記法 [http://~~]
[http://~~:title=hoge]
[http://~~:title]
キャッシュ用DBテーブル作成
キーワード記法 [[ ~~ ]] キーワードにはタグが使用される
下書き記法 <!-- ~~ --> 記事を公開しつつ部分的に下書き
目次 [:contents] 見出し(記法)のインデックス

はてな記法の設定

項目名 説明 初期値
無効日指定 指定日以前でははてな記法が無効になる 現在の最終投稿日
見出し記法の基準値 *見出し のHeading level h3
包含要素を使用する はてな記法を包含する要素 使用する
包含要素のclass 記事全体を囲むdivのclass section
脚注部分のclass 脚注記法で下部に挿入されるdivのclass footnote
スーパーpre記法のマークアップ %type%を指定言語に置換
%content%を内容に置換
syntaxhighlighter2
タイトルのキャッシュを保持する日数 [http://~~~:title]のキャッシュ 90

特殊なケース

以下のような特殊なケースにも対応しています。

HatenaSyntaxをOpenpearで管理する

パスが通っているディレクトリのHatenaSyntax.phpを優先的に読み込むので、HatenaSyntaxをOpenpearで管理する事も可能です。

Openpearの使用方法は、openpear :: Open PEAR Repository Channel 及び HatenaSyntax - openpearを参照して下さい。

※Openpearで管理する場合の動作はサポート対象外となります。

the_content()を使っていない場合

圧倒的少数だと思いますが、the_content()を使わずに記事を出力している場合は、wphn_render()関数に、はてな記法文字列を渡して利用することが出来ます。

<?php
echo wphn_render($content);

応用すればコメントではてな記法を使ったりも出来ますね。

謝辞

PHPではてな記法を扱う素敵なライブラリを提供して下さったanatooさん、何となく動作チェックを手伝って下さったnoriさん、お二人にはこの場を借りてお礼申し上げます。

バグ報告・機能追加要望は、この記事のコメントやメールなどで頂ければ幸いです。

更新履歴

2010-02-02 - v1.0.2
スーパーpre記法の二重エスケープを防止。
2010-02-02 - v1.0.1
wphn_render()関数内のtypoを修正。
2010-01-29 - v1.0.0
大幅な更新。詳しくはWP HatenaNotation v1.0.0を公開しましたを参照。
2009-11-16 - v0.5.1
v0.5の途中から誤って開発版がリリースされていたのを修正
2009-11-06 - v0.5
目次記法 [:contents]、キーワード記法(タグを使用)、下書き記法に対応
2009-06-17 - v0.4
公開