Hexo 搭建个人博客(九)NexT 主题进阶配置

目标

本文将介绍一些针对 NexT 主题的个性化配置。

本文相关 推荐阅读:

  • Hexo 搭建个人博客(七)Hexo 配置 NexT 主题
  • Hexo 搭建个人博客(八)NexT 侧边栏配置

环境及版本声明

本文基于以下环境及版本:

hexo: 3.8.0
hexo-cli: 1.1.0
NexT: 7.1.0
OS: Ubuntu 18.04 LTS x86_64

若主题版本不一致,下面的配置方法可能不适用。

设置 RSS

NexT 中 RSS 有三个设置选项,满足特定的使用场景:

# false:禁用 RSS,不在页面上显示 RSS 连接.
# 留空:使用Hexo生成订阅源并自动插入链接。你可能需要先安装插件: `npm install hexo-generator-feed --save`.
# 具体的链接地址:适用于已烧制过 Feed 的情形.
rss:

具体操作如下:

首先在站点根目录下执行下列命令安装插件:

npm install hexo-generator-feed --save

更改 主题配置文件,设定 rss 字段的值如下:

rss: /atom.xml

重新生成、启动服务器显示如下:

Hexo 搭建个人博客(九)NexT 主题进阶配置_第1张图片

添加 tags 页面

新建「标签」页面,并在菜单中显示「标签」链接。「标签」页面将展示站点的所有标签,若你的所有文章都未包含标签,此页面将是空的。下面是一篇包含标签的文章的例子:

---
title: QuickSort
date: 2019-04-13 17:49:09
tags: [Java, Sort]
categories:
- [Algorithm, Sort]
---

QuickSort Demo

新建页面

在终端窗口下,定位到 Hexo 站点目录下。使用 hexo new page 新建一个页面,命名为 tags :

$ hexo new page tags
INFO  Created: ~/VScode/hexo/source/tags/index.md

设置页面类型

编辑刚刚新建的页面(source/tags/index.md),将页面的类型设置为 tags ,主题将自动为这个页面显示标签云。页面内容如下:

---
title: tags
date: 2019-04-13 17:56:13
type: "tags"
---

修改菜单

在菜单中添加链接。编辑 主题配置文件,添加 tags 到 menu 中,如下:

menu:
  home: / || home
  tags: /tags/ || tags
  archives: /archives/ || archive

注意

如果没有设置页面类型,默认情况下「标签」页面 会被当成普通页面,我们文章的标签信息不会出现在「标签」页面中,例如:

Hexo 搭建个人博客(九)NexT 主题进阶配置_第2张图片

在设置了页面类型后,再打开:

Hexo 搭建个人博客(九)NexT 主题进阶配置_第3张图片

如果有集成评论服务,页面也会带有评论。若需要关闭的话,请添加字段 comments 并将值设置为 false,如:

---
title: tags
date: 2019-04-13 17:56:13
type: "tags"
comments: false
---

添加 categories 页面

与 “添加 tags 页面” 类似

新建页面

$ hexo new page categories 
INFO  Created: ~/VScode/hexo/source/categories/index.md

设置页面类型

编辑刚刚新建的页面(source/categories/index.md),将页面的类型设置为 categories ,主题将自动为这个页面显示分类。页面内容如下:

---
title: categories
date: 2019-04-13 17:57:40
type: "categories"
---

修改菜单

在菜单中添加链接。编辑 主题配置文件,添加 tags 到 menu 中,如下:

menu:
  home: / || home
  categories: /categories/ || th
  archives: /archives/ || archive

注意

如果没有设置页面类型,则文章的分类信息不会出现在「分类」页面中,下面是设置了页面类型后的示例:

Hexo 搭建个人博客(九)NexT 主题进阶配置_第4张图片

如果有集成评论服务,页面也会带有评论。若需要关闭的话,请添加字段 comments 并将值设置为 false

设置阅读全文

在首页显示一篇文章的部分内容,并提供一个链接跳转到全文页面是一个常见的需求。NexT 提供三种方式来控制文章在首页的显示方式。也就是说,在首页显示文章的摘录并显示 阅读全文 按钮,可以通过以下方法实现:

使用

在文章中嵌入 标记,Hexo 会将其之上的内容作为首页预览内容,这是 Hexo 提供的方式

使用 description

在文章的 front-matter 中添加 description,并提供文章摘录

使用 NexT 配置

如果需要自动形成摘要,则将 auto_excerpt 下的 enable 设置成 true,默认截取的长度为 150 字符,可以根据需要在 主题配置文件 中自行设定:

# 自动将页面滚动到标记下的部分.
scroll_to_more: true

# 在Cookie中自动保存每个帖子/页面上的滚动位置.
save_scroll: false

# 自动摘录 description 作为主页的预览内容.
excerpt_description: true

# 自动摘录(不推荐).
auto_excerpt:
  enable: true
  length: 150

# Read more button
# 如果为true,则会在摘录部分显示read more按钮.
read_more_btn: true

Hexo 建议使用 (即第一种方式),除了可以精确控制需要显示的摘录内容以外,可以让 Hexo 中的插件更好的识别。

设置文章置顶

默认顺序

Hexo 默认主页文章按日期降序。

# Home page setting
# path: 博客主页根路径. (default = '')
# per_page: 每页显示文章数量. (0 = 禁用分页)
# order_by: 文章排序. (默认按日期降序)
index_generator:
  path: ''
  per_page: 10
  order_by: -date

安装 hexo-generator-index-pin-top

首先是卸载默认排序插件,安装新插件,新插件支持文章置顶:

$ npm uninstall hexo-generator-index --save
$ npm install hexo-generator-index-pin-top --save

置顶文章

在需要置顶的文章的 front-matter 中设置 top: 1 即可实现文章置顶功能,并且数字越大文章越靠前,如:

---
title: Hello World
top: 1
---

添加置顶图标

上面置顶文章会文章排在前面,但是不会有任何有关 “置顶” 的标识。我们可以修改 NexT 主题的/themes/next/layout/_macro/post.swig 文件,在

你可能感兴趣的:(Hexo,NexT)