きたです.
> そこで、従来のユーザがなにげにバージョンアップしても特に問題がなく、かつ
> 利用したいと思ったらいつでも手軽に導入できる方式を考えたい。今の実装では
> 専用スタイルを使っているので、たとえ今までサブタイトルにカテゴリ指定ぽい
> 表記を使っていても、すぐさま導入することはできない。
おっしゃるとおり.
> そこで、提案するのは以下の方式です。
>
> 1. 各スタイルは、必要とあればカテゴリ指定をparseし、特定のプラグイン呼出
> しにレンダリングする
>
> カテゴリ指定のparseはスタイルに任せることで、スタイルに合ったカテ
> ゴリ指定の文法を導入できる。逆に言えば、カテゴリが使えるかどうかは
> スタイルの実装方針に依存し、カテゴリ指定の文法もスタイルに依存する
> (ユーザ指定はできない)。
>
> カテゴリ指定の文法をユーザが選べないようにするのは問題ないと思いま
> す。スタイル自身の持つ文法に矛盾しない指定方法をユーザに選択させる
> のは酷だと思うからです。
そうですね.
# wikiスタイルでは[]をカテゴリ指定の文法にするのはマズイみたいだし.
> 2. プラグインがない場合には従来通りの動作をさせる
>
> 逆に言えば、カテゴリ機能を使いたい場合には、プラグインを入れるだけ
> で使えるようにする。
>
> 例えば「tDiary」というカテゴリを書いた場合、現在の実装では以下のよ
> うに展開されています:
>
> <%= category_anchor( "tDiary" ) %>
>
> これがcategory_anchorプラグインを通るとこうなる:
>
> [<a href="category.rb"?category=tDiary">tDiary</a>]
>
> しかし、プラグインファイルが入っていないと空になってしまうので(存
> 在しないプラグインは無視される)、対策案その1。00default.rbに以下の
> プラグインを定義する:
>
> def category_anchor( c )
> "[#{c}]"
> end
>
> 対策案その2。スタイルに以下のような展開をさせる:
>
> [<%= category_begin( "tDiary" ) %>tDiary<%= category_end %>]
>
> これなら、プラグインがない場合には「[tDiary]」という表示になり、プ
> ラグインがある場合だけリンクにできます。←最近思いついた技
>
> #まぁ、前者の方がいいだろうね……。
はい.前者の方がいいでしょうね.
> 3. category.rbとskel/category.rhtmをどうするか
>
> 考え中...
>
> もし、category.rbの機能をindex.rbに入れることが可能なら、skelの方も最
> 初から入れておけば、本当にプラグインの設置だけで使えるようになる。
多分可能です.
まずは,帰りの新幹線で 1 と 2 を tdiary_style.rb をベースに実装してみます.
で,その後 3 にトライしてみます.
# っつーことで帰ろう.
|