目次 †
関連 †
検索:リンク
リンク周辺のタグ †
Array- -
リンク †
ページ同士をつなぐもの、機能。
関連名で「このページはどう扱われているか」を表現。
検索で活用。検索の有用性を決めたり、情報の集約をするための機能。
思い付き †
曖昧なリンクを可能にする。
- 近いページ名とリンク
- 完全に一致するページがないときは曖昧なリンク。候補一覧を表示。
ページを自動作成。
(候補が1つでも表示する。そういうときは一致するよう直してもらわないといけないので表示して知らせる) - 候補一覧に順序入れ替え機能を。
- ただし、間違いない場合(ディレクトリ名違いの同一ファイル名がたった1つしかないとき)は通常のリンクに。
2つめができると候補ページが作られる。 - ディレクトリ名違いの同一ファイル名が複数ある時はやはり候補ページを。
自動リンクには手間がかかる †
プレーンテキストをリンク化する機能→自動リンク
Wikiの自動リンクは「自動リンク」というより「半自動リンク」。何をリンクするかページを作ることで明示しなければならない。
- -
これでは「書き散らしたことが自動的にまとまる」とはいかない。
人的資源が必要。
リンク †
ページ名変更に追従 †
†:i/外部からのリンクはメタページで追従
†:i/リンク要素はページ名変更に追従
一人で使うとなると手間がかかってしょうがないので、検索キーワードを自動的にページ化する機能でもないとアイデアノートにはしづらい。
とは言っても他の方法と比べると格段にWikiのほうが良いわけだけど。
自動生成ページの削除条件 †
検索キーワードから自動的にページを作るとなると、そうやって作ったページを自動的に削除する機能も欲しくなってくる。
削除の条件は、自動的に作られて、かつ…
被リンク数は有効そう。PageRank式でランクの高いページを残すように。
検索ワードをページ化すると、検索結果はBackLinkリストになる。(ヒット数=被リンク数になる)
BackLinkも検索対象になれば、あとで関係のある検索ワード(検索結果に出てきたページ名の一部)を検索したときにも被リンク数が増えてより残ることになる。
被リンク数に新しいものを残す(古いものを消す)というルールを加味すれば実用的になりそう。(しきい値ではなく)古いほどPageRankを減点するような仕組みで。古さやPageRankには上限を設けて。
これで’’最近’’注目されている言葉ほど残ることになる。注目され続けていればいつまでも残る。個々のページを参照しなくても残る。あまり書かれていない言葉でも残る。
全文検索が利用されることが前提だけど、この機能はその利用頻度を下げるものなので、全文検索とこの機能でバランスが保たれるようになりそう。
さらに効果を上げるにはタグクラウドのように検索ワードページを目立たせる。
消えそうなページほど早く消えるように。浮き沈みを激しく。
- -------
検索ワードページは全文検索のメモ化、検索結果のキャッシュになる?
リンクも検索対象 †
プラグインと同じ扱いで。
検索式にリンクを表す特別な記号「→」があれば。
追跡 †
:RenameLogを使ってページ追跡を。
参照リクエストのときに自動遷移。
編集ページのリクエストなら追跡しない。新ページを指すリンクを表示する。
:t/リンクより †
あとで:t/リンクのページを追加。
?付きリンク(DanglingLink)も有効に †
言葉?
「言葉」部分は曖昧さ回避ページ(曖昧検索の結果)へのリンク、「?」部分は新規作成へのリンク。「?」部分はなくてもいい。曖昧さ回避ページに新規作成リンクを置けばいい。
曖昧さ回避ページへつなげる。(似ているページ一覧)
用語集や別名・表記揺れをページ化しなくても、言葉のつながりや連想ができるようにするため。
書くときのタグ一覧と合わせればアイデアノートに効果大。
リンク/ †
特定版リンク †
リンクにタグを付けたい †
例えば…
WikiPageはテキスト1つでは実現不可能
[[なぜ?:表示用と編集を分ける]]
この関連名(なぜ?)はリンク([[表示用と編集を分ける]])の属性。
2つのページがどう関連しているのかを表す。
このタグは検索可能、検索結果に表示することも可能に。
ページ同士を関係づけることができる。RDBMSのリレーション機能のように。
表示の仕方次第でアイデア創出に効果が見込める。
- -------
例:
- 「「懸案事項」タグと「未解決」タグの両方が付いているページと、それに「解決策」という関連のあるページをリスト化」とか、それをデータ交換用形式でエクスポート、他のアプリで読み込んで…とか。
- 「「アイデアノート」というタグの付いた各ページにある「更新日」というタグ付きリンクで関連したページを、そのページの名前順にソートして表示」(更新日順に表示)とか。
日付くらいならページの属性にしてもいい。それ以外のユーザーが自分でしか使わない属性もリンクで表せるということ。
リンク先は無くてもそれなりに機能するので、リンクの関連名をページの属性のように使うこともできる。書くだけで機能する属性。全文検索でも代用可能だけど。 - 「「「アイデアノート」というタグの付いた各ページ」にある「「更新日」というタグ付きリンクで関連したページ」にある「「曜日」というタグ付きリンクで関連したページ」のページ名を表示」(何曜日にアイデアがよく生まれるか?を表示)とか。
「更新日」リンクは「更新:2001-01-01」というタグでも良さそう。
- -------
→リンクの属性:関連名で実現。リンクにはタグは付けられないが同等の効果。
実装 †
表示を省略 †
文字列展開したときにパスの中間を省略。
ただし、省略しない指定になっているのは除く。
省略はパス区切りを単位として。
最初と最後は省略しない。
リスト表示する際に要点を目立たせるための機能。
省略するのではなく、特徴を強調表示するのもいい。が、大抵末尾に特徴が現れるものなので目に留まりやすい。
→不要。
出現頻度による省略 †
パスの中間を省略する際、どこを省略するかを似ているページ名がどれだけあるかで判断してもいい。
パス区切りで区切って、共通部分を省略するように。
多く存在するパス名から順に省略していく。適度な長さになるまで繰り返し。
だから、「/ページ/…/UI/…/配色」のように数カ所省略することもある。
表記が動的になるので、定期的に更新しないと同じページ名でも略し方に違いが出てくる。
曖昧リンク †
曖昧リンクはリンクを先に作るときに効果的。
リンク先のページ名が違っていても有効だから。
異字体にも対応するとか。
いとゐとかも。
→リンク先が存在しなかったり一意でないBracketNameのリンク先。実装では曖昧さ回避ページへのリンクにする。
NewPage? → NewPage[?] †
1文字ではクリックしづらい。
クリックしやすく。
スタイルシートで。
[? NewPage ?]
にもできるように。
リンク †
外のサイトに読めるリンクを貼れるようにするため、サイト内リンクは日本語で。
そのために…
- エンコーディング用のヒントを付ける
ヒントが無ければUTF-8として扱う。
- リクエストされたURLがURLエンコード済みならデコードしてから文字コードのデコードを。
- URL→ページ名の変換法則をWiki上の設定で。
- /の後にページ名を付ける拡張パス形式の他、?以降にpage=ページ名を付ける形式にも対応。
リンクはページ内にのみ存在するオブジェクト †
リンクもWikiNotationの1つ †
ただ、検索式で特別な扱い…なのは他も同じ。
「→」はリンクを表す。
→WikiNotationの1つ。
フィルタリングしてからリンク †
強いBackLink †
バックリンクは2種類。
- 普通のバックリンク
- 強いバックリンク
(自動リンクではなく)明示的なリンクに対応するもの。[[キーワード]]
…で「キーワード」ページに強いバックリンクが作れられるが、キーワード
…が自動リンクされたときは普通のバックリンクになる。
- -------
強いバックリンクは…
- -------------------------------------
これを利用すると、適当な(思い付きの)ページ名でページ作成しても、ページ内容で自然にまとまるようにできる。
思い付いたことの追加位置を調べなくて良い。
外部へのリンク(http:…)も書ける †
ページ名を使えるところでは外部リンクも使えるように。
一部重なっている自動リンク †
例:
「リンクページ」、「自動リンク」の2ページが存在するとき「自動リンクページ」をどうリンクするか。
→分けずに曖昧なリンクに。
3つに分けたのでは操作しづらい。
「どちらかのみ」は次点。
- -------
包含関係の場合は長い方に直接リンク。これはおそらく妥当なので。
- -------
実装ではリンク候補を全て揃えてから一意のリンクか曖昧リンクかを判断することになる。
完全に重複(包含している)なら長い方に通常リンク、部分重複なら曖昧リンク、重複していないなら通常のリンク。
設計 †
リンクとタグ †
- 1つのページに付けられ、先が1つのページに決まっている→「リンク」
- 1つのページに付けられ、先がいくつあっても良い→「曖昧リンク」
- 1つのページに付けられ、先が無い|先が元と同じページただ1つになっている→「タグ」
リンクはElement †
リンクはElement。ページに含まれる要素。
中に他のElementを含むことは無い。
リンクはページの属性ではない。他のWikiNotationと同じクラス。
リンクはプラグインで作る †
他のWikiNotationと同じ。
target †
外へのリンクを作る際、開くフレームはリンク先のパスと同じ名前にする。
リンク先URIのうち、最後の/まで。
ドメイン毎にタブをまとめる。
これは正しいかどうか不明なのでサイト設定で固定値にできるように。
http://wiki.pmint.name/wiki/?FrontPage ☟ <a href="http://wiki.pmint.name/wiki/?FrontPage" target="http://wiki.pmint.name/wiki/">
http://wiki.pmint.name ☟ <a href="http://wiki.pmint.name" target="http://wiki.pmint.name/">
URIのドメイン名+最初のディレクトリまで、もいい。