Hugo Relref 短代碼
使用 relref 短代碼插入給定頁面引用的相對永久鏈接。
要覆蓋 Hugo 內置的 relref 短代碼,請將 源代碼 復制到 layouts/_shortcodes 目錄中同名文件中。
用法
relref 短代碼接受單個位置參數(路徑)或一個或多個命名參數,如下所列。
參數
- path
- (
string) 目標頁面的路徑。沒有前導斜槓 (/) 的路徑首先相對於當前頁面解析,然後相對於站點其余部分解析。 - lang
- (
string) 目標頁面的語言。默認為當前語言。可選。 - outputFormat
- (
string) 目標頁面的輸出格式。默認為當前輸出格式。可選。
示例
relref 短代碼通常為 Markdown 鏈接提供目標。
調用此短代碼時始終使用 Markdown 標記法。
以下示例顯示站點英文版本頁面上的渲染輸出:
[鏈接 A]({{% relref "/books/book-1" %}})
[鏈接 B]({{% relref path="/books/book-1" %}})
[鏈接 C]({{% relref path="/books/book-1" lang="de" %}})
[鏈接 D]({{% relref path="/books/book-1" lang="de" outputFormat="json" %}})渲染後:
<a href="/en/books/book-1/">鏈接 A</a>
<a href="/en/books/book-1/">鏈接 B</a>
<a href="/de/books/book-1/">鏈接 C</a>
<a href="/de/books/book-1/index.json">鏈接 D</a>錯誤處理
默認情況下,如果 Hugo 無法解析路徑,它將拋出錯誤並使構建失敗。您可以在站點配置中將其更改為警告,並指定在無法解析路徑時返回的 URL。
refLinksErrorLevel: warning
refLinksNotFoundURL: /some/other/url
refLinksErrorLevel = 'warning'
refLinksNotFoundURL = '/some/other/url'
{
"refLinksErrorLevel": "warning",
"refLinksNotFoundURL": "/some/other/url"
}