Edit

:t/?[?] リンクに付ける属性は?どう付けるか?検索ではどう指定してどう機能するか?

目次 Edit

 
 

関連 Edit

 

検索:リンク

 

リンク周辺のタグ Edit

Array
 

リンク Edit

ページ同士をつなぐもの、機能。
検索で活用。検索の有用性を決めたり、情報の集約をするための機能。

思い付き Edit

  • 近いページ名リンク
  • 完全に一致するページがないとき候補一覧を表示。
    ページを自動作成。
    (候補が1つでも表示する。そういうときは一致するよう直してもらわないといけないので表示して知らせる)
  • 候補一覧に順序入れ替え機能を。
  • ただし、間違いない場合(ディレクトリ名違いの同一ファイル名がたった1つしかないとき)は通常のリンクに。
    2つめができると候補ページが作られる。
  • ディレクトリ名違いの同一ファイル名が複数ある時はやはり候補ページを。

自動リンクには手間がかかる Edit

Wikiの自動リンクは「自動リンク」というより「半自動リンク」。何をリンクするかページを作ることで明示しなければならない。

これでは「書き散らしたことが自動的にまとまる」とはいかない。
人的資源が必要。

一人で使うとなると手間がかかってしょうがないので、検索キーワードを自動的にページ化する機能でもないとアイデアノートにはしづらい。
とは言っても他の方法と比べると格段にWikiのほうが良いわけだけど。


検索キーワードから自動的にページを作るとなると、そうやって作ったページを自動的に削除する機能も欲しくなってくる。
削除の条件は、自動的に作られて、かつ…

  • 古いもの
  • 参照数の少ないもの
  • 検索結果の少ないもの(リンクの少ないもの)
  • リンク数(BackLink数)の少ないもの(参照数、検索結果とも関係がある)
    …といったものだろうか。

リンク数は有効そう。PageRank式でランクの高いページを残すように。
検索ワードをページ化すると、検索結果はBackLinkリストになる。(ヒット数=被リンク数になる)
BackLink検索対象になれば、あとで関係のある検索ワード(検索結果に出てきたページ名の一部)を検索したときにも被リンク数が増えてより残ることになる。

リンク数に新しいものを残す(古いものを消す)というルールを加味すれば実用的になりそう。(しきい値ではなく)古いほどPageRankを減点するような仕組みで。古さやPageRankには上限を設けて。
これで’’最近’’注目されている言葉ほど残ることになる。注目され続けていればいつまでも残る。個々のページを参照しなくても残る。あまり書かれていない言葉でも残る。

全文検索が利用されることが前提だけど、この機能はその利用頻度を下げるものなので、全文検索とこの機能でバランスが保たれるようになりそう。

さらに効果を上げるにはタグクラウドのように検索ワードページを目立たせる。
消えそうなページほど早く消えるように。浮き沈みを激しく。


検索ワードページは全文検索メモ化検索結果のキャッシュになる?

リンク検索対象 Edit

プラグインと同じ扱いで。
検索式にリンクを表す記号「→」があれば。

追跡 Edit

:RenameLogを使ってページ追跡を。
参照リクエストのときに自動遷移。
編集ページのリクエストなら追跡しない。新ページを指すリンクを表示する。

リンク Edit

外のサイトに読めるリンクを貼れるようにするため、サイト内リンクは日本語で。
そのために…

  • エンコーディング用のヒントを付ける
    ヒントが無ければUTF-8として扱う。
 
  • リクエストされたURLがURLエンコード済みならデコードしてから文字コードのデコードを。
  • URL→ページ名の変換法則をWiki上の設定で。
  • /の後にページ名を付ける拡張パス形式の他、?以降にpage=ページ名を付ける形式にも対応。

?付きリンク(DanglingLink)も有効に Edit

言葉?

「言葉」部分は曖昧検索へのリンク、「?」部分は新規作成へのリンク。「?」部分はなくてもいい。曖昧さ回避ページに新規作成リンクを置けばいい。
曖昧検索へつなげる。(似ているページ一覧)

ページ作成しなくても、全ページの「言葉」を自動リンクできるようにするため。

書くときのタグ一覧と合わせればアイデアノートに効果大。

NewPage? → NewPage[?] Edit

1文字ではクリックしづらい。
クリックしやすく。

スタイルシートで。
[? NewPage ?]
にもできるように。

特定版リンク Edit

曖昧リンク Edit

曖昧リンクリンクを先に作るときに効果的。
リンク先のページ名が違っていても有効だから。

異字体にも対応するとか。
いとゐとかも。

表示を省略 Edit

文字列展開したときにパスの中間を省略。
ただし、省略しない指定になっているのは除く。

省略はパス区切りを単位として。
最初と最後は省略しない。

出現頻度による省略 Edit

どこを省略するかを似ているページ名がどれだけあるかで判断してもいい。
パス区切りで区切って、共通部分を省略するように。
多く存在するパス名から順に省略していく。適度な長さになるまで繰り返し。
だから、「/ページ/…/UI/…/配色」のように数カ所省略することもある。
表記が動的になるので、定期的に更新しないと同じページ名でも略し方に違いが出てくる。

リンクタグを付けたい Edit

例えば…

WikiPageはテキスト1つでは実現不可能

[[なぜ?:表示用と編集を分ける]]

このタグ(なぜ?)はリンク([[表示用と編集を分ける]])の属性
2つのページがどう関連しているのかを表す。

このタグ検索可能、検索結果に表示することも可能に。
ページ同士を関係づけることができる。DBMSのリレーション機能のように。

表示の仕方次第でアイデア創出に効果が見込める。

実装 Edit

リンクページ内にのみ存在するオブジェクト Edit

でも通常のクラスで良い。
リンク元になるページが所有する。

リンクオブジェクトのIDはオブジェクトID(普通。特に工夫しない)
リンク元/先が同じでもリンクが複数存在することもあるので(ID以外全て同じ、ということがあるので)。

リンクもWikiNotationの1つ Edit

ただ、検索式で特別な扱い…なのは他も同じ。
「→」はリンクを表す。

09/01/01
…日付(プラグインではない)
#F00
…色(文字色など)

→WikiNotationの1つ。

フィルタリングしてからリンク Edit

自動リンクならフィルタリングした文字列を検索リンク
Wikiページでフィルタリングルール設定
DanglingLinkをまとめる効果がある。

URIを書いたもの(http://…)もフィルタリングして。
こっちはWikiに限らないリンクの仕方と同じ。

強いBackLink Edit

バックリンクは2種類。


強いバックリンクは…

  • 強調表示
  • 他のリンクよりも先に表示
  • ページ/一覧などに「代表的な」「Wikiの構造として」表示できる

これを利用すると、適当な(思い付きの)ページ名ページ作成しても、ページ内容で自然にまとまるようにできる。
思い付いたことの追加位置を調べなくて良い。

相対パスで Edit

Wiki内のリンクに相対パスを使えば、こんな下らない機能を実装する必要もない。
http://vikiwiki.net/index.cgi?p=DirectEdit

外部へのリンクはhttp:を含むように Edit

他のアプリでもリンクになるから。

ページ名を使えるところでは外部リンクも使えるように。
外部リンク先を参照することもあるので、負荷軽減。

一部重なっている自動リンク Edit

例:
リンクページ自動リンクの2ページが存在するとき
自動リンクページ
をどうリンクするか。

  1. どちらかのみ
  2. 共通部分「リンク」を曖昧なリンクに。他は通常の自動リンク
    「自動」「リンク」「ページ」の3つに分ける。
  3. 分けずに曖昧なリンクに。
    自動リンクページ」が1つの曖昧なリンクになる。

→分けずに曖昧なリンクに。
3つに分けたのでは操作しづらい。
「どちらかのみ」は次点。

設計 Edit

リンクは2ページ間に付けられたタグ

  1. ページ
  2. ページ
  3. ページから見た先ページとの関係

というわけで、

 タグ
  △
  │
リンク

というか、

    何か
     △
 ┌─┴─┐
 │      │
タグ   リンク

リンクページ Edit

というか、Element?
ページはElementのはず)

リンクプラグインで作る Edit

リンクページ/属性にしない Edit

target Edit

外へのリンクを作る際、開くフレームはリンク先のパスと同じ名前にする。
リンク先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://">

URIのドメイン名+最初のディレクトリまで、もいい。