28 Hexo 高级配置

28 Hexo 高级配置

1. 自定义配置文件

Hexo 的默认配置文件位于 /_config.yml,你可以根据需要进行自定义。你可以修改例如主题、语言、插件等高级配置项。

1
2
3
4
5
# 主题设置
theme: landscape

# 语言设置
language: zh-Hans

2. 环境变量配置

Hexo 支持通过环境变量配置不同的环境。例如,你可以在 .env 文件中添加不同的配置:

1
2
NODE_ENV=production
HEXO_ENV=production

然后在配置文件中可以通过 process.env 来引用这些环境变量:

1
2
3
# 生产环境特定配置
if: process.env.HEXO_ENV === 'production'
url: https://yourproductionsite.com

3. 主题配置

每个主题都有自己的一组配置选项,这些选项通常位于主题目录下的 /_config.yml 中。不同主题可能支持不同的配置项,你需要查阅主题文档来了解支持的选项。

1
2
3
4
5
# 示例主题配置
menu:
home: /
archives: /archives
about: /about

4. 插件配置

Hexo 支持许多插件,使用插件可以扩展 Hexo 的功能。在 /_config.yml 中可以对已安装的插件进行详细的配置。

例如,若使用 hexo-generator-archive 插件,配置如下:

1
2
3
4
# 插件配置
archive:
per_page: 10
layout: archive

5. 自定义命令

Hexo 允许你定义自定义命令。在 Hexo 根目录的 scripts 文件夹中,可以创建一个 JavaScript 文件。例如,创建一个 hello.js,内容如下:

1
2
3
hexo.extend.console.register('hello', 'Say hello', function(args) {
console.log('Hello, Hexo!');
});

然后在终端中执行命令:

1
hexo hello

6. 资源文件的高级配置

你可以通过 source 文件夹中的 _dataimg 文件夹来管理资源文件。将常用的数据整理成 YAML 或 JSON 格式放在 _data 文件夹下,便于调用。

例如,在 source/_data/menu.yml 中定义导航菜单:

1
2
3
4
- title: 首页
url: /
- title: 归档
url: /archives

在模板中调用:

1
2
3
<% for (let item of site.data.menu) { %>
<a href="<%= item.url %>"><%= item.title %></a>
<% } %>

7. 替换默认变量

在 Hexo 中,使用 {{` 和 `}} 来替代默认变量。你可以在布局文件中进行替换。例如:

1
<title>{{ page.title }} - {{ config.title }}</title>

8. 自定义布局

在主题目录下,你可以创建自定义布局,如 layout 文件夹。可以参考下列代码来设置一个主页布局:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- layout/_layout.ejs -->
<!DOCTYPE html>
<html>
<head>
<title><%= page.title %></title>
<link rel="stylesheet" href="<%= url_for('/css/style.css') %>">
</head>
<body>
<header>
<h1><%= config.title %></h1>
</header>
<main>
<%- body %>
</main>
<footer>
<p>© <%= config.author %> 2023</p>
</footer>
</body>
</html>

9. 高级自定义过滤器

Hexo 支持自定义过滤器,允许你在输出内容之前处理数据。在 scripts 目录下的 JS 文件中,可以这样做:

1
2
3
4
5
6
hexo.extend.filter.register('before_post_render', function(data) {
if (data.title) {
data.title = data.title.toUpperCase(); // 将标题转为大写
}
return data;
});

结语

Hexo 提供了强大的高级配置能力,允许用户根据自己的需求对博客进行深入定制。通过以上的配置示例和技巧,你可以更好地利用 Hexo 来开发个性化的网站。

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议