トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2010-04-26(月) [長年日記]

tDiary: ナビゲーションメニューにdropdown_calendarなどを埋め込む

先日のデザイン変更ついでに、↑に出ているナビゲーションメニューへカレンダーなんかを埋め込んだら、どうやってるのか聞かれたので、参考までに。何を入れたいと思うかは人それぞれなのでcontribとかには入れるつもりはないんだけど。

# my_navi.rb プラグイン
#
# 通常のnaviに、カレンダーとRSS feedのアイコンを追加。
# dropdown_calendar.rbを有効にしておくこと。
# @options['dropdown_calendar.label']は空('')にしておく。
def navi
   result = %Q[<div class="adminmenu">\n]
   result << navi_user
   result << navi_admin
   result << calendar
   result << %Q[<span class="adminmenu"><a href="index.rdf"><img style="border-width: 0px;" src="http://tdiary1.tdiary.net/feed-icon-12x12.png" width="12" height="12" alt="RSS feed"></a></span>]
   result << %Q[</div>]
end

重要なのはCSSで、カレンダーが挿入するdivやformなんかをinline要素にする必要がある。gustavテーマにはこんな感じに仕込んである:

div.adminmenu div,
div.adminmenu form,
div.adminmenu select {
   display: inline;
}

おまけ。スマートフォン向けにnaviのラベルを短縮:

if @conf.smartphone? then
   def navi_index; 'TOP'; end
   def navi_prev_diary(date); '前'; end
   def navi_next_diary(date); '翌'; end
   def navi_prev_nyear(date); "前"; end
   def navi_next_nyear(date); "次"; end
   def navi_latest; '新'; end
   def navi_update; "追"; end
   def navi_edit; "編"; end
end
Tags: tDiary

トップ «前日 最新 翌日» 編集
RSS feed