13 Hexo 配置文件详解

13 Hexo 配置文件详解

Hexo 是一个快速、简洁且高效的静态博客框架,它使用 YAML 格式的配置文件来管理网站的设置。本文将详细介绍 Hexo 的配置文件及相关选项,让你能够根据自己的需求进行灵活配置。

1. 配置文件位置

Hexo 的配置文件一般位于博客根目录下的 _config.yml 文件,这个文件是 Hexo 的核心配置文件,涵盖了一系列重要的设置。

2. 基本配置选项

2.1. title

1
title: My Blog
  • 说明: 这是你博客的标题,会在页面的 <title> 标签和站点的首页展示。

2.2. subtitle

1
subtitle: A place to share my thoughts
  • 说明: 这是博客的副标题,可以用于描述博客的主题或内容。

2.3. author

1
author: Your Name
  • 说明: 博客作者的名字。用于文章底部的作者信息。

2.4. description

1
description: This is my personal blog where I share my ideas.
  • 说明: 博客的简短描述,一般用于搜索引擎和社交媒体的链接摘要。

3. 语言与时区

3.1. language

1
language: en
  • 说明: 设置博客使用的语言,常见的如 en (英语)、zh-CN (简体中文) 等。

3.2. timezone

1
timezone: Asia/Shanghai
  • 说明: 设置博客的时区,确保发表的文章时间的准确性。

4. URL 配置

4.1. url

1
url: https://your-blog.com
  • 说明: 博客的基础 URL,生成的链接路径以及 RSS 源都将基于此设置。

4.2. root

1
root: /
  • 说明: 博客的根路径。如果你的博客不是部署在根目录下,需要修改此项。例如,如果部署在 https://your-blog.com/blog/,应设为 /blog/

5. 目录设置

5.1. source_dir

1
source_dir: source
  • 说明: 文件源目录,Hexo 默认使用 source 作为文件存储目录,可以自定义。

5.2. public_dir

1
public_dir: public
  • 说明: 生成的静态文件存放目录,默认为 public

5.3. plugins_dir

1
plugins_dir: node_modules
  • 说明: 插件目录,Hexo 默认从 node_modules 中加载插件。

6. 主题设置

6.1. theme

1
theme: landscape
  • 说明: 设置当前使用的主题。Hexo 提供多种主题可供选择。

6.2. 主题特定配置

许多主题还具有特定的配置项,通常在 theme_config.yml 文件中。例如:

1
2
3
menu:
Home: /
Archive: /archives

6.3. 主题自定义示例

1
2
3
4
theme_config:
menu:
Home: /
Tags: /tags

7. Markdown 配置

7.1. markdown

1
2
markdown:
preset: commonmark
  • 说明: 设置 Markdown 解析器和解析选项,如 presetsextensions

8. 其他高级配置

1
permalink: :year/:month/:day/:slug/
  • 说明: 设置文章链接格式,使用特殊变量如 :year:month:day:slug

8.2. archive

1
2
archive:
per_page: 10
  • 说明: 配置归档页面的每页文章数量。

8.3. pagination

1
2
pagination:
per_page: 5
  • 说明: 配置每页显示的文章数量。

9. 示例配置文件

以下是一个完整的 _config.yml 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
title: My Blog
subtitle: A place to share my thoughts
author: Your Name
description: This is my personal blog where I share my ideas.
language: en
timezone: Asia/Shanghai
url: https://your-blog.com
root: /

source_dir: source
public_dir: public
plugins_dir: node_modules

theme: landscape

markdown:
preset: commonmark

permalink: :year/:month/:day/:slug/
pagination:
per_page: 5

结论

Hexo 的配置文件是一个非常灵活且强大的工具,可以帮助你根据个人需求定制博客。通过了解和配置这些选项,你可以创建一个符合自己需求的博客系统。希望本篇教程能够帮助你更好地理解和使用 Hexo 配置文件。

14 使用 Hexo 插件扩展功能

14 使用 Hexo 插件扩展功能

Hexo 是一种快速、简洁且高效的博客框架,可以通过插件来扩展其功能。在这一小节中,我们将讨论如何开发一个 Hexo 插件,以便在你的 Hexo 网站上增加自定义功能。

1. 创建 Hexo 插件

首先,我们需要创建一个 Hexo 插件。Hexo 插件通常放在 node_modules 文件夹中,或者单独创建一个文件夹来存放。

1.1 创建插件文件夹

在你的 Hexo 项目根目录下,创建一个名为 hexo-generator-custom 的文件夹。你可以使用命令行:

1
2
mkdir hexo-generator-custom
cd hexo-generator-custom

1.2 初始化插件

接下来,使用 npm 来初始化一个新的 npm 包:

1
npm init -y

这会生成一个 package.json 文件,你可以在其中填写插件的详细信息,比如名字、版本、描述等。

1.3 创建插件主文件

在插件文件夹中,创建一个 index.js 文件。这个文件将是你的插件的入口文件。你可以使用以下示例代码来开始:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// index.js
const { Hexo } = require('hexo');

module.exports = function(hexo) {
// 插件初始化
hexo.extend.filter.register('before_generate', () => {
console.log('开始生成网站...');
});

hexo.extend.generator.register('custom_generator', function(locals) {
return [{
path: 'custom/index.html', // 输出路径
data: {
title: '自定义页面',
content: '欢迎来到自定义生成的页面!'
},
layout: ['page'] // 使用的布局
}];
});
};

在上述示例中,我们注册了一个名为 custom_generator 的生成器,并在生成网站之前打印了一条消息。

2. 在 Hexo 中使用插件

完成插件的创建和实现后,我们需要将其纳入 Hexo 项目中。

2.1 安装插件

在 Hexo 项目根目录下,使用 npm 安装你的插件:

1
npm install ../hexo-generator-custom

2.2 生成网站

现在,你可以使用 Hexo 的命令生成网站了:

1
hexo generate

如果一切顺利,你将在 public/custom/index.html 中找到你自定义生成的页面。

3. 验证功能

为了验证我们的插件是否正常工作,我们可以在浏览器中访问 http://localhost:4000/custom/index.html,应该能够看到以下内容:

1
2
自定义页面
欢迎来到自定义生成的页面!

4. 完善插件功能

为了让插件更加完善,你可以添加更多功能,比如:

  • 接收用户输入的数据
  • 自定义更多的路由
  • 支持不同格式的输出

4.1 支持动态数据

你可以通过修改 data 部分来支持动态数据输入。例如,通过读取文章、标签或分类中的信息来生成自定义页面:

1
2
3
4
5
6
7
8
9
10
hexo.extend.generator.register('custom_generator', function(locals) {
return [{
path: 'custom/index.html',
data: {
title: '动态页面',
content: hexo.locals.get('posts').map(post => post.title).join(', ')
},
layout: ['page']
}];
});

5. 发布插件

如果你开发的插件有用,并且希望与其他 Hexo 用户共享,可以考虑将其发布到 npm。使用以下命令:

1
npm publish

确保你已经在 npm 上创建了用户账号并登录。


通过以上步骤,你已成功创建并扩展了一个简单的 Hexo 插件。掌握 Hexo 插件的开发不仅可以增强你网站的功能,还能提升你对 Hexo 的理解和应用能力。尽情探索更多的可能性吧!

15 Hexo 静态网站生成流程

15 Hexo 静态网站生成流程

Hexo 是一个快速、简洁且高效的静态博客框架,使用 Node.js 开发。以下是 Hexo 静态网站生成的详细流程,帮助你更好地理解其工作机制。

1. 初始化 Hexo 项目

在开始之前,确保你的系统已安装 Node.js 和 npm。接下来,你可以通过以下命令创建一个新的 Hexo 项目:

1
2
3
4
npm install -g hexo-cli
hexo init my-blog
cd my-blog
npm install

此命令将会在 my-blog 目录下生成一个新的 Hexo 博客项目。

2. 项目结构

生成的项目包含以下主要文件和文件夹:

  • _config.yml: 站点的配置文件。
  • source/: 存放你的博客内容,如文章、页面和媒体文件。
    • _posts/: 你的博客文章将放在这里。
  • themes/: 存放主题的文件夹。
  • public/: 生成的静态文件将放在此处。

3. 编写文章

source/_posts/ 目录下创建一个新的 Markdown 文件,以便生成一篇博客文章:

1
2
3
4
5
6
7
8
---
title: My First Post
date: 2023-10-01 12:00:00
tags:
- hexo
---

这是我的第一篇博客文章。欢迎来到我的 Hexo 博客!

注意文件名格式为 YYYY-MM-DD-title.md,而在文件开头的 --- 部分称为 YAML Front Matter,用于定义文章内容的元信息。

4. 生成静态文件

使用以下命令生成静态文件:

1
hexo generate

该命令会读取 source/ 目录下的内容,生成静态 HTML 文件,输出到 public/ 文件夹。

5. 启动本地服务器

为了方便查看生成的网站,可以启动 Hexo 的本地服务器:

1
hexo server

默认情况下,你可以在浏览器中通过 http://localhost:4000 访问你的博客。

6. 部署到服务器

完成本地开发后,你可以将网站部署到远程服务器。在 Hexo 中,常用的部署命令如下:

首先,需在 _config.yml 中配置你的部署信息,例如 GitHub Pages:

1
2
3
4
deploy:
type: git
repo: https://github.com/yourusername/your-repo.git
branch: main

然后,使用以下命令进行部署:

1
hexo deploy

这将会把 public/ 文件夹中的内容推送到你指定的 Git 仓库。

7. 总结

通过以上流程,你可以快速创建一个 Hexo 静态博客网站,编写内容并生成静态文件。掌握这些基本操作后,你可以深入学习 Hexo 的插件系统、主题开发等更多高级功能,使你的博客更具个性化和功能丰富性。

如需更多信息,请参考 Hexo 的官方文档