====== ページ名 ====== ページ名は、ページを特定するURLを構成する要素です。例えば、現在アクセスしているこのページのURLは「%%https://www.dokuwiki.org/ja:pagename%%」であり、ページ名は「ja:pagename」です。 **[[ja:DokuWiki|DokuWiki]]** における[[ja:Page|ページ]]名は、自動的に小文字に変換されます。利用できる文字は、英字、数字と、名前の途中に含まれる((つまり、名前の先頭や末尾に使うと削除されるので使えない))「特殊文字」''.'', ''-'', ''_''です。((訳者注:日本語などのマルチバイト文字にも対応します。))それ以外の特殊文字(例えばホワイトスペースやプラス、スラッシュ、パーセント等。マルチバイトの記号も使えません)はアンダースコア((あるいは、[[ja:config:sepchar|sepchar設定]]で指定した文字))に変換されます。コロン「'':''」は[[namespaces|名前空間]]の識別に使われます((より自然にファイルシステムの階層を反映するために、コロンをスラッシュに替える事も出来ます。[[ja:config:useslash|参照]]))。 設定オプション [[ja:config:deaccent|deaccent]] が有効な場合(デフォルトは有効)、現地のアクセント付き文字は記述的に等価な文字(''ü'' は ''ue'')か、アクセントを除去した文字(''á'' は ''a'')に変換されます。 ページ名の長さは[[ja:backlinks|バックリンク]]によって暗黙に制約されています(バックリンクに認識されるには、ページ名が3文字以上である必要があります)。 デフォルトを含めた多くのテンプレートで、ページのどこかにページのフルネームとそのパスにおける名前空間を表示します。「dokuwiki」テンプレート(デフォルト)の場合、ページ左上のタブ部分にあります。例えば、このページの名前は、''ja:pagename'' になります。 [[ja:InterWiki]] を使った他のWikiへのリンク時は、そのWikiの名前の制限が適用されます。 [[wp>CamelCase|キャメルケース]]やWiki単語が設定で有効になっていても、ページ名は小文字になります。 ===== ページ名と名前空間 ===== 名前空間はディレクトリ、ページ名はディレクトリ内のファイルと考えることもできます。 従って、''a:b:c''というページ名は次のように解釈できます: ルートの名前空間(常に存在する) | +-- 'a' 名前空間 | +-- 'b' 名前空間 | +-- 'c' ページ名 名前空間の中に同時に同じ名前のページ名と名前空間がありうるということに注意してください。上記の例に戻って、''a:b''を見てみると次のように解釈できます: ルートの名前空間(常に存在する) | +-- 'a' 名前空間 | +-- 'b' ページ名(上記の'b'という名前空間と混乱しないように) DokuWiki は、最後のトークン(最後のコロンの後)を[[ja:page|ページ]]そのものの名前として扱い、それ以外を名前空間として扱うので、これは矛盾はしません。 * ''a:b:c'' では、 ''a'' と ''b'' が名前空間で、''c'' はページ。 * ''a:b'' では、 ''a'' は名前空間、''b'' はページと解釈される。 詳細は [[ja:namespaces]] を参照してください。 ===== コアプログラムを改造し、大文字小文字を一緒に使う ===== 大文字小文字を併用するページ名を使えるように、DokuWikiのコアプログラムを改造する人もいますが、これは非推奨であり、公式的にサポートしていません。また、DokuWikiの機能を不明瞭な形で故障させてしまうかも知れません。 コードを改造する事で目的を果たせます。wiki/inc/pageutils.php の109行目辺りをコメントアウトして下さい。「Names_Like_This」←こんな感じの名前を付けられるようになります。 次のコードを探してコメントアウトして下さい。 $id = utf8_strtolower($id); :!: この改造は、数年前に私((訳者注:誰?))が使用しユーザーフォーラムにて発表したのですが、Anteaterでは動作しないようです。\\ :?: 他にアイデアはありませんか? \\ [[https://forum.dokuwiki.org/thread/5417|こちらのスレッド]]もご参照下さい。