# 📄 首页显示调整指南
## 一、每页显示多少篇文章
Hexo默认一页显示10篇文章,我觉得太多了,改成5篇刚好。
### 修改方法
打开博客根目录的 \_config.yml,在最下面找到(或自己添加)index\_generator:
\# 首页设置
index\_generator:
path: ''
per\_page: 5 # 一页显示5篇(默认10)
order\_by: -date # 按时间倒序(新的在前)
**参数说明**:
- per\_page: 5:想显示几篇就填几
- per\_page: 0:所有文章都在一页,不分页
- order\_by: -date:这个保持默认就行
改完保存,然后重新部署:
hexo clean \&\& hexo g -d
等两分钟刷新首页,就能看到效果了。
### 我踩的坑
第一次改完发现没变化,找了半天才发现改的是主题的配置文件。
**注意:一定要改根目录的 \_config.yml,不是 themes/next/\_config.yml!**
## 二、把重要文章置顶
有些文章希望一直显示在最前面,比如这篇文档库的索引。
### 方法1:直接加参数(最简单)
在需要置顶的文章开头,加上一行 sticky:
---
title: 这是一篇很重要的文章
date: 2026-02-23
tags: \[教程]
sticky: 100 # 数字越大越靠前
---
我一般这样分配:
- 最重要的置顶文章:sticky: 100
- 次重要的:sticky: 50
- 不置顶的:不加这一行
### 方法2:装插件(如果方法1没用)
如果加了 sticky 没效果,可以装个插件:
npm install hexo-generator-index-pin-top --save
装完后在文章开头改成:
pin: true
### 多篇文章置顶的排序规则
| sticky值 | 显示位置 |
|———-|———-|
| 200 | 第1位 |
| 150 | 第2位 |
| 100 | 第3位 |
| 不加 | 按时间排 |
## 三、控制首页显示的文章摘要
文章太长的话首页会很乱,有三种办法控制摘要长度。
### 方法1:手动划断(我最推荐)
在文章里想截断的地方加上 <!-- more -->:
---
title: 文章标题
date: 2026-02-23
---
这里是我想在首页显示的部分,一般写一两句吸引人的话。
<!-- more -->
这里是正文,点击“阅读全文”后才能看到,可以写很长。
**优点**:想在哪断就在哪断,非常灵活
**缺点**:每篇文章都要手动加
### 方法2:自动截取固定长度
如果懒得每篇都加,可以统一设置截取长度。
打开 themes/next/\_config.yml:
\# 自动截取摘要
auto\_excerpt:
enable: true
length: 150 # 截取150个字符
**优点**:一次性设置,不用管每篇文章
**缺点**:截取位置可能不自然,有时候会断在半句话
### 方法3:用description字段
在文章开头加 description:
---
title: 文章标题
date: 2026-02-23
description: 这是我自己写的摘要,会显示在首页。
---
**优点**:可以精确控制显示什么
**缺点**:每篇文章都要写
## 四、我的配置方案
折腾了半天,最后用的这套组合:
\# \_config.yml
index\_generator:
per\_page: 8 # 一页8篇,不会太长也不会太短
order\_by: -date
\# 置顶文章:这篇文档库索引
sticky: 100
\# 摘要:手动用 <!-- more --> 控制
这样首页看起来清爽多了,重要的文章也能突出显示。
## 五、常见问题
### Q1:置顶没生效怎么办?
先试试 hexo clean 清缓存,还不行就装插件。
### Q2:分页设置没变化?
确认改的是根目录的 \_config.yml,不是主题的。
改完要重新部署,等两分钟再看。
### Q3:摘要截取乱码?
中文截取偶尔会有乱码,用 <!-- more --> 最保险。