urls.Anchorize

anchorizeurlize 函數相似:

  • 使用 anchorize 函數來生成 HTML 的 id 屬性值
  • 使用 urlize 函數來清理字串以用於 URL

例如:

{{ $s := "A B C" }}
{{ $s | anchorize }} → a-b-c
{{ $s | urlize }} → a-b-c

{{ $s := "a b   c" }}
{{ $s | anchorize }} → a-b---c
{{ $s | urlize }} → a-b-c

{{ $s := "< a, b, & c >" }}
{{ $s | anchorize }} → -a-b--c-
{{ $s | urlize }} → a-b-c

{{ $s := "main.go" }}
{{ $s | anchorize }} → maingo
{{ $s | urlize }} → main.go

{{ $s := "Hugö" }}
{{ $s | anchorize }} → hugö
{{ $s | urlize }} → hug%C3%B6

清理邏輯

在預設的 Markdown 渲染器 Goldmark 中,清理邏輯由網站配置控制:

hugo.
     
markup:
  goldmark:
    parser:
      autoHeadingIDType: github
[markup]
  [markup.goldmark]
    [markup.goldmark.parser]
      autoHeadingIDType = 'github'
{
   "markup": {
      "goldmark": {
         "parser": {
            "autoHeadingIDType": "github"
         }
      }
   }
}

此配置控制 anchorize 函數的行為,以及將 Markdown 渲染為 HTML 時生成的標題 ID。

autoHeadingIDType 設為以下之一:

github
與 GitHub 相容。這是預設設定。
github-ascii
github 設定類似,但會移除非 ASCII 字元。
blackfriday
為相容 Hugo v0.59.1 及更早版本而提供的選項。此選項將在未來版本中移除。