Create  Edit  Diff  FrontPage  Index  Search  Changes  RSS  Login

category2.rb

category_anchorをお好みの表示に

tDiary-1.5.3以降で使えるようになったカテゴリー機能。

カテゴリー部分アンカーは、category.rbに定義されたcategory_anchorというメソッド で実現されていますが、これを置き換えて、自分の好みに合わせましょう。

category.rbのメソッドを置き換えるので、category.rbがバージョンアップしたときは注意してください。

やり方は簡単です。category2.rbという名前で、

def category_anchor(cname)
	if @options['category.icon'] and @options['category.icon'][cname]
		%Q|<span class="category"><a href="#{@index}?year=#{@date.year};month=#{(@date.month - 1) / 3 + 1}Q;category=#{CGI::escape(cname)}"><img src="#{@options['category.icon'][cname] }" alt="#{cname}"></a></span>|
	else
		%Q|<span class="category"><a href="#{@index}?year=#{@date.year};month=#{(@date.month - 1) / 3 + 1}Q;category=#{CGI::escape(cname)}">#{cname}</a></span>|
	end
end

のような中身のファイルを用意し、pluginディレクトリに入れるだけです。

これにより、CSSでspan.categoryにてアンカーの表示をコントロールできるようになります。

ここでの変更は、

  • span.categoryでコントロールできるようにする
  • カテゴリー名をくくっている"["、"]"を削除

の二点のみですが、例えば、

class="category"

の部分を

class="category #{cname}"

のようにすれば、各カテゴリー毎にカテゴリーアンカーの表示を変えられるようになります。 ただし、カテゴリー毎に表示を変える方法は、日本語のカテゴリーに関してはCSSからコントロールはできません。

class名をもろに@options['category.icon'][cname]の"."より前の部分を使ってはどうでしょう?cat.1.png/cat.2.pngみたいなファイル名を付けられると困りますが、そんな名前付けるなということで。 ところで、今回のように個々のプラグインに対する意見や要望はどのように書くのがWikiの作法でしょうか?あと、このプラグイン名は体を表してないので「category_css_anchor」くらいでどうでしょう?(zoe 2003-02-22)

  • 2003-02-22 (Sat) 18:55:04 s.sawada? : このようにコメントを作って書き込めばどうでしょ>意見や要望のあるとき
  • 2003-02-22 (Sat) 20:41:53 zoe? : このコメントってデフォルトで付かないんでしょうか?付け方がhttp://digit.que.ne.jp/work/index.cgi?WalWiki#i7 ここ読んでも書いてなくて分かりません(泣
  • 2003-02-22 (Sat) 23:50:17 s.sawada? : わからないときは、「編集」をクリックて、コメントの付近に見覚えのない文字列がないかなーって探すですよ。#commentと#rcommentの2種類があります。
  • 2003-02-23 (Sun) 00:25:00 zoe? : うひぃ、失礼しました。キャッシュがきいてたみたいで、何も書いてないのになんで表示されてるのかさっぱりわからなかったもので。。

#comment?

Last modified:2006/05/09 23:27:46
Keyword(s):
References:[PluginList]