Hexo安装配置

这次搭建博客使用了比较流行的Hexo,主题使用的是Next。
Hexo以及next的作者已经将功能做的相当完善,对从未接触过的新手也很友好,整个搭建流程非常简单,感谢作者为我等伸手党做出的无私奉献。

下面是我们的安装和配置步骤。

在Hexo中有两份主要的配置文件,其名称都是_config.yml。其中,一份位于站点根目录下,主要包含Hexo本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置相关的选项。

为了描述方便,在以后的说明中,将前者称为站点配置文件,后者称为主题配置文件。

安装Hexo

安装前提

安装Hexo非常简单。然而在安装之前,你需要检查一下你的电脑是否已安装了以下应用程序:

安装Hexo

所有必备的应用程序安装完成之后,即可使用npm安装Hexo

1
$ 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
2
3
#scheme: Muse
scheme: Mist
#scheme: Pisces

设置语言

编辑站点配置文件,将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屏幕下图标模糊的问题。
编辑主题配置文件,修改以下内容:

  1. 设定菜单内容,对应的字段是menu。菜单内容的设置格式是:item name: link。其中item name是一个名称,这个名称并不直接显示在页面上,它将用于匹配图标以及翻译。
1
2
3
4
5
6
7
menu:
home: /
archives: /archives
#about: /about
#categories: /categories
tags: /tags
#commonweal: /404.html

若你的站点运行在子目录中,请将链接前缀的 / 去掉

next默认的菜单项有(标注*的项表示需要手动创建这个页面)

键值 设定值 显示文本(简体中文)
home home: / 主页
archives archives: /archives 归档页
categories categories: /categories 分类页*
tags tags: /tags 标签页*
about about; /about 关于页面*
commonweal commonweal: /404.html 公益404*
  1. 设置菜单项的显示文本。在第一步中设置的菜单的名称并不直接用于界面上的展示。hexo在生成的时候将使用这个名称查找对应的语言翻译,并提取显示文本。这些翻译文本放置在next主题目录下的language/{language}.yml({language}为你所使用的语言)。
    以简体中文为例,若你需要添加一个菜单项,比如something。那么就需要修改简体中文对应的翻译文件languages/zh-Hans.yml,在menu字段下添加一项:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    menu:
    home: 首页
    archives: 归档
    categories: 分类
    tags: 标签
    about: 关于
    search: 搜索
    commonweal: 公益404
    something: 有料
  2. 设定菜单项的图标,对应的字段是menu_icons。此设定格式是item name: icon name,其中item name与上一步所配置的菜单名字对应,icon name是font awesome图标的名字。而enable可用于控制是否显示图标,你可以设置成false来去掉图标。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    menu_icons:
    enable: true
    # Icon Mapping.
    home: home
    about: user
    categories: th
    tags: tags
    archives: archive
    commonweal: heartbeat

在菜单图标开启的情况下,如果菜单项与菜单未匹配(没有设置或者无效的 Font Awesome 图标名字) 的情况下,NexT 将会使用 ?作为图标。

请注意键值(如 home)的大小写要严格匹配

设置侧栏

默认情况下,侧栏仅在文章页面(拥有目录列表)时才显示,并放置于右侧位置。可以通过修改主题配置文件中的sidebar字段来控制侧栏的行为。侧栏的设置包括两个部分,其一是侧栏的位置,其二是侧栏显示的时机。

  1. 设置侧栏的位置,修改sidebar.position的值,支持的选项有:

    • left-靠左放置
    • right-靠右放置

目前仅 Pisces Scheme 支持 position 配置。影响版本5.0.0及更低版本。

1
2
sidebar:
position: left
  1. 设置侧栏显示的时机,修改sidebar.display的值,支持的选项有:

    • post - 默认行为,在文章页面(拥有目录列表)时显示
    • always - 在所有页面中都显示
    • hide - 在所有页面中都隐藏(可以手动展开)
    • remove - 完全移除
1
2
sidebar:
display: post
坚持技术分享,您的支持将鼓励我继续创作!