2004年 11月 27日

暇なので最近のめも

メタデータと密着した画像管理システム。例えば複数の画像から一つの画像に合成したら dc:source 使って元の画像の URI を記録しておくとか。ライセンスも画像に一緒に記録しとけば一番いいはず。

更にキーワードとかを書いておけば画像を検索できたりとか。

結局のとこ、Flickr に似たような感じになるわけだけども……

画像メタデータを表示

メタデータを含む画像の例

とりあえず中途半端だけど書いた。画像に含まれる RDF を抽出して表示するだけ。そのうちちゃんと整形させたい。

nulog の画像参照については全部こっちにリンクが張られるようにした。nulog のデータの href とか src はそのままにして、img を含むリンクや、img 単体が存在する場合に view-img を付けてリンクをはる (はりなおす)

URI が微妙だよなぁ……もっといい感じにならないかなぁ。

特定ディレクトリ以下の画像を一覧表示 (サムネイルで。なければない旨の画像? サイズもちゃんと書いておいて条件分岐? 面倒) とかも面白いかなぁ……形にならないとよくわからない。

FOAF Explorer でのエラー

なんかエラーでるので原因を特定すると、foaf:nick に rdf:Alt があるとエラーになる。FOAF Explorer の XSLT を見てみると <xsl:template mode="title" match="*"> というテンプレートの中身が悪さしてる。xsl:choose で選択しているので上のほうに書いてある要素で rdf:Alt を含まなければエラーにならないんじゃないかと思ってやってみたらヒット。foaf:name は書いていなかったので適当に書いておいた。この回避法だと foaf:name を既に書いていてエラーが出る場合無理。あっちの対策を待ちましょうみたいな?

でもこっちで回避するより何かフィードバック送ったほうがいいだろうなぁ。っていっても既に誰か送ってると思うんだけど……むしろエンジンのエラーな気がする。

XSLT での name()

マジメな実装をするなら name() を select や @test で使う機会はまずないはず。 (もちろん name() をそのまま出力する用途では使うけど) そのかわりにちゃんと namespace-uri()local-name() を使うはずだから。

今まで name() を使うときなんかひっかかりつつ使っていたけどやっと変なことに気付いた。

2004年 11月 26日

Namazu について

今まで散々 namazu と書いてきましたが、全部 Namazu の意味です。コマンドラインなんてつかたことない。

2004年 11月 25日

xsl:param にノード集合を渡す。

予め xmlns:t="http://temporary/" とかやっておく。既存の空間が利用できるならそれ使ってもいいと思う。

<xsl:call-template name="tempfoo">
<xsl:with-param name="foo" xmlns="http://temporary/">
<foo>Foo</foo>
<foo>Bar</foo>
</xsl:with-param>
</xsl:call-template>
<xsl:template name="tempfoo">
<xsl:param name="foo"/>
<ol>
<xsl:for-each select="$foo/t:foo">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ol>
</xsl:template>
<ol>
<li>Foo</li>
<li>Bar</li>
</ol>

渡すほうに名前空間を指定しない場合は、(あたりまえだけど) デフォルトの空間になる。でもそのまま template のほうで接頭辞なしでアクセスしようとしても無理。

できないと思ってた方法ができると分かって、いろいろ楽できる! 諦めかけていたなか光をくれた (謎) 哀さん にありがとう

namazu スタイルシートをつくるときに、一個の option 要素ごとに selected を入れるかの if を作るのが面倒でごちゃごちゃやってた。だいぶスッキリしていい感じ。

ソース間違ってたのをちょっと修正。

新スタイル適用

少し修正してだいぶやる気がなくなったので適用。公開するとまたアレな部分がいっぱい見えてくる。不思議だ。

タイトルフォントについて書くのを忘れてた……

NULL の部分は Amerika Sans。残りの部分は Brie Light っつうフォントどす。

2004年 11月 24日

新しいスタイル

なんか殆どできちゃったけどまだ適用しない。IE:first-child 非対応の対策のために元のマークアップを少し変えて (新しく class を導入) しまった。

結局配色について殆ど考えなかった。というか画像を今のスタイルから流用しているから、全体的に殆ど今のまま。

アクセシビリティツールもまだ使ってない。白ベースの青と黒だから殆ど問題ないと思うけどやっぱやってみなくちゃなぁ。

  • 画像と重なる部分のナヴィゲーションが読み難い。
  • 検索ページもちゃんとサイト全体と同じ CSS を適用する。
  • 本文のスタイルをもっとちゃんと考える。
  • もっと細かく
  • 骨まで美味しく。

ColorDoctor を使って検証してみたけど、とりあえず大丈夫みたいだ。

それより、この ColorDocter メモリ : 256MB以上 (推奨 : 2GB以上) って書いてあって 2GB 以上は嘘だろう、とか思ってたら本気でメモリ足りなくなった。むしろ最初起動すらしなかった。起動したと思ったら Firefox が落ちた。どこにそんなメモリ使ってんだろ…….Net だからっすか。

namazu のカスタマイズ

テンプレートに XSLT を使う namazu.cgi の代替を書いて置き換えた。これで namazu だけ HTML4.01 だったり、適用している CSS が違うということがなくなった。

Ruby 拡張ライブラリの search-namazu を使ってクエリ投げて、いったんデータを XML に変換。んでそれを XSLT エンジンに渡してやる。

遠回りだけど、namazu のやつだけ統一感がないのはいくないからこれでよし。もちろん common.xsl が適用されているからスタイルシート追加したきゃ common.xsl を書き換えるだけ。全部変わる!

あーそうだ。Ruby 用の XSLT エンジンがなかったから sablot を使った。何か CGI 経由でコンパイルするっていう方法がずっと頭から抜けてて、Ruby で XSLT エンジンつかえないじゃん!って思ってた。想像力が減ってる。だめだ。

2004年 11月 23日

次期スタイルに向けて

いくつか目標的な何か

  • パット見のバランス。何か左側に偏っててキモイ
  • 余白のとりかた。余白とかない
  • border を最小限に……つまり余白のとりかた
  • フォントグラフィをちゃんと考える。今めんどくさがりすぎ
  • 配色の再考。各種アクセシビリティツール使ってみるとかしてみる
  • かっこよく……

そんなわけで CSS Vault とかでパクる参考にするサイトを探す。もっと綺麗な方向にしたい……

なんか細々したグラデーションとボーダー (not CSS) が流行ってるみたいだからパクろう。うん。