Hatena::ブログ(Diary)

聴く耳を持たない(片方しか)

20080515 見ているページのはてな記法を表示するBookmarklet - 改訂版

先日

YouTube動画を貼り付けるごときでヘルプを見る必要がある時点でダメ

というエントリーで、

YouTubeを貼るくらいで、はてな記法を使わせる時点で初心者を切り捨てているだろ、常識で考えて(※意訳)

という感じで文句を書いたのですが、不満だけ書き連ねて提案もせず、手を動かさないのもかっこ悪いので、こんなものを作ってみました。


見ているページのはてな記法を表示するBookmarklet

と言ってもゼロから作れるほどのスキルがないので、id:aplさんが制作された

見ているページのはてな記法を表示するブックマークレット - d.aql

Hatena Syntax Badge Bookmarklet

を少し手直しした程度です。基本的な部分はこちらのまま、ただそれ以後に はてなハイクがリリースされたり、ニコニコ動画の貼り付けに対応したりと、サービスやはてな記法が追加されたのでそれらなどを修正しました。


使用例

画面の右上隅に見ているページのはてな記法が表示されます。

更新履歴
  • 2008-05-15:公開
  • 2008-05-16:はてなグループの掲示板での不具合を修正
  • 2008-05-16:Wikipedia記法での不具合を修正id:potappoさんありがとうございます)
  • 2008-05-17:はてなグループトップでの不具合を修正

また、さらに改訂版を作りました。

見ているページをダイアリーで言及できるボタンを追加するBookmarklet

※今後 更新履歴はグループキーワードにまとめることにしました

g:rikuo:keyword:見てるページをはてな記法にしダイアリー言及ボタンを付けるBookmarklet



使い方

こちらのリンクを右クリックからコピーします。

javascript:(function(){var%20s=document.createElement('script');s.charset='UTF-8';s.src='http://furukawa.rikuo.googlepages.com/HatenaSyntax.js';document.body.appendChild(s)})();


「お気に入り」 → 「お気に入りに追加」で、お気に入りに追加します。



名前は好きなもので構いません。ここでは「はてな記法」としました。


登録が完了したら「お気に入り」から


先ほど登録した「はてな記法」を右クリックし、「プロパティ」を選択します


URLの欄に、コピーした「javascript:〜」をペーストします


「OK」を押すと、こうした警告がでますが、これは Bookmarklet なので「はい」を選択します。

これで登録は終わりました。


使うときには「お気に入り」の欄の「はてな記法」をクリックすれば Bookmarklet を使うことができます。


そうすると、右隅に見ているページのはてな記法が表示されます。邪魔だと思ったらもう1回押せば消えます。

それをコピーして日記に貼りつければOK。


ちなみに、いちいち「お気に入り」からクリックするのは面倒ですし、邪魔なので

「お気に入り」から


ドラッグして


ドラッグしたまま「リンク」のところへ持ってくると

こちらに収まります。

これだと、普段から使いやすいですね。



また、いちいち選択してコピーするのが面倒、という方はこちらのクリップボードに入れるバージョンもあります。

javascript:(function(){var%20s=document.createElement('script');s.charset='UTF-8';s.src='http://furukawa.rikuo.googlepages.com/HatenaSyntax_copy.js';document.body.appendChild(s)})();

Firefoxでも使えるように、Flashを経由してクリップボードに入れる形式にしているため、Flashがインストールされている必要があります。


対応しているはてな記法

対応しているはてな記法は以下の通り

自動リンク
はてな内自動リンク


対応していないはてな記法

anond記法(仮名)

はてな匿名ダイアリーでは

http://anond.hatelabo.jp/20060923210701

anond:20060923210701

と表記できる、anond記法(仮名)というのがあるのですが(参考:ヘルプ)これは、はてな匿名ダイアリー内でしか使えないので未対応。


task記法

はてなグループのタスク管理ツールあしかで、例えば

http://sample.g.hatena.ne.jp/task/123/456

というURLを

task:123:456

と書ける記法があります(参考)。

id:aplさんのが制作されたこのBookmarkletのオリジナルでは対応されているのですが、これは同じグループ内であれば自動リンクするものの、ダイアリーや別のグループではリンクされないので、未対応にしました*1

niconico記法

ニコニコ動画の動画を表示する niconico記法

例えば、このURLの場合

http://www.nicovideo.jp/watch/sm1128042

[niconico:sm1128042]

と書くことで、日記内に動画プレイヤーを表示できるいうものなのですが、

[http://www.nicovideo.jp/watch/sm1128042:movie]

この表記でも代替できるので、未対応としました。

……また、実際利用する場合 :movie] と書かれた部分を、:title] と書き直したり、:title=hoge] と書き直したりするケースが多いかなと、その場合 [niconico:sm1128042] などと書くよりも利便性が高いのではないか?という判断もあります。


元のURLとは異なるケース

基本的には、見ているページそのままへリンクされるのですが、リンク先が異なる場合もあります。

asin記法

  • asin:4798110523:detail
「へんな会社」のつくり方 (NT2X)

「へんな会社」のつくり方 (NT2X)

こちらは分かりやすいですね。

同様にはてなで対応している動画共有サービスでは、リンクではなく動画表示形式になります。


自動トラックバック除け

はてな内ですが、自動トラックバックを避けるために

  • http://d.hatena.ne.jp/rikuo/20080515

  • http://d.hatena.ne.jp/./rikuo/20080515

と表記する手法がありますが、それだとはてな記法では表記できないので、./ を削除してリンクします。


検索結果系

○○で検索する、という系統、それぞれの検索にそれぞれ設定ができるわけですが……表示件数を50件にするとか、2ページ目とか……、それらは反映されません。


アンカー(ページ内リンク)

例えば

とかでも、[d:keyword:はてな] となります。


その他

などではきちんと対応していません。正直レアなケースなので、いいかな、と。


クリップボードも面倒だなー、という場合

はてなにログインしていることが条件ですが、こういう方法もありますね。


こんにちはこんにちは!!


こんな感じで。

http://d.hatena.ne.jp/refer?appendbody=hoge

というURLに飛ばせば、日記の入力フォームに自動的に任意の語句を入れることが可能です。

このバージョンは用意しませんが、使いたい方は自分で書き換える等して下さい。

*1:ちなみに、http://sample.g.hatena.ne.jp/task/20080513/p1 という場合も同様に、はてな記法では表記されません。id:taskさんとあしかの task を区別するのは難しかったので……。スミマセン。

potappopotappo 2008/05/16 22:22 Wikipedia 記法のところですが、Firefox で 「Hatena Star Everywhere」Greasemonkey を入れていると正常に取得できないので、var title = document.getElementsByTagName(’h1’)[0].innerHTML; ではなくて、
var title = document.getElementsByTagName(’h1’)[0].firstChild.nodeValue にすると良いと思います。

rikuorikuo 2008/05/16 23:14 > id:potappoさん、こんばんわ。
不具合報告だけでなく、解決策のご教授もしていただき、とても助かりました。
早速修正致します。