snbhsmt_log

ネットワークとコンピュータ、その他いろいろ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SnipSnap に print.css を追加

アクセスログを見ると /theme/print.css が 404 Not Found だとある。 print.css は SnipSnap のスタイル・シートに対するリクエスト にある様に 印刷媒体用のスタイル・シートとしてリクエストされているファイルで、 SnipSnap/themes/"テーマ名"/print.css に存在すべきスニップなのだが初期状態では 存在しないからである。

print.css が存在しなければ印刷できない訳ではないし、 ログ出力も気にしなければ何の問題も無いのだが、 WAR アーカイブのコンテキスト・ルートに print.css 自体は存在しているので、 とりあえずこれを追加しておく事にする。

ちなみに print.css スニップには RenderEngine ラベルで Plain Text を指定しておく。

スポンサーサイト

SnipSnap のスタイル・シートに対するリクエスト

SnipSnap からのレスポンスの head タグには以下が含まれている。

<link rel="STYLESHEET" type="text/css" href="http://www.speculativeflow.net/theme/default.css" />
<link rel="STYLESHEET" type="text/css" href="http://www.speculativeflow.net/theme/print.css" media="print" />
web.xml によると、/theme/* は org.snipsnap.net.CssHandlerServlet で ハンドリングされる。 CssHandlerServlet は、URL の /theme 以降を /SnipSnap/themes/"テーマ名" 以下の スニップに対応させ、その内容を返している。 ただし default.css だけは特別で css スニップに対応する。

ところで、CssHandlerServlet には theme というリクエスト・パラメータがあり、 値としてテーマ名を指定すると一時的にテーマを変更できるようだ。 以下の様にリクエストすると (リロードが必要かも) Sky テーマの画面になる。 http://www.speculativeflow.net/theme/?theme=Sky

この方法はあくまでもセッションに対する操作なので、ブラウザを閉じてしまえば、 またそのサイトのデフォルトのテーマに戻る。

Top

HOME

snbhsmt

Author:snbhsmt
Google Profiles

http://www.ksky.ne.jp/~snbhsmt/

全ての記事を表示する

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。