『はてな記法』というと、
はてなダイアリーを含めた、はてなの各サービスで利用可能な、
HTMLの省入力機能。
基本的には、wikiでの記法を元に設計されている…んだったっけ?
はてな記法とは - はてなダイアリー
覚えるのに、少し時間は必要だけど、
慣れてしまうと非常に使いやすい。
特に、引用、脚注、見出し、リスト辺りは、覚えるとかなり楽です。
というわけで、これを、
MovableTypeでエントリを書くときにも使えないかな、と探したところ、
やはりありました。
さすが。
プラグインを利用し、
それで自動的に変換する…ということのようですね。
(適当だけど)
開発/配布されているのは、このあたり。
mt-sukeroku2 β3公開 (ささやかなる実験場の開発室)
■ 実際に使ってみる。
紹介しただけで、『じゃ、そんな感じで!』とか終わるのも気持ちが悪いので((端からそんな気はなかったけれども))、 実際に使ってみることにします。■ インストール
インストールは非常に簡単。 ダウンロードしてきたファイルを解凍すると、以下の通り、 2つのフォルダと、1つのファイルが出てきます。 -extlib -plugins -asin_js.cgi 多分、元々あったファイルと名前がかぶることはない…と思うので(多分)、 上記3つを、MTのインストールディレクトリにアップデート。 以上。 まぁ他のプラグインでもそうですが、 特に設定は必要ないみたいですね。 便利。 実際に使える機能については、この辺りのエントリを参照のこと。 mt-sukeroku-plus <はてなダイアリー風TextFormat> 書き込みテスト&書式解説 (ささやかなる実験場の開発室) 全てとは行かないみたいですが、 文章を書く上で必要な要素の殆どは網羅できています。 はてな記法を使ったって、 入力方法を覚える、それを記号的に使うという点で同じじゃないか、とも思うんですが、 (少なくとも僕は思います) ただ実際に書いてみると、終了タグが要らないだけでも随分と違う。 リストとか。見出しとか。 リストなんか、タグ書くより、はてな記法の方が、 見て、直感しやすいし。 …とか書いておいて、 上手く使えてなかったらこのエントリはボツになるのだけれども…(苦笑)■ テスト。
何か適当に文章を書き、『改行設定』から、『Sukeroku2(HatenaDiaryLike)』を選択して、保存。 これで、そのエントリは、はてな記法で変換されます。 …お、上手くできました。 しかし、なんだな。 はてな記法に忠実なのは良いのだけど、 改行すると全部、一段落と見なしてしまうんだな。 このサイトでは、<p>は自動的に上下に1emマージンを取ることになってるんで、 行間が空いてしまうな。 ま、これは、CSSで対応しろよ、ってことか。 そうですか。 まぁ、そうだな。 一応、extlib/Text/Sukeroku/HatenaDiary.pmをいじってやれば、 その辺の修正は出来るような気がするけど、 まー影響がえらいでかいので、多分、凄い面倒になると思う(苦笑) というわけで。おまけ。■ (追記その1)改行設定で、CSSを使い分ける。
mt-sukeroku2.plの、105行目。 >|return $text;
|<
となっているところを、
>|
return '<span class="' . $format . '">' . $text . '</span>';
|<
とすることで、hatenaというクラス名の付いたspanで書き出すことが出来ます。
で、CSSを適用してやれば、一件落着。
他の改行設定で書いたエントリに影響なく、
このエントリのみ、<p>を潰せます。
ま、はてな記法を使おうという人は、
この件(全て<p>で囲まれる)は既に納得済なんだと思いますが。
■ (追記その2)脚注のリンク先を変更
使ってみて、もう一つ、気になったこと。 このプラグイン、リンクのターゲットが一括なんですよね。 Kiseru.pmの中で、targetを指定できるのだけど、 それが全体に反映されるみたい。 んで、デフォルトの設定では、_blankに設定されている。 まぁ、リンクと言えば、大体は、外部リンクなので、 それ自体殆ど問題ないのだけど、 唯一、脚注に関する部分だけは、問題かなぁ、と。 脚注の見るために、別ウィンドウが開くってのはちょっとどうなんでしょうかね。 かといって、設定を_selfに変更してしまうと、 外部リンクも全部、同じウィンドウに表示されてしまうわけで。 これはこれでよろしくない。 というわけで、ちょっといじってみた。 最初、脚注の部分で、targetを指定しようかと思ったのだけど、 それをやっても意味がないので、 (targetが_selfであってなおかつ、JavaScriptで別ウィンドウが開いてしまう) このリンク作成は、脚注のものですよーっていう引数を渡すことにする。 具体的には、 BaseFormat.pmの、 formatFootnoteAnchor、formatFootnoteBodyの、 下から3行目のところに、 >|
$attr{'targetkey'} = 'footnote';
|<
を入れる。
んで、BaseElement.pmの方は、
110行目の、
>|
$attr{'onclick'} = "window.open(this.href); return false;";
|<
この部分に、
>|
if($attr{'targetkey'} ne 'footnote'){
$attr{'onclick'} = "window.open(this.href); return false;";
}else{
delete $attr{'targetkey'};
}
|<
これを追加。
ま、要するに、脚注に関するリンクの時は、
別ウィンドウを開くスクリプトを入れないようにする、と。
まーもの凄く適当なhackですけどねぇ。
思うとおりに動くから、ま、いっか。
■ 関連リンク
mt-sukeroku2 β3公開 (ささやかなる実験場の開発室) MovableType用TextFormatプラグイン mt-sukeroku-plus.pl 導入ガイド (ささやかなる実験場の開発室) mt-sukeroku-plus <はてなダイアリー風TextFormat> 書き込みテスト&書式解説 (ささやかなる実験場の開発室) はてなダイアリーのヘルプ - はてな記法一覧December 16, 2006













