Hugo建站 – 什么是 Slug 和 URL

Hugo Markdown 文件的 Front Matter slugurl 有什么不同,作用是什么,如何使用?

MARKDOWN
title: 'Hugo PaperMod - Slug和URL'
date: ''
slug: ''
url: 'hugo-papermod/slug-and-url'
showToc: true
TocOpen: true
showDocInfo: true
comments: true
weight: null
draft: false
enableDonate: true
点击展开查看更多

slug

slug 是用于生成 URL 片段的字段,它会影响文章的最终路径,但不会改变整个 URL 结构

如果 title 过长或包含特殊字符,可以用 slug 来简化 URL

默认情况下,Hugo 会使用 title 的 小写、短横线分隔 形式作为 slug

例如:

content/posts 路径下新建 my-first-post.md 文章,然后文章 Front Matter 中的 slug 如下

MARKDOWN

title: "My First Hugo Post"
slug: "my-first-post"
点击展开查看更多

URL 效果:

http://example.com/posts/my-first-post/

url

url 允许完全自定义文章的访问路径,并且可以脱离 Hugo 默认的路径规则

如果指定了 url,Hugo 不会使用 slugtitle 生成 URL,而是直接采用 url 字段的值

MARKDOWN

title: "My First Hugo Post"
url: "/custom-path/my-special-post/"
点击展开查看更多

URL 效果:

http://example.com/custom-path/my-special-post/

所以说,url 可以完全控制文章的路径,不受 slug 影响

示例对比

假设有 content/posts/my-post.md,不同 slug 和 url 配置的影响如下

MARKDOWN
title: "My Hugo Guide"
slug: "hugo-guide"
url: "/docs/hugo-guide.html"
点击展开查看更多
Hugo 配置 生成的 URL
默认 /posts/my-hugo-guide/
slug: “hugo-guide” /posts/hugo-guide/
url: “/docs/hugo-guide.html” /docs/hugo-guide.html

区别(总结)

/ slug url
作用 影响 URL 片段 直接指定完整路径
依赖默认结构
适用场景 让 URL 更简洁 自定义完整路径
例子 slug: “short-title” → /posts/short-title/ url: “/custom/path.html” → /custom/path.html

slug 和 url 的使用建议

版权声明

作者: Donghai

链接: https://mgrowup.com/posts/hugo/slug-and-url/

许可证: CC BY-NC-SA 4.0

文章已根据知识共享署名-非商业性使用-相同方式共享4.0国际许可协议授权。请注明来源,仅非商业使用,并保持相同的许可协议。

评论

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键