本文基于上篇文章基础篇所写。有许多基于hexo的主题,每个不同的主题会需要不同的配置,主题配置文件在主题目录下的_config.yml。我们可以根据自己的情况选择适合自己的主题。我们选取其中一款主题NextT为模板进行演示。以下是本文的基本流程。
基本流程
1.安装主题
2.启用主题
3.验证主题
4.设置语言
5.设置菜单
6.侧栏设置
7.尾栏设置
8.附页
安装主题
在Hexo中有两份主要的配置文件,其名称都是 _config.yml。 其中,一份位于站点根目录下,主要包含Hexo本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。 为了描述方便,在以下说明中,将前者称为 站点配置文件, 后者称为 主题配置文件。
以NexT为例,首先在hexo文件夹中右键点击Git Base Here,或者终端锁定hexo根目录,然后输入命令:
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
即可获取最新版主题,后续更新只需输入指令:
1 | git pull |
启用主题
在hexo根目录(blog)中打开站点配置文件(_config.yml),搜索theme字段。修改theme: next
1 | theme: next |
注意中间有空格。到此,NexT 主题安装完成。
验证主题
在切换主题之后、验证之前, 我们最好使用 hexo clean 来清除 Hexo 的缓存。
1 | hexo clean |
首先启动 Hexo 本地站点,并开启调试模式,整个命令是
1 | hexo s |
在服务启动的过程,注意观察命令行输出是否有任何异常信息。 当命令行输出中提示出:INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.此时即可使用浏览器访问 http://localhost:4000/。
如果端口号被占用还是得先修改端口号,然后启动服务。即先输入
1 | hexo server -p 5000 |
当命令行输出中提示出:INFO Hexo is running at http://0.0.0.0:5000/. Press Ctrl+C to stop.此时即可使用浏览器访问 http://localhost:5000/。
完成之后进行主题设定。借助于 Scheme,NexT 为你提供多种不同的外观。同时,几乎所有的配置都可以 在 Scheme 之间共用。在next主题目录下的_config.yml文件中目前有四种模板,他们是:
Muse - 默认 Scheme,初代 NexT ,黑白主调,大量留白
Mist - Muse 的紧凑版本,整洁有序的单栏外观
Pisces - 双栏 Scheme,小家碧玉似的清新
Gemini - 双栏Scheme,简约淡雅的风尚
注释 # 即可。 以Pisce为例,选择 Pisce Scheme
设置语言
在站点根目录下修改配置文件_cofig.yml中的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 |
繁體中文 | zh-hk 或者 zh-tw | language: zh-hk |
Русский язык | ru | language: ru |
Deutsch | de | language: de |
日本語 | ja | language: ja |
Indonesian | id | language: id |
设置菜单
菜单栏设置
菜单配置包括三个部分,第一是菜单项(名称和链接),第二是菜单项的显示文本,第三是菜单项对应的图标。
编辑主题配置文件,修改以下内容: 设定菜单内容,对应的字段是 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 主题目录下的 languages/{language}.yml ({language} 为你所使用的语言)。 比如你在站点根目录中的配置文件设置language为zh-Hans,那么就要进入到主题目录下的languages文件中修改zh-Hans.yml,这样才能显示出菜单项新增的中文内容。以简体中文为例,若你需要添加一个菜单项,那么就需要修改简体中文对应的翻译文件 languages/zh-Hans.yml。以下是默认情况。
1 | menu: |
设定菜单项的图标,对应的字段是 menu_icons。 此设定格式是 item name: icon name,其中 item name 与上一步所配置的菜单名字对应,icon name 是 Font Awesome 图标的 名字。而 enable 可用于控制是否显示图标,你可以设置成 false 来去掉图标。菜单图标配置示例
1 | menu_icons: |
添加标签,分类
添加标签页面,前面通过修改next主题下的_config.yml
文件中的menu选项,可以在主页面的菜单栏添加标签选项,但是此时点击标签,跳转的页面会显示page not found。此时我们要新建一个页面
1 | hexo new page tags |
在新建的index.md文件中添加type: “tags”
当要为某一篇文章添加标签,只需在blog/source/_post
目录下的具体文章的tags中添加标签即可
添加分类页面,前面通过修改next主题下的_config.yml
文件中的menu选项,可以在主页面的菜单栏添加分类选项。此时我们要新建一个页面
1 | hexo new page categories |
在新建的index.md文件中添加type: “categories”
当要为某一篇文章添加标签,只需在blog/source/_post
目录下的具体文章的categories中添加分类即可。分类可按次序进行分级。
添加关于我页面,步骤和以上差不多
在新建的index.md文件中添加内容
侧栏设置
设置侧栏位置,修改主题目录下sidebar的position值
设置头像,在站点根目录下载配置文件中新增avatar,值设置为头像的链接地址。地址可以是网络地址,也可以是本地地址(放置在source/images/ 目录下)
尾栏设置
修改底部的官方logo,找到 \themes\next\layout\_partials\
下面的footer.swig
文件,打开会发现,如下的语句:
第一个框 是下面侧栏的“日期❤ XXX”
如果想像我一样加东西,一定要在双大括号外面写。如:xxx,当然你要是想改彻底可以变量都删掉,看个人意愿。
第二个,是图一当中 “由Hexo驱动” 的Hexo链接,先给删掉防止跳转,如果想跳转当然也可以自己写地址,至于中文一会处理。注意删除的时候格式不能错,只把<a>...</a>
标签这部分删除即可,留着两个单引号’’,否则会出错哦。
第三个框也是最后一个了,这个就是更改图一后半部分“主题-Next.XX”,这个比较爽直接将<a>..</a>
都删掉,同样中文“主题”一会处理,删掉之后在上一行 ‘-’后面可以随意加上你想显示的东西,不要显示敏感信息哟,请自重。
接下来,处理剩余的中文信息。找到这个地方\themes\next\languages\
下面的语言文件zh-Hans.yml(这里以中文为例,有的习惯用英文的配置文件,道理一样,找对应位置即可)
看到了吧,这个就是传值传过去的,你想显示什么就在这里面大肆的去改动吧。其实在第二个框中,就可以把值都改掉,不用接受传值的方式,完全自己可以重写。不过我不建议那样做,因为传值这样只要是后续页面需要这几个值那么就都会通过取值去传过去,要是在刚才footer文件中直接写死,后续不一定哪个页面需要传值,但是值为空了或者还是原来的,可就尴尬了。所以还是这样改动吧。
附页
站点配置文件
1 | # Hexo Configuration |
主题配置文件
1 | # --------------------------------------------------------------- |