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

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

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

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

*ページ/リンク/自動リンク [#v0faa42e]
RIGHT:[[:t/自動リンク]]

AutoLinkのこと。
*実装 [#of9f3b84]

**自動リンクの先にあるもの [#mfbfad60]
区切り文字で区切った単語ごとに最長一致。
----------
リンク先は文字列のどの範囲をリンク化するかにも関わるので、
自動リンクでのリンク先ページは…
+(ディレクトリ名を含む)フルパス名
+(ディレクトリ名を1つ以上含み、後方一致で適合する)ディレクトリ名と、ページ名
ディレクトリ名やページ名の途中からという意味ではない。適合の単位は区切り文字で分割した部分文字列。
+ページ名のみ、ディレクトリ名のみ
後方優先。ページ名→ディレクトリ名→さらに上のディレクトリ名。

…の順に優先。
つまり、後方からより長い部分に一致するページ、かつリンク文字列を全て含むページ。
ディレクトリ区切りはページ名に使えない文字を使うので、「ページ名だけを書いたのにディレクトリにリンクされる」ようなことはない。

適合するページが複数あるときは…
+同じディレクトリのページ
+近いページ
最も少ないリンク数でたどり着けるページ。
(ページ名だけでは判断できないし動的になってしまう)

…の順に判定。

----------

ページ名だけで深い階層にあるページにリンクするので、自動リンク→ページ/リンク/自動リンクのようなリダイレクトページが要らない。バックリンクなどの自動リンクを統一できる。
**ページ自身にはリンクしない [#i3a9f4df]
現在のページへのリンクはナビゲーションの中にあるので不要。
こうしないと包含関係にあるページ名の短いほうがリンクされなくなってしまう。

包含関係にあるページ名は長いほう優先。

現在のページとは距離ゼロのもっとも近いページ。

曖昧さ回避ページと競合する?
**2つのプラグインで実装 [#i3b8f916]
-[[]]を付けるプラグイン
-[[]]をリンク化するプラグイン

…で。