文章元数据与内容控制
在日常博客维护中,常会遇到早期技术文章失效、部分个人随笔不宜纳入站内检索、或长篇内容需分篇连载等实际需求。Chaos在Front Matter 中提供了若干字段以调控页面的呈现与索引行为。
推荐的Front Matter结构
Chaos推荐使用TOML或YAML 格式组织文章元数据。以下为兼顾搜索引擎检索与内容分类的典型配置:
| |
内容控制开关
1. 标记过时内容(deprecated)
对于成文较早、技术方案已废弃或配置已失效的文章,可显式声明:
deprecated: true # 或outdated: true实际效果
- 降低检索排序:站内全文搜索算法会自动降低该文章的相关性得分(降权75%),避免早期方案影响对有效解答的检索。
- 状态视觉标识:在站内搜索结果列表中,该文章标题后会附加
[已过时]标签。
2. 排除站内检索(searchHidden)
如果希望内容不参与站内技术检索。声明:
searchHidden: true # 或search: false实际效果
- 该文章不编入站内离线搜索索引。
- 文章仍正常发布,展示于首页与分类列表,并保留在
sitemap.xml中,外部搜索引擎仍可正常收录。
3. 避免搜索引擎索引(noindex)
若内容虽然仍然可以公开,但希望不被搜索引擎收录,则可声明:
noindex: true实际效果
- 排除在站内搜索索引之外。
- 自动从
sitemap.xml站点地图中移除。 - 页面
<head>区域注入<meta name="robots" content="noindex, nofollow">,指示搜索引擎不要索引该页面,亦不跟踪页面中的超链接。
系列文章(series)
为长篇连载指定统一的 series 名称:
series: "Chaos主题指南"Chaos会自动关联同系列文章,并在Open Graph元数据中注入系列信息。配合站点的taxonomy配置,读者可通过/series/chaos-主题指南/查阅完整篇目列表。
可交互代码参数(code_vars)
对于包含具体网络配置、系统管理命令或安装部署脚本的文章,可在Front Matter中通过 code_vars 声明允许读者动态调整的参数:
| |
实际效果
- 参数联动面板:主题自动在首个匹配代码块上方挂载可折叠的参数面板,并将代码块内对应的默认值标记为可交互的
<var class="code-var">。 - 全局同步与复制:读者在面板或代码块中修改参数后,全文代码块即时同步,右上角复制按钮自动复制替换后的真实内容。
- URL参数共享:非默认修改自动同步至URL查询字符串(如
?host=node1.example.org),便于分享与预设填入。 - 局部代码块免替换:通过
```text {code_vars="false"}可保留固定的输出或真实日志。
详细交互机制与配置规范参见代码语法高亮、交互参数与Mermaid图表。
扩展Markdown语法
自定义标题锚点ID
默认情况下,Hugo会根据标题文本自动生成锚点ID。若标题包含特殊字符或需要稳定、简短的引用路径,可在标题后显式指定:
### 核心架构与设计哲学 {#architecture}渲染后对应的HTML元素将直接附带 id="architecture" 属性,便于在正文中通过 [跳转至架构](#architecture) 精确链接。
列表页摘要截断(<!--more-->)
在Markdown中单独放置一行 <!--more-->:
| |
藉此可自主控制摘要的截断位置,避免整篇长文在列表页完整展开,以维持版面整洁。
在线阅读本文 混沌札记 https://delphij.github.io/chaos-theme/posts/front-matter-and-metadata/