Hexo+Next建站配置详细版

本文章将持续更新

这篇文章将详细讲述所有的Hexo和Next的config详细配置内容。

前言

为什么要写这篇文章

主要是为了对文档的一个简单普及和更新,很多博客的内容都是20年前的内容,Next5.x版本的,在搜集的过程中造成了很大的困扰。同时网上存在部分Next7.x的文档不易被人搜索得到。

由于本人的水平所限,本文章可能会对部门内容的讲解有所偏差,如看到请指正谢谢。

关于最新版本的建站,可以参考好友Akira建站教程。本人将在以后逐步更新。

本文章的配置环境:

1
2
3
Hexo:6.2.0
Next:7.7.2
Node.16.17.0

本文参考的内容链接

Hexo开发文档

Next开发文档

Hexo-Next开发文档

其他相关内容将在相关板块讲述。

常见指令

以下指令请在博客根目录运行Git Bash来进行操作。

1
2
hexo generate
hexo g

生成静态文件。

可在后面加入-d或–deploy来进行立即部署。

1
2
hexo server
hexo s

启动服务器。默认情况下,访问网址http://localhost:4000/

1
2
hexo deploy
hexo d

部署网站。

1
hexo clean

清除缓存文件 (db.json) 和已生成的静态文件 (public)。

在某些情况(尤其是更换主题后),如果发现您对站点的更改无论如何也不生效,您可能需要运行该命令。

1
hexo new <title>

title指文件名,会默认在./source/_post目录下生成md文件。

1
hexo new page <title>

title指文件夹名,会默认在./source目录下生成名文件夹,同时会在文件夹内生成md文件,通常用于Next的页面配置

Hexo配置

Hexo的配置大部分在_config.yml(位于博客根目录)中进行修改,本文中统称为网站配置文件

使用notepad++或其他文本编辑器进行编辑。

注意!所有配置内容在冒号和个人信息后面都需要加空格,同时非配置内容前面需要加#以进行注释!

下面是个栗子

title: 风流倜傥英俊潇洒玉树临风的晨曦的个人站 #别打我啊啊啊!

网站配置区

本配置主要讲述常见的配置,更多内容请查看官方的开发文档

个人博客在建成后,首先需要进行的修改的就是个人信息的相关内容。这需要对网站配置文件进行修改。

网站信息设置

打开网站配置文件后,搜索Site区域其实就在开头,并进行修改。

title: 网站标题,常见于网站标题的显示和博客标题的显示。

subtitle: 网站副标题,在Next主题中,常见于网站标题下面。

description: 网站描述,在Next主题中,会显示在侧边栏。

keywords: 网站的关键词,通常用于SEO搜索引擎优化,通常不用设置

language: 语言,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hanszh-CN本文档的设定为zh-CN

timezone: 时区,网站时区。Hexo 默认使用您电脑的时区。请参考 时区列表 进行设置,如 America/New_York, Japan, 和 UTC 。一般的,对于中国大陆地区可以使用 Asia/Shanghai通常不用设置

以下为一个栗子

1
2
3
4
5
6
7
8
# Site
title: 风流倜傥英俊潇洒玉树临风的晨曦的个人站
subtitle: 嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎
description: 嘎嘎嘎嘎嘎嘎嘎嘎嘎
keywords:
author: 晨曦
language: zh-CN
timezone:

网址信息设置

搜索URL并找到网址信息配置区域。

url: 博客的网址,必须以 http://https:// 开头

permalink: 文章的 永久链接 格式,一般显示为:year/:month/:day/:title/,比如A/2022/09/02/A.md,当然也可以设置为:title/。

其他内容可以根据自己需求设置。

以下为一个栗子

1
2
3
4
5
6
7
8
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: http://dreamskycx.github.io
permalink: :title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

注意:网站存放在子目录的情况

如果您的网站存放在子目录中,例如 http://example.com/blog,则请将您的 url 设为 http://example.com/blog 并把 root 设为 /blog/

以下为一个栗子

1
2
3
4
# 比如,一个页面的永久链接是 http://example.com/foo/bar/index.html
pretty_urls:
trailing_index: false
# 此时页面的永久链接会变为 http://example.com/foo/bar/

主题

搜索Extensions,找到主题配置区。

把theme: 后面的内容改为next。

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next

测试

在任何修改后,都建议运行以下指令,并在本地服务器上查看,以保证博客的正常运行。

1
2
3
hexo clean
hexo g
hexo s

在保证功能正确后运行以下指令进行更新。

1
hexo d

好了经过上面的步骤,你应该是可以初步的看到一个简单的Next界面的。但是,原始的Next界面可能并不符合个人习惯,同时也显得同质化。

这就需要用到下文的Next配置。

Next配置

Next经过几代的革新,和以往版本最大的特点就是:Next的新版本集成了大量的功能,使得个人博客拥有者不需要对其他文件修改,只需要修改./theme/next/_config.yml文件,就可以实现大部分的个性化功能。

由于新老教程的冲突,部分老教程的修改可能会导致原本Next配置出错,甚至在generate的时候报错,导致博客无法正常运行。所以新教程的Next配置主要是基于对Next目录下_config.yml的文件修改来实现的,在本文中我们之为主题配置文件

基本内容配置区

未完待续?