这次搭建博客使用了比较流行的Hexo,主题使用的是Next。
Hexo以及next的作者已经将功能做的相当完善,对从未接触过的新手也很友好,整个搭建流程非常简单,感谢作者为我等伸手党做出的无私奉献。
下面是我们的安装和配置步骤。
在Hexo中有两份主要的配置文件,其名称都是_config.yml。其中,一份位于站点根目录下,主要包含Hexo本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置相关的选项。
为了描述方便,在以后的说明中,将前者称为站点配置文件,后者称为主题配置文件。
安装Hexo
安装前提
安装Hexo非常简单。然而在安装之前,你需要检查一下你的电脑是否已安装了以下应用程序:
安装Hexo
所有必备的应用程序安装完成之后,即可使用npm安装Hexo1
npm install -g hexo-cli
安装Next
下载主题
在终端窗口下,定位到Hexo站点目录下,使用Git clone代码1
2 cd your-hexo-site
git clone https://github.com/iissnan/hexo-theme-next themes/next
启用主题
与所有的Hexo主题一样,在下载完文件之后,打开站点配置文件,找到theme字段,并将其值更改为next。1
theme: next
验证主题
首先启动Hexo本地站点,并开启调试模式(即加上 –debug),整个命令是hexo s –debug。在服务启动的过程,注意观察命令行输出是否有任何异常信息,如果你碰到问题,这些信息将帮助你更好的定位错误。当命令行输出中提示出:1
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
此时即可使用浏览器访问 http://localhost ,检查站点是否正确运行。
当你看到站点的外观与下图所示类似时即说明你已经成功安装Next主题。这是Next默认的scheme —— Muse

现在,已经成功安装并启用了Next主题。下一步我们将要更改一些主题的设定,包括个性化以及集成第三方服务。
配置Next
选择scheme
scheme是Next提供的一种特性,借助于scheme,Next提供多种不同的外观。同时,几乎所有的配置都可以在scheme直接共用。目前Next支持三种scheme,分别是:
- Muse -默认scheme,这是next最初的版本,黑白主调,大量留白
- Mist -Muse的紧凑版本,整洁有序的单栏外观
- Pisces -双栏scheme,有人觉得小家碧玉,看各人喜好
scheme的切换通过更改主题配置文件,搜索scheme关键字。你会看到有三行scheme的配置,将你需要启用的scheme前面的注释#去除即可。
以下是开启Mist
1 | scheme: Muse |
设置语言
编辑站点配置文件,将language设置成你所需要的语言。建议明确设置你所需要的语言,例如选用简体中文,配置如下:
1 | language: zh-Hans |
目前Next支持的语言如以下表格所示:
| 语言 | 代码 | 设定示例 |
|---|---|---|
| English | en | language: en |
| 简体中文 | zh-Hans | language: zh-Hans |
| Français | fr-FR | language: fr-FR |
| Português | pt | language: pt or language: pt-BR |
| 繁體中文 | zh-hk 或者 zh-tw | language: zh-hk |
| Русский язык | ru | language: ru |
| Deutsch | de | language: de |
| 日本語 | ja | language: ja |
| Indonesian | id | language: id |
| Korean | ko | language: ko |
设置菜单
菜单配置包括三个部分,第一是菜单项(名称和链接),第二是菜单项的显示文本,第三是菜单项对应的图标。next使用的是font awesome提供的图标,font awesome提供了600+的图标,可以满足绝大多数的场景,同时无须担心在retina屏幕下图标模糊的问题。
编辑主题配置文件,修改以下内容:
- 设定菜单内容,对应的字段是menu。菜单内容的设置格式是:item name: link。其中item name是一个名称,这个名称并不直接显示在页面上,它将用于匹配图标以及翻译。
1 | menu: |
若你的站点运行在子目录中,请将链接前缀的 / 去掉
next默认的菜单项有(标注*的项表示需要手动创建这个页面)
| 键值 | 设定值 | 显示文本(简体中文) |
|---|---|---|
| home | home: / | 主页 |
| archives | archives: /archives | 归档页 |
| categories | categories: /categories | 分类页* |
| tags | tags: /tags | 标签页* |
| about | about; /about | 关于页面* |
| commonweal | commonweal: /404.html | 公益404* |
设置菜单项的显示文本。在第一步中设置的菜单的名称并不直接用于界面上的展示。hexo在生成的时候将使用这个名称查找对应的语言翻译,并提取显示文本。这些翻译文本放置在next主题目录下的language/{language}.yml({language}为你所使用的语言)。
以简体中文为例,若你需要添加一个菜单项,比如something。那么就需要修改简体中文对应的翻译文件languages/zh-Hans.yml,在menu字段下添加一项:1
2
3
4
5
6
7
8
9menu:
home: 首页
archives: 归档
categories: 分类
tags: 标签
about: 关于
search: 搜索
commonweal: 公益404
something: 有料设定菜单项的图标,对应的字段是menu_icons。此设定格式是item name: icon name,其中item name与上一步所配置的菜单名字对应,icon name是font awesome图标的名字。而enable可用于控制是否显示图标,你可以设置成false来去掉图标。
1
2
3
4
5
6
7
8
9menu_icons:
enable: true
# Icon Mapping.
home: home
about: user
categories: th
tags: tags
archives: archive
commonweal: heartbeat
在菜单图标开启的情况下,如果菜单项与菜单未匹配(没有设置或者无效的 Font Awesome 图标名字) 的情况下,NexT 将会使用 ?作为图标。
请注意键值(如 home)的大小写要严格匹配
设置侧栏
默认情况下,侧栏仅在文章页面(拥有目录列表)时才显示,并放置于右侧位置。可以通过修改主题配置文件中的sidebar字段来控制侧栏的行为。侧栏的设置包括两个部分,其一是侧栏的位置,其二是侧栏显示的时机。
设置侧栏的位置,修改sidebar.position的值,支持的选项有:
- left-靠左放置
- right-靠右放置
目前仅 Pisces Scheme 支持 position 配置。影响版本5.0.0及更低版本。
1 | sidebar: |
设置侧栏显示的时机,修改sidebar.display的值,支持的选项有:
- post - 默认行为,在文章页面(拥有目录列表)时显示
- always - 在所有页面中都显示
- hide - 在所有页面中都隐藏(可以手动展开)
- remove - 完全移除
1 | sidebar: |