你有没有在社交软件或微信群里分享过长得让人窒息的链接?一长串中文 URL 编码 %E4%B8%93%E6%A0%8F 加上四五层嵌套目录,不仅手机端换行挤成一团乱码,读者点开的欲望也直接折半。
短小、精炼且语义明确的 URL 路径,不仅读者看着舒服,在搜索引擎(SEO)眼里权重也更高。
RustPress 提供了非常灵活的 [taxonomies] 分类体系与路由别名映射机制,允许你自由定制专栏、短动态、标签、分类、开源项目、出版著作与历史归档的对外访问路径。
一、[taxonomies] 默认路由映射表
打开 config.toml,找到 [taxonomies] 配置区块:
# ==============================================================================
# 分类法与内容体系 URL 路由别名映射 [taxonomies]
# ==============================================================================
[taxonomies]
columns = "/c" # 专栏体系(系列长文/连载课程)
tweets = "/t" # 短动态(闲言碎语/去中心化微动态)
categories = "/cat" # 文章分类体系
tags = "/tag" # 标签云体系
projects = "/p" # 个人开源项目与软件作品
works = "/w" # 个人出版著作与书籍
archives = "/a" # 历史按年份月份归档
friends = "/f" # 友情链接页面
about = "/about.html" # 个人作者简介独立页
这是 RustPress 中默认的导航配置,你可以根据需要随意修改,但一般情况下无需修改。有一种情况,当你用 RustPress 的专栏发布某个软件的文档时,假如软件叫 todo,为了使路径更加简单,你可以将 columns = "/c" 改为 columns = "/",这样 todo软件的文档首页地址就变成了 /todo/index.html。
二、各类内容模型的 URL 生成规则
当你在 config.toml 里配置了别名后,静态编译时会自动映射出干净短小的 URL:
1. 专栏体系(Columns)
- 专栏总览
- 源码目录:
source/columns/ - 路由配置:
columns = "/c" - 最终对外 URL:
https://yishulun.com/c/
- 源码目录:
- 单个专栏主页
- 源码目录:
source/columns/rustpress/ - 路由配置:
columns = "/c" - 最终对外 URL:
https://yishulun.com/c/rustpress/
- 源码目录:
- 专栏单篇文章
- 源码目录:
source/columns/rustpress/1.1.安装与本地开发预览.md - 路由配置:
columns = "/c" - 最终对外 URL:
https://yishulun.com/c/rustpress/1.1.安装与本地开发预览.html
- 源码目录:
2. 闲言碎语(Tweets)
- 短动态主广场
- 源码目录:
source/tweets/ - 路由配置:
tweets = "/t" - 最终对外 URL:
https://yishulun.com/t/
- 源码目录:
3. 分类与标签体系(Taxonomies)
- 全站分类总览
- 源码目录:
source/目录结构自动聚合 - 路由配置:
categories = "/cat" - 最终对外 URL:
https://yishulun.com/cat/
- 源码目录:
- 单分类文章列表
- 源码来源:文章 Frontmatter
categories: ["后端"] - 路由配置:
categories = "/cat" - 最终对外 URL:
https://yishulun.com/cat/后端/
- 源码来源:文章 Frontmatter
- 全站标签云总览
- 源码来源:全站文章 Frontmatter 标签汇聚
- 路由配置:
tags = "/tag" - 最终对外 URL:
https://yishulun.com/tag/
- 单标签文章列表
- 源码来源:文章 Frontmatter
tags: ["Rust"] - 路由配置:
tags = "/tag" - 最终对外 URL:
https://yishulun.com/tag/Rust/
- 源码来源:文章 Frontmatter
4. 项目、著作、归档与友链
- 开源项目
- 源码目录:
source/projects/ - 路由配置:
projects = "/p" - 最终对外 URL:
https://yishulun.com/p/或/p/rustpress.html
- 源码目录:
- 出版著作
- 源码目录:
source/works/ - 路由配置:
works = "/w" - 最终对外 URL:
https://yishulun.com/w/或/w/miniprogram-0-1.html
- 源码目录:
- 历史归档
- 源码目录:
source/时间轴聚合 - 路由配置:
archives = "/a" - 最终对外 URL:
https://yishulun.com/a/
- 源码目录:
- 友情链接
- 源码目录:
source/friends/ - 路由配置:
friends = "/f" - 最终对外 URL:
https://yishulun.com/f/
- 源码目录:
三、与顶部导航菜单([[menu.main]])协同
修改了 [taxonomies] 的路径别名后,要确保 [[menu.main]] 导航菜单中的链接与其保持对应:
[[menu.main]]
name = "首页"
url = "/"
weight = 1
[[menu.main]]
name = "归档"
url = "/a/"
weight = 2
[[menu.main]]
name = "分类"
url = "/cat/"
weight = 3
[[menu.main]]
name = "标签"
url = "/tag/"
weight = 4
[[menu.main]]
name = "专栏"
url = "/c/"
weight = 5
[[menu.main]]
name = "友链"
url = "/f/"
weight = 6
[[menu.main]]
name = "项目"
url = "/p/"
weight = 7
[[menu.main]]
name = "关于"
url = "/about.html"
weight = 8
注意:在
default主题中顶部常驻有横向导航栏;在light主题中采用极简设计,导航是在搜索框中体现的,并没有传统的导航栏。
四、两种风格的定制建议
- 喜欢经典完整单词:如果你偏好 Hugo 或 Hexo 的习惯,可以把别名改为全拼:
columns = "/columns",categories = "/categories",tags = "/tags",archives = "/archives"。 - 喜欢极简短链:推荐保留默认的单字母缩写(
/c,/t,/cat,/tag,/p,/w,/a,/f)。在手机端展示、剪贴板复制和社交传播时,短链接既优雅又不易断行。
单字母短路由能极致压缩 URL 长度,防止在社交平台分享时折行破碎。有人觉得过度精简会牺牲 URL 自解释的语义直观性,没关系,可以这样优化:顶层分类采用短路由,底层具体资源(文章/专栏名)保留清晰语义。
下一篇,我们来看如何绑定自己的独立顶级域名,并配置 CNAME 解析与全站 HTTPS。