惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

Donghai's Blog

使用DBeaver连接Dynamics 365 Dataverse | Donghai C# 技术备忘 - LINQ | Donghai 为Astro站点添加Google Analytics | Donghai C# 技术备忘 - LINQ - Donghai’s Blog 20260819 说些什么 | Donghai Dynamics 365 interview questions | Donghai C# 技术备忘 (1) | Donghai Dynamics 365 事件框架、事件执行管道 | Donghai 马拉松配速表 | Donghai 马拉松赛事分级 | Donghai 抖音创作日志(2026年) | Donghai 2026年跑步日志(5月开始) | Donghai 2FA | Donghai 初尝Github Actions | Donghai AstroPaper主题添加Waline评论 | Donghai Dynamics 365集中视图/聚焦视图/Focused View | Donghai AstroPaper主题添加GitHub风格的Markdown警告框 | Donghai AstroPaper主题自定义记录 | Donghai 我日常收藏的优质网站资源导航(持续更新) | Donghai 如何从归档页批量获取URL并提交到Bing Webmaster Tools | Donghai PaperMod 使用 Zeoseven 自定义网页字体 | Donghai 我常用的Prompt | Donghai Hugo默认时区导致本地预览文章不显示 | Donghai 通过手动提交工单解决Bing不收录网站问题 | Donghai 如何访问 Power BI 管理门户(Power BI Admin Portal) | Donghai 还在手敲时间戳?Win11输入法一个技巧,秒输当前时间戳 | Donghai 工作术语备忘录(持续更新) | Donghai 使用XrmToolBox导出安全角色表级权限到Excel | Donghai 24年的年终总结 | Donghai World笔记 | Donghai
PaperMod文章底部添加相关文章 | Donghai
Donghai · 2025-01-24 · via Donghai's Blog

Table of contents

Open Table of contents
  • 1.新建页面
  • 2.添加样式
  • 3.调整 single.html

1.新建页面

首先在 layouts/partials 目录下新建一个 related.html,专门用于生成相关文章列表

该模板会:

  • 找到与当前文章 标签相同 的其他文章
  • 排除当前文章自身
  • 最多取前 5 篇作为相关文章展示
<!-- 找到当前文章所有标签相同的其他文章,但不包括当前文章自身,然后取前 5 篇这样的相关文章,赋值给变量 $related -->
{{ $related := first 5 (where (where .Site.Pages ".Params.tags" "intersect"
.Params.tags) "Permalink" "!=" .Permalink)}}
<!-- 检查是否有相关文章存在。如果有,再执行下面的代码 -->
{{ with $related }}
<h3 class="see-also">{{- i18n "related" -}}</h3>
<div class="related">
  <ul>
    {{ range . }}
    <li>
      <a href="{{ .RelPermalink }}" target="_blank">{{ .Title }}</a>
      <span class="related-date"
        >({{ .Date | time.Format "2006-01-02" }})</span
      >
    </li>
    {{ end }}
  </ul>
</div>
{{ end }}related.html

2.添加样式

接下来为相关文章区域补充样式

assets/css/extended/ 目录下新增 related.css

.post-footer h3 {
  margin: 1.2em 0 1.2em;
}

.post-footer .related {
  padding-bottom: 1.5rem;
}

.post-footer .related ul {
  padding-inline-start: 20px;
}

.post-footer .related ul li {
  list-style-type: square;
  margin-bottom: 0.5rem;
}

.post-footer .related ul li a {
  text-decoration: underline;
  transition:
    color 0.3s ease-in-out,
    text-decoration-color 0.3s ease-in-out;
  text-decoration-thickness: 1px;
}

.post-footer .related-date {
  font-size: 0.8em;
  font-style: italic;
}

.post-footer .related a:hover {
  box-shadow: 0 1px;
  text-decoration: none;
  color: #ff5722;
  text-decoration-color: #ff5722;
  text-decoration-thickness: 2px;
}assets/css/extended/related.css

3.调整 single.html

最后在文章页模板中引入该 partial

修改文件:layouts/_default/single.html,在 <footer class="post-footer"> 内插入相关文章模块:

<footer class="post-footer">
  {{- if (.Param "ShowRelatedContent") }}
  {{- partial "related.html" . }}
  {{- end }}
  <!-- ... -->
</footer>layouts/_default/single.html

通过 ShowRelatedContent 参数进行控制,可以按文章粒度决定是否展示相关文章

至此,文章底部的相关文章模块就完成了

(完)

如果这篇文章刚好帮到了你,欢迎请我喝杯咖啡