• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:&tag(ページ,リンク,思い付き,実装,設計,目次);

*目次 [#gdab9ee4]
#contents
#br
#lsx(new=true);
#br

*関連 [#v9de546c]
#related
#br
#lsx(tag=リンク,new=true,except=^リンク(/.*)?$)
#br
[[検索:リンク]]
#br

*リンク周辺のタグ [#z6e052ad]
#tag(0,リンク)
#br
----

*リンク [#g716e0a8]
RIGHT:[[:t/リンク]]


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


**リンクも検索対象 [#pd5eb18d]
プラグインと同じ扱いで。
検索式にリンクを表す記号「→」があれば。
**追跡 [#n00f8b7f]
:RenameLogを使ってページ追跡を。
参照リクエストのときに自動遷移。
編集ページのリクエストなら追跡しない。新ページを指すリンクを表示する。


**リンク [#xa35a423]
外のサイトに読めるリンクを貼れるようにするため、サイト内リンクは日本語で。
そのために…
-エンコーディング用のヒントを付ける
ヒントが無ければUTF-8として扱う。
RIGHT:[[:t/文字コード]]

#br

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


**?付きリンク(DanglingLink)も有効に [#l7ffd0a8]
>言葉?

「言葉」部分は曖昧検索へのリンク、「?」部分は新規作成へのリンク。
曖昧検索へつなげる。(似ているページ一覧)

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

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


**NewPage? → NewPage[?] [#t5674cd6]
1文字ではクリックしづらい。
クリックしやすく。

スタイルシートで。
[?NewPage?]
にもできるように。
**特定版リンク [#kf2ea123]


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

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

RIGHT:[[:t/柔らかいUI]]
**表示を省略 [#t8057390]
文字列展開したときにパスの中間を省略。
ただし、省略しない指定になっているのは除く。

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


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


**リンクにタグを付けたい [#u14ad063]
>WikiPageはテキスト1つでは実現不可能
>[[なぜ?:表示用と編集を分ける]]

このタグはリンクの属性。
2つのページがどう関連しているのかを表す。

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

表示の仕方次第でアイデア創出に効果が見込める。
-「「懸案事項」タグと「未解決」タグの両方が付いているページと、それに「解決策」という関連のあるページをリスト化」とか、それをCSV化とか。
-「「アイデアノート」というタグの付いた各ページにある「更新日」というタグ付きリンクで関連したページを、そのページの名前順にソートして表示」(更新日順に表示)とか。
-「「「アイデアノート」というタグの付いた各ページ」にある「「更新日」というタグ付きリンクで関連したページ」にある「「曜日」というタグ付きリンクで関連したページ」のページ名を表示」(何曜日にアイデアがよく生まれるか?を表示)とか。
*実装 [#v6346e58]

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

RIGHT:[[:t/設定]]

URIを書いたもの(http://…)もフィルタリングして。
こっちはWikiに限らないリンクの仕方と同じ。
**強いBackLink [#o47fa82f]
バックリンクは2種類。
-普通のバックリンク
-強いバックリンク
明示的なリンクに対応するもの。
 [[キーワード]]
…で「キーワード」ページに強いバックリンクが作れられる。

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


----------------------------------------

これを利用すると、適当な(思い付きの)ページ名でページ作成しても、ページ内容で自然にまとまるようにできる。
思い付いたことの追加位置を調べなくて良い。
**ディレクトリ名無しでもリンク [#b53319b2]
/区切り以降の名前だけを書いても自動リンク。リンク先はフルパスのページ名。
ただし、優先順位がある。
+フルパスで書かれているページ名
+相対パス
親ディレクトリの指定方法が無いので、同じ階層と下位階層しか指定できない。
+曖昧リンク
候補が複数になるもの。
+検索リンク
候補が全くないとき。全文検索するリンク。

NaneyOrgWiki: WiKicker/HierarchicalWikiPage
http://www.naney.org/wiki/WiKicker/HierarchicalWikiPage.html
…のように、途中が抜けているパスを使えるのも良い。これは曖昧リンクの1つ。ページ名だけの場合も曖昧リンク。

存在しないページ名として使えるのは候補が1つに決まる書き方のみ。
ページ/作成リンク(DanglingLink)のつもりで書かれた曖昧リンクはフルパスか相対パスとして解釈される。

RIGHT:[[:t/曖昧]] [[:t/名前]]


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


**外部へのリンクはhttp:を含むように [#vee8ae0d]
他のアプリでもリンクになるから。


**一部重なっている自動リンク [#qb71fa36]
例:
リンクページ、自動リンクの2ページが存在するとき
自動リンクページ
をどうリンクするか。

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

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


*設計 [#jf0ba18c]
リンクは2ページ間に付けられたタグ。

+元ページ
+先ページ
+元ページから見た先ページとの関係

-1つのページに付けられ、先が1つのページに決まっているタグ→「リンク」
-1つのページに付けられ、先がいくつあっても良いタグ→「曖昧リンク」
-1つのページに付けられ、先が無い|先が元と同じページただ1つになっているタグ→「タグ」

というわけで、
  タグ
   △
   │
 リンク

というか、
     何か
      △
  ┌─┴─┐
  │      │
 タグ   リンク


**リンクはページ [#v605b6f7]

というか、Element?
(ページはElementのはず)
**リンクはプラグインで作る [#eb064c49]


**リンクはページ/属性にしない [#vc9b4f57]


**target [#y707eea2]
外へのリンクを作る際、開くフレームはリンク先のパスと同じ名前にする。
リンク先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のドメイン名+最初のディレクトリまで、もいい。