今の実装だと「カテゴリごとの latest」とかが作れない。いらないっちゃいらないけど、もうちょい汎用性を高くしたい。そうすればソースも綺麗になるはず。まじめに設計とかしたほうがいいんだけど、頭悪くてできない罠。設計って実装してるときよりつまらんし。

まず、今のところ変換に使う xsl ファイルの名前を完全に決めうちしてる。latest とか 日付別のときを完全に別に (switch) 処理してる。この辺もうちょい綺麗にしよう。速度落ちても、綺麗なほうがいい。読みにくいソース書いてると未来の自分が激しく困る。俺書いたの絶対覚えてないし。

latest は日付と考えるべし。ってことで /web/latest /web/2004 /web/2004/06 とかが形的に等価。category.xsl を作るんじゃなくて、year.xsl, month.xsl, latest.xsl をカテゴリに対応させるほうがいいな。よく考えればあたりまえだ……。/web とか / とかでアクセスされたときはどうしようか? 一覧だけ表示させて、カテゴリが指定されているときはそれをリンクパスに含めるだけでいいか。

param にカテゴリーが指定されていたら、そのカテゴリを含むセクションだけを抜き出して、されてなかったら全部表示。year.xsl が問題だ。一年分を読み込んで変換させるのはどれぐらいコストかかるだろう。

path info の最後の部分に /\..+?$/ があったら取り除いて、flavor にする。xsl 適用するまえに xsl ファイル名 + .flavor が存在するかを fileexists で調査。あったらそれを適用させて出力。なかったらデフォルト (XHTML とか) 適用させる。このとき設定ファイルに指定された flavor の content-type が指定されていたら、それを送信する。指定されてなかったらデフォルト (text/xml) 送る。ただし application/xhtml+xml の場合は馬鹿なブラウザのために特別に accept で (それ以上のことはしない) 振り分けてあげる。

  1. トップ
  2. prog
  3. 実装

== 使ってリテラルと変数を比較するときは、変数を右辺に置くべし……間違って = とかいても実行時エラーがでるから。でも癖で左においちゃうよなぁ。

  1. トップ
  2. prog
  3. if ==

xsl:number で似たようなことができることに気が付いた。これで footnote がちゃんと実装できる。

<xsl:number level="any" from="d:day" format="*1"/> のようにすればよかった。ふっとノートXSLT の仕様書にそのまんまのが載っている。俺はアフォか。

でもまだリンクを実装してない。面倒くさいから。見通しがたったら後になってもできるじゃん?

  1. トップ
  2. web
  3. ある基準から見た自分の位置

day/@date と section/@datetime はそれぞれユニークである必要があり、フォーマットもこのままじゃないと駄目。

day.xsl で月を跨いだナヴィゲーションを提供できない。やるには前月・次月の xml を結合させればいいけど……

  1. トップ
  2. web
  3. 仕様

傍点って強調なんだから em 使うのが筋だけど、em で強調された文字に傍点を振るのが CSS では無理。悩ましい限り。傍点として表示されないと嫌とか言われてもねぇ。メディアがちげぇよ的。めんどくさ。もう隔離で。

  1. トップ
  2. web
  3. 傍点

傍点って強調なんだから em 使うのが筋だけど、em で強調された文字に傍点を振るのが CSS では無理。悩ましい限り。傍点として表示されないと嫌とか言われてもねぇ。メディアがちげぇよ的。めんどくさ。もう隔離で。

  1. トップ
  2. web
  3. 傍点

; Unix-Timestamp
(global-set-key #\C-2
#'(lambda ()
(interactive)
(with-output-to-selected-buffer
(format t "~d" (- (get-universal-time) (encode-universal-time 0 0 9 1 1 1970))))))
; xml datetime
(global-set-key #\C-1
#'(lambda ()
(interactive)
(let (date)
(setq date (format-date-string "%Y-%m-%dT%H:%M:%S%Z"))
(insert (concat (substring date 0 -2) ":" (substring date -2)))))) ;%Z => "+0900" -> "+09:00"

これなしじゃ生きれない!

それと pre を使うときは CDATA で囲ってる……そうしないとインデントされてしまうから……

  1. トップ
  2. prog
  3. xyzzy での xmldatetime, unix timestamp

  • 年毎一覧
  • index
  • RSS

RSS はフレーバー形式 (blosxom 的。拡張みたいなのをつける) にしてみるとかかなぁ……フレーバー形式にすれば、RSS 以外にも、携帯用軽量版とか、他のバージョンを提供しやすいもんなぁ。

フレーバー式にしてみた。存在しない場合はデフォルト (XHTML) を送信。/latest.rdf で RSS1.0 のコンテンツが取得できる。

  1. トップ
  2. prog
  3. todo

[http://test.lowreal.net/d/taglibro.php/latest]

  • 一覧がない。実装自体は簡単なはずだけど、php でそのまま出力してしまうか、xsl をテンプレとして使うか悩む……
  • 年別どうするか考えてない。
  • カテゴリ表示が3ヶ月ぐらいで破綻しそう。
  • デフォルト以外のフレーバーの content-type をどう指定するか。設定ファイルに連想配列でつっこむのが有力。

今のところ、月別と日別は一個のファイルだけを直接 xslt に渡して処理(たぶん日別は変えると思う……)最新とカテゴリは必要データを dom で結合させてから xslt に渡す。ただ、カテゴリは全部処理しないと意味ないので全部結合してる(駄目)

blosxom っぽい url が使えます。/2004/07 /web/2004 /2004/var /latest.rss. でも個別ページと月別はフレーバー未実装。

つかもうちょいソースを綺麗にしたい……switch が多くて汚い。

書き直した。ある程度関数にして分離したので、前より格段と綺麗に。でも行数は変わってない(むしろ増えてる)

でもこれでカテゴリごとの latest を実装できた。つまり /latest /web/latest /latest.rdf /web/latest.rdf /latest/web.rdf (推奨しないけど) が使える。

  1. トップ
  2. prog
  3. dxml

http://test.lowreal.net/d/taglibro.php/latest

  • 一覧がない。実装自体は簡単なはずだけど、php でそのまま出力してしまうか、xsl をテンプレとして使うか悩む……
  • 年別どうするか考えてない。
  • カテゴリ表示が3ヶ月ぐらいで破綻しそう。
  • デフォルト以外のフレーバーの content-type をどう指定するか。設定ファイルに連想配列でつっこむのが有力。

今のところ、月別と日別は一個のファイルだけを直接 xslt に渡して処理(たぶん日別は変えると思う……)最新とカテゴリは必要データを dom で結合させてから xslt に渡す。ただ、カテゴリは全部処理しないと意味ないので全部結合してる(駄目)
blosxom っぽい url が使えます。/2004/07 /web/2004 /2004/var /latest.rss. でも個別ページと月別はフレーバー未実装。
つかもうちょいソースを綺麗にしたい……switch が多くて汚い。

書き直した。ある程度関数にして分離したので、前より格段と綺麗に。でも行数は変わってない(むしろ増えてる)
でもこれでカテゴリごとの latest を実装できた。つまり /latest /web/latest /latest.rdf /web/latest.rdf /latest/web.rdf (推奨しないけど) が使える。

  1. トップ
  2. prog
  3. dxml

ホストを取得できてない。トラックバックの excerpt も記録されてない。

excerpt はスペルミスですた。

文字コード変換がうまくいってない mb_convert(ry なんですけど、どうすりゃいいでしょう。invalid token とかになっちまいますよ。困った。微 XSS 脆弱性。

  1. トップ
  2. prog
  3. むむむ、wb.php

== 使ってリテラルと変数を比較するときは、変数を右辺に置くべし……間違って = とかいても実行時エラーがでるから。でも癖で左においちゃうよなぁ。

  1. トップ
  2. prog
  3. if ==

今度は r が効かなくなった。叩いたら直った。駄目だ。

いろいろやってることが全部上手くいってない。駄目だ。

例えばあの子は透明少女ー

  1. トップ
  2. other
  3. q -> o -> r

今度は r が効かなくなった。叩いたら直った。駄目だ。
いろいろやってることが全部上手くいってない。駄目だ。
例えばあの子は透明少女ー

  1. トップ
  2. other
  3. q -&gt; o -&gt; r

固有名詞をエス化するのって何か好きじゃないな……大文字で初めてそのまま書いてやる。
今となっては Japan だろうが「にっぽん」だろうが特に悩まないで同じ国を思い浮かべられるけど、何かやっぱジャパンて不思議だよなぁ。

  1. トップ
  2. other
  3. esperanto のこゆめい

しょぼいプレイヤー(とはいえ値段にかかわらず、プラスチックでできてるの)は静電気やらに弱い。最初に使ってたプレイヤーはなんていうか、静電気発生すると音量が爆音になったり、速さが変わったり(もちろん音も)してうんこ。今のはそんなに気にならないけど、かばんに入れておくとプチプチとノイズが入る(だから常にポケットの中)

たぶん本体を金属で作れば大丈夫だと思うんだけども…… mp3 player で一番高い部品はメモリだろうなぁ。ハードディスクプレイヤーのほうが安いってなぁ……

  1. トップ
  2. other
  3. mp3 player

しょぼいプレイヤー(とはいえ値段にかかわらず、プラスチックでできてるの)は静電気やらに弱い。最初に使ってたプレイヤーはなんていうか、静電気発生すると音量が爆音になったり、速さが変わったり(もちろん音も)してうんこ。今のはそんなに気にならないけど、かばんに入れておくとプチプチとノイズが入る(だから常にポケットの中)
たぶん本体を金属で作れば大丈夫だと思うんだけども…… mp3 player で一番高い部品はメモリだろうなぁ。ハードディスクプレイヤーのほうが安いってなぁ……

  1. トップ
  2. other
  3. mp3 player

聞いてないときの付加疑問文(?)ってどう表現するんだっけ? 「(何かを思い出して)あんなこと言ったっけ。」っていうのを英語でなんていえばいいんだろう。何か忘れてる気がする。てか付加疑問文じゃないか。あれ?

  1. トップ
  2. other
  3. 付加疑問?

聞いてないときの付加疑問文(?)ってどう表現するんだっけ? 「(何かを思い出して)あんなこと言ったっけ。」っていうのを英語でなんていえばいいんだろう。何か忘れてる気がする。てか付加疑問文じゃないか。あれ?

  1. トップ
  2. other
  3. 付加疑問?

コメントはホストを記録する必要があるから、writeback ファイルは公開できないか。

  1. トップ
  2. web
  3. writeback

  • 日ごとのページを namazu のために静的に生成。
  • カテゴリごとの表示(非常に面倒くさい上に重い大して使わない機能)// いらねーか
  • コメント投稿スクリプト(既に主要部分は終了)
  1. トップ
  2. web
  3. todo

?n=10 とかってクエリ足せばその分だけ latest が表示されますよっと。

  1. トップ
  2. web
  3. ?n=

日記ツールにおけるカテゴリーはおまけ程度にしか考えてない。現に今の nulog は「エラーがでる。でも特定したりするのが面倒。」っつう理由でカテゴリー機能を切ってる。しかし(俺は)大して不便じゃない。……っというカテゴリごとの一覧をスマートに実装できないアフォの言い訳 orz

  1. トップ
  2. web
  3. 日記ツール