はてなダイアリーを含めた、はてなの各サービスで利用可能な、
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';
||
$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> 書き込みテスト&書式解説 (ささやかなる実験場の開発室)
はてなダイアリーのヘルプ – はてな記法一覧