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

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
L
LangChain Blog
博客园 - Franky
美团技术团队
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
小众软件
小众软件
Y
Y Combinator Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News

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 参数进行控制,可以按文章粒度决定是否展示相关文章

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

(完)

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