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