一覧化のページ/要素で実現するので、もういい。
検索結果をページセット化、それを一覧化するページ/要素に渡す。
検索機能の一部。
表示用のデータを生成する。
フォーマットは章ごとに適用したい。つまりページごとに適用できればいい?
検索/フォーマットは章などとは無関係にしなければならない?複数行と適合できるように。
実体はマークアップされたテキスト。つまりテンプレート。
索引を作るには? †
索引はBacklinkを並べたもの。
Backlink(1) Backlink(1)を含むページ/名前(1) Backlink(1)を含むページ/名前(2) … Backlink(2) Backlink(2)を含むページ/名前(1) Backlink(2)を含むページ/名前(2) …
(または Backlinkでリンクされてるページ/名前 > Backlinkを含むページ/名前)
どういうフォーマットルールにするか?
- Backlinkを探す。
検索/フィルタリング
全ページのBacklinkが集まる。それらが存在したページ/名前と結びつけて。 - {ページ/名前→Backlink)の集合を{Backlink→ページ/名前}の集合に変換する。
変換が検索/フォーマットの機能?検索/ソートの機能?
Backlink→ページ/名前の表が得られる。 - ページ化
要テンプレート?
検索/ソート †
検索時の順位付け。
何が1位に来るかを定義する。
ソートは検索/クエリーの()内をソートキーにする機能。
「size:([0-9]+)」なら「size:10000bytes」などに適合。「10000」部分でソート。
正規表現と後方参照でソートキーを作るようなもの。
これでページに属性を付けられる。地名とか商品分類とか。利用者に必要十分な範囲の。
説明は「枠や両端を検索してその中身で並べ替えをする機能」
()が複数ある場合は番号順に第1ソートキー、第2…。
(0:[0-9]+)月(1:[0-9]+)日(2:[.*?]) 『(3:.*?)』
なら月>日>曜日>タイトルでソート。
[0-9]+月(8:[0-9]+)日(3:[.*?]) 『.*?』
なら曜日>日付でソート。曜日ごとの表示に。
(10:[0-9]+)月[0-9]+日(2192548:[.*?]) 『(91984388:.*?)』
なら月>曜日>タイトル。月ごとにまとめ、その中で曜日ごとに。同月、同曜日の中でタイトル順にソート。
検索、一覧化 †
表の体裁を作るだけの機能以外に、
検索/ソートの機能をこっちに移す。
検索は適合スコア順にページを並べるもの。表はページから特定部分を取り出して、それを並べるもの。
検索結果にページ内容も含める。
特定のページセットをデータソースにして、各ページの特定部分を一覧化。
任意のページやディレクトリを任意数集めて、その中から列(ゆるい型付けした値)を取り出し。
列に取り込むのは()にあてはまった部分。
()にはソートキーかどうかの指定ができるように。
プレビュー †
検索語ごとに…前後プレビュー。
あるいは箇条書きで「(語)は(プレビュー)」の羅列を見られるように。
ソートと連携 †
ソートキー
機能呼び出し †
出力形式を変える機能を呼び出す。
- 機能/テキスト出力
- 機能/RSS
…など。
完全一致を強調表示 †
方法 †
結果一覧部分は単一の機能出力。
一覧部分のフォーマット †
一覧部分のフォーマットは機能の設定。機能/一覧。
WikiEngineのものではない。
どう展開するかは各機能のコード次第。
でも機能からWikiEngineのページ/HTML変換は利用できるので、機能が対応していればこのフォーマットにも普通に記法を埋め込める。
第1キーでソート順(ソートキー)を決める †
検索結果はランク分け †
順位だけでなくその間の開きが分かるように。
色で。
適合率100%〜70%などごとに。
「外せないキーワード」に100%合ったもの…といった区分も。ソート順でこの区分だけを集められるように。
適合率を元にしたカラーバーを1件ごとのフォーマットに入れて実現。
色は0%〜100%までなだらかに変化するグラデーション。結果の中に開きがあればカラーバーにも段差ができることになる。
出力時、検索/フォーマットは処理する側 †
フォーマットが持つコードを使用するので。ただのテンプレートではない。
ページセットを与えられるとそれをHTML化。
必要な情報のうち、グローバルなデータはフォーマット自身が集める。
それ以外は?