私はHUGO( http://gohugo.io/ )静的サイトジェネレーターを初めて使用します。ローカルホストとしてローカルアクセス可能なHugoサーバーを実行しています:1313。 2つの異なるセクションでページをリンクしようとしています。 「_feature.md
_」ファイルには「_grid_modules.md
_」へのリンクが必要です。その逆も同様です。以下は、hugoで生成されたサイトの両方のファイルのディレクトリ構造です。
_~/mysite/content/about/feature.md
_
_~/mysite/content/modules/grid_modules.md
_
両方のページをリンクするための最良の方法は何ですか?私が試しているのは次のとおりです
_feature.md
_:
"[grid_modules] (../modules/grid_modules)
"
このリンクにアクセスしようとすると、「_localhost:1313/about/modules/grid_modules
_」でエラーが発生しますが、場所が間違っていることがわかります。
リンクに欠けているものは何ですか?代わりに「_localhost:1313/modules/grid_modules
_」が表示されないのはなぜですか。
この回答は、 bep によって提供される answer に基づいています。その答えは正しいですが、あまり明確ではありません(解決策を見つける前に、さまざまなことを試してそれを何度も読んだので)。
前に述べたように:
ページのURLは、URL構成によって異なります( https://gohugo.io/extras/permalinks/ を使用するか、個々のページのURLとして直接設定します)。
ref
タグとrelref
タグマークダウン内を使用して、リンクが正しいURLに解決されるようにすることができます。
あなたの例では、これは次のいずれかのようになります(絶対URLと相対URLのどちらが必要かによって異なります)。
[grid_modules] ( {{< relref "modules/grid_modules" >}})
[grid_modules] ( {{< ref "modules/grid_modules" >}})
ページのURLは、URL構成によって異なります( https://gohugo.io/extras/permalinks/ を使用するか、個々のページでURL
として直接設定します) 。
そして、これは多くの場合、ファイルシステム上のパスと同じではありません。
Hugoには、役立つヘルパー関数がいくつかあります。このドキュメントのref
およびrelref
を参照してください。
私はこれと同じ問題に遭遇し、次のより簡単な解決策が機能することを発見しました。 content /の下のページから[text](/url/path)
の形式でURLが指定されている場合、/ url/pathルートは事実上content /(またはレンダリングされたサイトのpublic /)になります。したがって、「〜/ mysite/content/about/feature.md」内から「〜/ mysite/content/modules/grid_modules.md」にリンクするには、「feature.md」に書き込むだけです。
[grid_modules](/modules/grid_modules)