本文 編集 履歴 ソース 差分 最近の更新 VikiWikiとは

VikiWiki - テーマパークかよ、作者語る

動的にテーマを切り替える

テーマを動的に切り替えたいなぁ、と思っていてとりあえず実装してみた。 最近、バイナリ公開していなく互換とか考えないから簡単に実装できた。 vikiwikiの従来のテーマに道案内的なvikiway、何もなし(笑)のnoneを作成。 もちろん、一度選べばずっとそのテーマのまま(クエリに埋め込んでるだけだけど)。

普通は見た目を切り替えるのに使っているけど(ブラウザ非互換の吸収にも使えるけど)、 本当は見る側にやさしくするための機能なんです。

さぁ作ったゾ!スタイルシート改変術。その名もテーマパーク!

WikiにきれいなスタイルをCSSで、しかも自由に投入するための仕組み、 ThemeParkが完成しました、のは5/16でした。

なんでThemeParkかというと絶対ThemeResort?ではないな、と。

その後仕様を検討して結論を出しました。 コンセプトはEdit CSS on Webです。 themeプラグインで機能を分離していますが、完全に独自の機能を提供しています。 基本的にCSSは1つのファイルで複数のスタイルをごちゃごちゃと書くので見た目があまりよろしくない。 そこである塊ごとにメンテナンスがWeb上でできるような工夫をしました。 リスト、サンプル、フォーム、イメージ登録から構成されています。 興味のある方はThemeParkで実際にお試しください。

発表時のコメント

  • ksr - よく分からないんですがこれってセキュリティ的にはまずくないんですか? 05/16 11:52
  • 桶 - サニタイズしないと恐いですね。でも、好きですよ。こういうの。 05/16 12:52
  • s.sawada - ひょっとして、テーマパークのCSSを書き換えたら、ここのスタイルが全部変わってしまうんですか。だとしたら恐くてさわれない(笑 05/16 14:49
  • 作者 - Tikiさんとかと違ってうちは弱小Wikiですから。ところでCSSって危ないことができるんですか?ちょっと無茶したかも(^^;)。 05/16 18:45
  • s.sawada - 私が恐いと言ったのは、単なる「人んちのCSSを書き換えるなんて」という奥ゆかしさ(←おいっ)からです。でも、危険なこともできるみたいですよ。こちら参照→ http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%c0%a5%a4%a5%a2%a5%ea%a1%bcXSS%c2%d0%ba%f6
  • 桶 - その根拠が http://d.hatena.ne.jp/hoshikuzu/20030226 付近みたいですね。僕も s.sawada さん紹介の記事を見ていました。
  • 作者 - 潔くCSS内には一切URIを記述できなくしました。他の方法も検討してみます。 05/19 12:48
  • 作者 - CSS対処は、はてなさんとこと同じようなことをしたいと思います。 05/20 12:39

仕様確定後のコメント

  • ksr - 危なくないようにもできるんですね。勉強になりました。CSS書き換えられるとちょっとしたミスでサイトが壊れたようになっちゃいますよね。。Tikiもthemeプラグインの書き方を少し変えただけでサイトが読めなくなるのでどうしたものかと思ってます。 05/23 21:59
  • ksr - はてなダイアリーXSS対策を見るとスタイルシートのXSS対策はたいへんですね。 05/23 22:07