↑先頭 最新 検索 追記 編集

dev : サイト開発と blex のサイト



名前でリンク

blexの機能の一つとして、メニューのカテゴリ、本文中のキーワードをクリックすると、そのカテゴリのページを表示、または、一覧を表示します。 また、カテゴリに存在しないキーワードの場合、その語を簡易検索します。

名前でリンク

blogkitのカテゴリcacheを、カテゴリの索引(index)として利用することで、高速リンクを実現しています。
この高速リンクには、カテゴリしか利用できないため、タイトル名でリンクは対応しません。
実際の運用では、十分な働きをしてくれます。

  1. カテゴリが 1 ページの場合、そのページを表示。(day mode)
  2. カテゴリが 2 ページ以上の場合、そのページの一覧を表示。(latest mode)
  3. カテゴリに存在しない場合、その語を検索。(search mode)

カテゴリに「親カテゴリ(TOPと表記)」を指定した場合の挙動

カテゴリが親カテゴリ(TOP)の場合、挙動がやや複雑になります。

  1. ページがない TOP(0)、1ページ TOP(1) の場合、メニューナビとサイドナビは、グループ全体(親とすべての子カテゴリ)が対象
  2. 2ページ TOP(2+) 以上の場合、ガイドとサイドナビには、親カテゴリのページが対象

親カテゴリのページが2ページ以上ある場合、そのカテゴリのグループ全体の最新リストを表示しません。 表示方式をいろいろ試しましたが、この結論に至りました。

親カテゴリのページは、そのカテゴリのグループ全体の道案内ページとして利用します。 複数ページ(最大でも10ページ以内)であれば、親カテゴリのページ一覧表示から、簡単に目的のページを探すことができます。

トップのページ指定

tDiaryを、パラメーターなしでアクセスしたときに、特定のページを表示することができます。(テスト中)

起動プログラムindex.rb中に、$blex_start='index'などと、トップページに指定したいカテゴリ(例 index)、または、日付 (例 20120101) を指定します。(⇒設定方法は、blexのインストールを参照)

WEBサーバーのmod_rewrite機能を使用している場合、トップページを index.html のように、WEBアドレス(URL, URI)を表記することができます。

wikiとblexの違い

wikiの場合、一般的に、タイトルのページにリンクします。
blexの場合、リンクを高速化するために、カテゴリ名にリンクする方式としています。

wikiの場合、ページのタイトル名の付け方に工夫が必要で、後日、タイトル名を変えると、リンク全体に影響が発生します。
blexの場合、タイトル名を後で変更できる簡便さがあります。カテゴリ名を変更した場合、カテゴリの初期化が必要となります。

cgiの入力値と挙動

この内容は、α5までの検討中のものです。 実際に運用してみて、実現できる範囲で、自然な振る無いになるよう更新しています。 現在の版では、多少、違います。 説明不足、用語の変更による不統一があります。参考までに見てください。

入力値によって、ページ表示(day mode)、一覧表示(latest mode)、検索(search mode)を行います。

日付を含まない場合、一覧表示(latest mode)

cgiの入力値に、日付を含まない場合、一覧表示(latest mode)します。
ただし、カテゴリが1ページだけの場合、そのページを表示(day mode)します。
または、子カテゴリで、ページがない場合、そのカテゴリを検索(search mode)します。

表の説明

  • params: cgiの入力値、カテゴリ=@cgi['blogcategory'][0]、cat=子カテゴリ, TOP=親カテゴリ; TOP(0,1,2+)は、TOPカテゴリでページなし、1ページ、2ページ以上あり
  • path_list: ページの階層、パンくず、擬似的なパス表示
  • related_cats: 関連カテゴリ
  • guide; side_menu: メニューナビとサイドナビの対象; TOP family=親カテゴリのグループ全体
params(pages)path_listrelated_catsguide; side_menu
-HOME/*diaries_catsprev/next nums of block; @diaies
TOP(0)HOME/TOP/*TOP family catsn, TOP family cats
TOP(1)->day, TOPHOME/TOPTOP family catsTOP family
TOP(2+)HOME/TOPTOP family catsn=day, TOP
cat(0)->search,q=catHOME/*TOP childen cats + diary_cats - catn, search
cat(1)->day, catHOME/TOP/catTOP family cats + diary cat - catn, TOP family
cat(2+)HOME/TOP/catTOP family catsn, cat

日付を含む場合、day mode

params; cat pagespath_listrelated_catsguide; side_menu
dayHOME/*diary_catsprev/next diary title@diaies
day, TOP(1)HOME/TOPTOP children cats + diary_cat - catTOP family
day, TOP(2+)HOME/TOPTOP children cats + diary_catday(n), TOPs
day, cat(1)HOME/TOP/catTOP children cats + diary cat - catday(n), diarly_cats
day, cat(2+)HOME/TOP/catTOP children cats + diary catday(n), cat
作成: 2012年1月6日 更新: 2012年5月8日
カテゴリ: blex 名前でリンク