おそらく、構成ファイルに設定use_directory_urls: false
する必要がありmkdocs.yml
ます。
表示されている動作は、Web サーバーの機能に基づいています。ディレクトリ (たとえば/foo/
) を要求すると、サーバーはそのディレクトリ ( ) 内のインデックス ページを返します/foo/index.html
。MkDocs はこの機能を利用して「プリティ URL」(ファイル拡張子のない URL) を提供します。
したがって、サイトを構築するとき、MkDocs はすべてのページをディレクトリ内のインデックス ファイルに変換し、それらの場所を指すようにすべての内部リンクを書き換えます。インデックス ページを提供するように構成されたサーバーでページがホストされている限り (ほとんどは既定で)、これは問題ではありません。
ただし、Web サーバーを使用せずにファイルをローカルで参照している場合、またはインデックス ファイルを処理するように構成されていないサーバーを使用している場合は、実際の動作が表示されます。次の 2 つのオプションがあります。
- 適切に構成されたサーバーを使用してください。
- MkDoc のuse_directory_urls構成設定で機能をオフにします。
mkdocs.yml
後者を行うには、構成ファイルに次を追加します。
use_directory_urls: false
次に、でサイトを再構築しますmkdocs build
。これで、すべてのページがインデックス ファイルになるわけではありません。
これにより、サーバーなしで ( を使用してfile:///
) ファイルを参照できますが、ブラウザーのセキュリティ ポリシーにより、MkDocs サイト内では検索が機能しなくなることに注意してください。したがって、常にサーバーを使用することをお勧めします。これは、デフォルト構成がサーバーを必要とする理由も説明しています。