2012/08/25


昨日のアップデートでfontconfigが更新された。その結果libfontconfigを使っているアプリケーションで一部のフォントファミリが豆腐状態になった。
いろいろ調べてみた所 /etc/fonts/conf.avail/69-language-selector-ja-jp.conf /etc/fonts/conf.d/69-language-selector-ja-jp.conf にシンボリックリンクされていない事が分かった。
$ sudo fontconfig-voodoo -af を実行してログアウト後、ログインし直したら治った。
Posted at by



2012/08/24


Yahoo! Pipes万歳
Yahoo! Pipes はてなブックマークの「サイト内新着ブックマーク」(のフィード)のdelicious版を作ってみました。
構成は2段になっていて
  • 指定フィードのエントリを以下のPipesに渡すPipes
  • 指定URLのdelicious上のユーザブックマークフィードを出力するPipes
となっています。

まず親側のPipes

Pipes: delicious bookmarks in your feed
delicious-feed1
人によっては一つのサイトで複数のフィードを吐いていて、そのエントリのリンクで末尾(例えばフラグメント)を変えたりしている人もいるだろうからオートディスカバリはしていません。
この「For Each: Replace」で次のPipesを呼び出しソートしています。

そして子側のPipes
Pipes: delicious bookmarks in the url
delicious-feed2
ここではちょっと裏技を使っていて、本当ならばdeliciousのブックマークページはURLをMD5したページにあるのですがここのフォームターゲットをGETで呼んでリダイレクトしています。 この遷移先のページにはフィードが出力されており、ユーザ単位のブックマークエントリが含まれています。
これを親側でreplaceするのです。ただしページによってはブックマークされていない場合もあります。この場合deliciousのブックマークフィードはトップ画面のブックマークフィードを返してしまうのでitem.linkを使って本当に正しいかを確認しています。


はてなブックマークにはサイト内ユーザ単位の新着ブックマークフィードがあるのになんでdeliciousには無いんだろう...と前々から思っていたので作ってみました。
よろしければご利用下さい。

追記
オートディスカバリする版も作った。
Pipes: delicious bookmarks in your site
Posted at by




microformats 前回はmicroformatsを簡単に説明する事で、microformatsとは何か?、microformatsで何が出来るのか?を説明しました。
今回は、microformatsを利用して実際にWebページにメタデータを埋め込む手順を示して行きます。
microformatsのメタデータ構造はXHTMLで記述され、microformatsを利用するアプリケーションはDOMを使用する事で簡単にメタデータを扱う事が出来る様になります。

前回の記事を書く時点で、この記事を記述する前に、以下のmicroformatsをこのサイトに埋め込みました。
  • hCard
  • rel-tag
  • XFN
今回はその作った過程を説明していきます。

hCard

hCardの作成にはhCard Creatorや、hCard生成ツールでベースを作成し、自分のサイトのスタイルに合わせ修正するのが手っ取り早いです。
class属性には「class="fn"」といった単独の記述も出来れば、「class="url fn"」のように記述して <a class="url fn" href="http://example.com/">ExAmPlE</a>
と組み合わせで記述する事も出来ます。

rel-tag

rel-tagは、そのサイトドキュメントが関連するタグを指し、ブログであれば各ブログツールによって生成されるものと思われます。利用するアプリケーション側は、このタグ情報を自身のサイトで抽出させたり、del.icio.usで検索させたりする事が出来ます。
このサイトでは、blosxomというブログツールのプラグインを使用してでタグを生成しており、本サイトの右側に表示されているタグ表示に使っています。
ただ、前回ご紹介したmicroformats Operatorでは、URLの最終部分をタグとして扱う仕様(technorati仕様)になっている為、例えば <a href="http://example.com/weblog.cgi?tag=microformats" rel="tag">microformats</a>
等といったURLでOperatorを使うと、タグには「webblog.cgi」が表示されてしまいます。
これを回避するには <a href="http://example.com/weblog.cgi?tag=microformats&-technorati-hack=/microformats" rel="tag">microformats</a>
という風に、無効なパラメータ(-technorati-hack)を使用して無理矢理フォルダ階層を作るの事でOperatorに扱わせる事が出来ます。(バッドノウハウ?)
このサイトでもblosxom.cgiというCGIがそのまま表示されますので、同様の修正で対応しています。

XFN

実は前回の記事には少し宜しくない部分があり、実際にはブログのエントリタイトルに対して「rel="bookmark"」を付けるべきだったと後で気づいた為、現在は修正してあります。
これから前回の記事を読む方は、記事本文を読み替えて下さい。

さて、今回は前回作成したmicroformatsに加え、「rel-license」を埋め込みました。
rel-licenseは、その文書の免責情報が記述されている文書へ、リンクを生成する際にrel属性に対して設定する値で、本記事のHTMLを参照して頂くと最下部あたりに <a rel="license" href="http://example.com" title="...">rights reserved</a>
と書かれた部分が見当たるかと思います。
このリンクは、本サイトがCreative Commonsの指定の文書に従ってコピーライトされている事を意味しています。
例えば、皆さんが訪れたサイトがどんなライセンスなのかを見るには、このrel-license属性を見る事で確認する事が出来ます。
Creative Commons限定ですが、cc licenseというブックマークレットを使用すると、そのサイトがCreative Commonsライセンスなのかを確認する事が出来ます。
本サイトも、本記事をポストするにあたり、rel-licenseを追加したので、「cc license」でCreative Commonsライセンスである事が確認出来るようになっています。(bookmarklet)

microformatsには色んな拡張があり、現在も尚Draftへ新しい拡張が追加されていっています。

その中でも私が興味深いと思ったのは、「hPlaylist Profile」というXMDP(XHTML Meta Data Profiles)形式のmicroformatsを利用したプレイリスト公開フォーマットで、曲の
  • タイトル
  • 作者
  • 注釈
  • 情報
  • 情報元URL
  • 画像(おそらくジャケ写真?)
  • プレイリスト公開日
  • 属性
  • その他トラック情報...
を格納する事が出来ます。例えばもしAmazonがこれに対応すると、CDの曲情報をmicroformatsで配信する事が出来るのでは?と思いました。
また、再生した曲目リストを公開する事で人と繋がりあうSNS、PLAYLOGもこれに対応する事で、現在のようなアルバム名、曲名、作者だけでなく、上記の補足情報(SONYに関連したものだけしか公開出来ないかもしれませんが...)を公開する事が出来るようになるかと思います。
未だ、私はhPlaylistを本格的に使ったサービス、アプリケーションを見つけられていませんが、AmazonでCDの紹介ページを閲覧した際にオフィシャルサイトへのリンクが表示されたり、ブログに現在再生曲情報を付加する「Now Playing」等で利用出来るのはないかと思います。

可能性が広がり、夢がありますね。
Posted at by