Hexo 新建菜单(menu) 存放归档文章

最近在看Python,想在首页上建一个名为Python的菜单,然后相关Python的文章都放在该分类下。

本来的想法是点开 Python 菜单会显示像首页的一样的文章列表,但试了几次没有成功,索性就就采取了一种分类归档的方法,效果还可以。

生成 post(文章)时默认生成 categories 配置项

在项目目录下找到/scaffolds/post.md,添加文章的 categories 的配置,如下

1
2
3
4
5
6
7
8
---
title: {{ title }}
date: {{ date }}
tags:
# 此处为文章标签
categories:
# 此处为文章分类
---

写文章时,配置 categories

下面我开始写一篇关于 Python 的文章

1
$ hexo n "python 开篇"

文章里面配置 categories

1
2
3
4
5
6
7
8
9
---
title: python 开篇
date: 2017-07-20 10:22:43
tags:
- python
categories:
- python
---
Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

此处我已经配置好了标签(tags)和分类(categories),下面生成一下静态页面

1
$ hexo g

这时你会发现/public/categories/文件夹下,已经生成了python的文件夹

首页显示 python 菜单

这里就是要在博客首页上显示 python 菜单的时候了,首先打开你主题的配置文件/themes/next/_config.yml(我这里是用的 next)。
找到menu ,做一下添加

1
2
3
4
5
6
7
8
menu:
home: /
categories: /categories/
archives: /archives/
tags: /tags/
python: /categories/python/ # 此处为新添加的菜单
guestbook: /guestbook
about: /about/

配置python菜单所用的图标

1
2
3
4
5
6
7
8
9
10
11
12
13
menu_icons:
enable: true
#KeyMapsToMenuItemKey: NameOfTheIconFromFontAwesome
home: home
about: user
categories: th
schedule: calendar
tags: tags
archives: archive
sitemap: sitemap
commonweal: heartbeat
guestbook: pencil
python: file-powerpoint-o # 此处为 python菜单的图片配置

菜单名称配置

上面的步骤做完以后,如果你着急刷新页面看了效果,就会看到新菜单的名称是menu.python,显然不是我们想要的,那就继续往下看
首先查看项目目录下的/_config.ymllanguage配置,我的是这样的

1
language: zh-Hans

然后去模板目录找到相应的语言配置文件/themes/languages/zh-Hans.ymlmenu处添加一下配置

1
2
3
4
5
6
7
8
9
10
11
12
menu:
home: 首页
archives: 归档
categories: 分类
tags: 标签
about: 关于
search: 搜索
schedule: 日程表
sitemap: 站点地图
commonweal: 公益404
guestbook: 留言
python: python # python菜单显示的名称

这样就算彻底完成了,赶紧去看看效果吧。
以后写Python 相关的文章的话,只需要配置 categories 为 python 就可以自动归档到python 菜单下了。

坚持原创技术分享,您的支持将鼓励我继续创作!