ページにはてなIDを埋め込む

具体的にどういうことかというと、例えば(はてなダイアリー以外の)blogがあったとして、そこに面白いコンテンツがありました、そのコンテンツにポイントを送信したいな、といったときに、そのページははてなユーザー誰さんのページなのか、というのを識別する識別子をページに埋め込みたいんです。要は、はてなのIDをどういうフォーマットでページに記入してもらうか。

たくさん例が上がっていて、なんというか一長一短なので悩ましい。

FOAFで記述するのは、いろんな意味でスマートなのだが、FOAFRSS程には知られていないように感じるし、ウェブログの大半はウェブログサービスによるものだと思うのだけれど、そういったものには適用しにくいのでは。

metaで記述するのは、はてなIDもメタ情報なのだからうってつけとは思う。metaのnameやcontentは任意なので、そこにどういう管理情報を埋め込むかはページ作成者にかかっている。

<meta name="hatena" content="id:aql" />

とかそんな感じ。ただ、metaはhead内なので、やっぱりウェブログサービスだと厳しそう。

簡単さ加減ではただのコメントアウトに適うものが無い。でもこれ、縛りがなさ過ぎてなんか不安なものがあるのだが。

XHTMLを拡張してしまうのは、流れ的には結構良い感じ。

<hatena:id xmlns:hatena="...">aql</hatena:id>

ただのHTMLや、ブラウザ側でのXHTML解釈で問題が出るかもなので、Trackback Auto-Discovery的にコメントアウトするのが現実的なのかもしれない。

しかし、ページに対する署名と考えるなら、むしろ読者に見えているべきではないか。手書きでページを書くときだって、最後の方に署名をすると思うのだが、メールアドレスと同様にはてなIDが書いてあっても良いような気がする。(ソースに間違いがあるので、追記を参照のこと。)

<address>
<div class="mailto">mailto: altair@...</div>
<hatena:id xmlns:hatena="...">aql</hatena:id>
</address>

そうするとより現実的には、やっぱりmicroformats的な手法になりそうな感じ。つまり、class情報で表現したほうが、古いブラウザへの適合が良い。

<address>
<div class="mailto">mailto:altair@...</div>
<div class="hatena">id:aql</div>
</address>

microformatsというのは、多分メタ情報記述の共通フォーマットを作ろうよという事なんだと思うのだが(だから汎用性重視なんだと思うのだが)、それ以前の問題として、例えば上記であればclassに指定した文字列hatenaはHTML的な意味で任意であり、それはmicroformatsとは関係がないんでは。microformatsで規定される(かもしれない)class名と、管理上の事情で付けたclass名だったら、当然個人の事情が優先されてしかるべきである。microformatsはXMLと違い、既にある基盤の上に後付けしている訳だから。そう考えると、microformatsに遠慮することは無いと思う。ただ、それがmicroformatsとは呼べないというだけなのではないだろうか。

実は、上記の例だと、わざとdiv class="mailto"を用意しておいた。これは、ページを作るときによくやることだと考えている。hatena:id xmlns=...が並ぶより、div class="hatena"が並ぶほうが自然だと思うのだが、どうだろう。

最終的には、どれか一つではなくていくつか採用というのが良さそう。私のようにidを署名に使いたい人もいれば、別に見えなくてもいいじゃんって人もいそうだから。

追記

address要素にはブロック要素を含むことができないので、span要素を使うことになります(address要素を使わなければOK)。

addressを滅多に使ってないことがばれる…(笑。(通常はdivで適当に…。)量的に修正を表現しにくいので、こちらでは修正版を出さないこととした。読む時に要注意。