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
[ツッコミを入れる]