NEWS LETTER

Hexo博客文章底部添加推荐相关文章:使用hexo-article-recommender插件实现

  • Home
  • hexo-article-recommender.html
Scroll down

截至目前(2025 年),Hexo生态中主流的、活跃维护的、具备“文章推荐”功能的插件相对较少,且多数方案较为简单(如仅基于标签或分类匹配)。hexo-related-popular-posts也是已经年久失修,而hexo-recommended-posts也是五年以前的插件需要外部服务器提供api,所以我自己做了一个插件来实现这一功能。

项目地址:https://github.com/i-NMB/hexo-article-recommender
欢迎 Star、Issue 与 PR!

  • 特点:
    • 纯本地运行,无网络请求;
    • 融合语义、标题、标签、分类、时效性五大维度;
    • 提供三种策略(balanced / title-focused / content-focused);
    • 输出推荐分数、关系类型、阅读时长等元数据;
    • 内置响应式卡片,支持自动注入或手动调用;
    • 兼容 Hexo 7.0+,无外部依赖。
  • 适用人群:追求智能推荐、隐私安全、开箱即用体验的用户。

1.效果

如题是我录制的一个Demo(转.gif),他会自动在</article>标签之后添加对应的卡片(也可以手动设计),并且在卡片上显示是否为相关(相关 or 推荐)

Demo

2.安装

开箱即用,您只需要从npm安装插件,一行命令即可开始使用

1
npm install hexo-article-recommender --save

安装后默认自动在每篇文章底部插入美观的推荐卡片——无需任何配置。

卡片内置响应式设计,支持:

  1. 悬停动画与渐变背景
  2. 阅读时长估算(基于中英文阅读速度研究数据)
  3. 推荐分数与关系类型标签
  4. 作者信息与摘要截取

2.1.作者信息与摘要截取设置

如果你需要在卡片上显示作者信息与摘要截取则需要以下配置,否则将会显示“本站作者”和“原创文章”的默认字样:

请您在

在文章的 Front Matter 中添加

1
2
3
4
---
author: "作者名称"
author_title: "作者描述"
---

或者

1
2
3
4
---
author_name: "作者名称"
author_title: "作者描述"
---

比如:

1
2
3
4
5
6
---
title: 主题样式 Demo
date: 2025-10-30 19:07:05
author: "i囡漫笔"
author_title: "随心漫笔写文章"
---

3.配置(可选)

hexo-article-recommender预设了默认配置,同时您可以通过修改博客根目录下的_config.yml文件来进行自己的偏好设置。

1
2
3
4
5
6
7
8
9
10
11
article_recommender:
# 是否自动将推荐模块注入到文章页面底部(默认 true)
inject: true
# 推荐策略(可选:balanced | title-focused | content-focused,默认 balanced)
strategy: balanced
# 默认推荐文章数量(默认 3)
default_count: 3
# 推荐区域标题(支持中英文)
recommended_title: "推荐文章"
# 时效性衰减系数(值越大,旧文章权重下降越快;默认 0.3)
recency_decay: 0.3

推荐策略(strategy)的占比如下:

策略名称 语义占比 标题占比 标签占比 分类占比 时效占比
balanced(默认) 50% 20% 15% 10% 5%
title-focused 30% 40% 15% 10% 5%
content-focused 70% 10% 10% 5% 5%

如果你还有什么好的占比建议可以直接在评论区或者在github的开源项目上留言。

手动注入(高级)

该插件通常通过 Hexo 的 injects 机制,将推荐内容自动插入到主题模板中 </article> 标签之后。但如果该位置布局不合适,或背景色与插件默认样式不协调,建议改用手动注入方式,以获得更灵活的控制和更好的视觉融合。

或者若你希望自定义位置或样式,也可以参考手动注入:

插件特点/运作方式

许多 Hexo 推荐方案仅依赖标签或分类进行匹配,容易导致推荐结果单一。而本插件采用五维特征融合模型

  1. 语义相似度:通过 TF-IDF 与词频分析提取内容关键词,计算文章间语义关联;
  2. 标题关键词:强化标题中高权重词汇的匹配优先级;
  3. 标签一致性:相同标签的文章天然具备关联性;
  4. 分类归属:同分类下的内容更可能属于同一主题;
  5. 时效性衰减:通过可配置的衰减系数,让新文章获得更高曝光权重。

这五个维度经过归一化后加权求和,最终输出 0~100 的推荐分数,并标记推荐类型为 related(强相关)或 fallback(兜底推荐),便于前端差异化展示。

流程

推荐不必依赖云端,本地也能做到精准与优雅。无论你是技术博主、写作爱好者,还是内容运营者,这个插件都能以最低成本,为你的读者带来更连贯、更沉浸的阅读体验。

推荐文章
站内
相关 (45.8%)
6分钟

Hexo博客EJS主题的相关文章智能推荐插件hexo-article-recommender进阶配置(DIY)

DIY客制化文章底部“文章推荐模块”,本篇文章介绍EJS模板的hexo主题如何实现。hexo-article-recommender为Hexo博客提供本地化智能

1
i囡漫笔
随心漫笔写文章
站内
相关 (45.6%)
6分钟

Hexo博客NJK主题的相关文章智能推荐插件hexo-article-recommender进阶配置(DIY)

DIY客制化文章底部“文章推荐模块”,本篇文章介绍Nunjucks(NJK)模板的hexo主题(如NexT主题)如何实现。hexo-article-recomm

2
i囡漫笔
随心漫笔写文章
站内
相关 (12.4%)
5分钟

Hexo-NexT主题加速运行

有时候你的博客加载缓慢,可能是因为加载的本地的东西太多。

3
本站作者
原创文章
站内
相关 (11.5%)
5分钟

在NexT的侧边栏添加近期文章板块

原本今天想再侧边栏添加一页友链网页,但是使用了网上的办法发现没法适合NexT 7.8.0,百般周折后发现是源代码不兼容
这里我记录一下正确的做法

4
本站作者
原创文章

--- over ---

其他文章
目录导航 置顶
  1. 1. 1.效果
  2. 2. 2.安装
    1. 2.1. 2.1.作者信息与摘要截取设置
  3. 3. 3.配置(可选)
    1. 3.1. 手动注入(高级)
  4. 4. 插件特点/运作方式
请输入关键词进行搜索