2012年01月16日 マウスジェスチャでリンク生成機能を追加する方法

別に管理してたブログを作り直すので、メモ書きを転載する。自分が後々使いそうな、お役立つ情報である。
1.はてな記法をはてなに記載する方法
まず、はてなダイアリーにプログラムコードを直接記載すると、文字化けを起こす。サーバー側が文字なのか、コードなのか分からんからである。技術支援を社是にするはてなは、公式にプログラムコード記載のためのスーパーpre記法というものを実装している。詳しくは「入力したコードやはてな記法をそのまま表示する(スーパーpre記法) - はてなダイアリーのヘルプ」。
ところで、はてな内でのみ使える、はてな記法。例えば、スーパーpre記法自体について言及したい時、我々は一体どうしたらいいのか。はてなは「スーパーpre記法を使えば、はてな記法も記載できますよ」と言ってるが、どうも上手くいかない。残念ながら、俺のブラウザでは文字化けしている。
同じ症状になった人は、preタグ追加と文字コード変換を行うといい。
<pre> >|aa| ||< </pre>
これは余談だけれど、スーパーpre記法も万能ではなく、長ったらしいコードを書くと見切れてしまう。見切れるのをどうにかしたい時は、スーパーpre記法をCSSで拡張する必要がある。例えば、問答無用でコード見せることを優先する場合、以下。
pre {
overflow:auto;
}
2.はてなで手軽にAAを貼る方法
はてな記法にaa記法があるので、基本はそれを使う。「アスキーアート(AA)を簡単にきれいに表示する(aa記法) - はてなダイアリーのヘルプ」。ただ、aa記法はフォントサイズが固定されている。もうちょっと大きくって需要は少ないと思うが、もっと小さくしたい方は結構いると思う。そういう方は、スタイルシートをいじってみるといい。
div.main {
width:700;
}
div.AA {
font-family:"MS Pゴシック","Mona","mona-gothic-jisx0208.1990-0",sans-serif;
font-size:12px;
line-height:14px;
}
ポイントはフォントサイズに合わせてaa記法を入れる箱、この場合はmainをいじっちゃってるけど、これのサイズも変更しておくことである。ここを設定しておかないと、改行でグチャグチャになってしまうことがある。
3.マウスジェスチャでリンク生成機能を追加する方法
var CLIPBOARD = Components.classes['@mozilla.org/widget/clipboardhelper;1'].getService(Components.interfaces.nsIClipboardHelper);
CLIPBOARD.copyString('<a href=\"'+window._content.document.location.href+'\">'+window._content.document.title+'</a>');
JavaScript対応のアドオンでのみ使用可能である。適当なジェスチャを設定して、動作部分に上記コードを突っ込むと、リンク生成ができる。リンクタグになっているのは俺の趣味なので、タイトルとURLを別々にしたい方はリンクタグ周辺をいじってみるといい。