Safari RSS探索
どうやって短縮表示しているのだろうかと思って調べてみた。RSS表示中にソースを表示するとSpotlightっぽく整形されたDHTMLが表示される。そこから拾ったURLをアドレスバーに入力するとJavaScriptソースファイルがダウンロードされるのでその中身を追跡してみる。いままで常に全文表示させていたので気づかなかったけど、これよく見ると要約している訳ではなく単に先頭からぶつ切りにしているだけだ。
どうやら-apple-line-clampなるスタイルシート独自拡張属性を使っているらしい。ところが検索してもそれらしきドキュメントが見当たらない。検索で引っかかったCVSのコメントを読んで適当な要素に以下のように記述すればとりあえずそれらしくなるとわかった。
overflow: hidden; display: -khtml-box; -khtml-box-orient: vertical; -apple-line-clamp: 50%;
ただ、場合によってうまく短縮されず半行だけ表示されたり、-khtml-boxが何なのかよく知らないし、text-overflow:ellipsisと併用する方法もよくわからないし、何よりも「適当な要素」がどれなのかよくわかってない。