Maidsphere

2009.11.16

新機能追加告知 このサイトにようやくフィードが実装されました これでGoogleReader使いの君も! LivedoorReader使いの君も! その他様々なフィードリーダを使っている君も! このサイトの更新を簡単に確認することができます すばらしい 制限事項というか仕様をいくつか 順番に説明していく まず,Atom1.0フォーマットについて なんでこれなのかっていうと私の趣味 それにAtom1.0はRFC出てるし 標準という観点においては問題なし 基本的に,「標準」に準拠してるフィードリーダなら問題なく読めます で,RSSとかRDFで配信してほしいと願っている諸君 それはないので安心してくれたまえ Atom1.0を実装するためにRFCをがんばって読んでたおかげで もう疲れた 他のフォーマットの実装なんてもはやする気ないわwww 次に,全文配信しないことについて これは,昔私がフィードはできるだけ全文配信してほしいと言ってたことに 矛盾する形になってたいへん申し訳ない このサイトのログフォーマットの関係で 全文配信したら改行が正常に出力できないという問題があって 改行が一切ない汚いフォーマットで全文配信やるよりは 美しく整形されたサマリで配信したほうがいいと思ったから 具体的にいうと このサイトって,けっこう改行があるでしょ これをHTMLのbrタグで実現していないから そのかわりスタイルシートで white-space: pre-wrap; って指定してる このおかげで入力した文字が改行含めてそのまま出力されるの ふつうなら改行は半角スペースに置き換えられるんだけどね こういうフォーマットなので 全文配信すると改行が潰れるから ぐちゃぐちゃ じゃあ改行をbrタグに置き換えろよっていう話なんだけど それはできない なぜかっていうと 本文中にblockquoteタグやtableタグが書かれていることがあるから もし,何も考えずに改行をbrタグに置換していくと 本文中のこれらのタグ内にまでbrタグが挿入されることになって ValidなHTMLでなくなってしまう それは許されない さらにいうと それに対応するための実装が面倒かつ複雑 なぜなら 本文中に存在しうるブロック要素になるタグを判別しないといけないから このサイトは本来ブロック要素になるエレメントに 厳密にはブロック要素にならない指定をスタイルシートでしている個所があって それにまで対応してるときりがない だからこういう仕様になりました ご理解を