1.步骤
以要 新建 categories 菜单项为例。
1.在命令提示窗口中 输入hexo new page "categories"
,此时会提示:Create:\source\categories\index.md
2.打开第一步生成的文件 index.md
,新建 type 属性,并赋值:type:”categories“
3.在主题配置文件中找到 menu开关:为其赋值为 categories
categories: /categories/ || th
4.在命令提示窗口中 输入hexo g
即可生成文件,然后 hexo s
或hexo d
部署到本地或者服务器上即可。
2.原理解释
1.第一步中的hexo new page "categories"
是新建模板文件,Hexo 会根据 scaffolds
文件夹内相对应的文件来建立文件,例如:
$ hexo new photo My Gallery
在执行这行指令时,Hexo 会尝试在 scaffolds文件夹中寻找 photo.md,并根据其内容建立文章。
以 post 模板为例:
title: hexo新建菜单流程
date: 1541491861000
categories:
tags:
利用post模板新建的文件,头部会有这四个变量,其中categories和tags变量为空,title变量和date变量是hexo命令中传入的参数。例如:输入 hexo new "test"
(若无指定模板则默认为为 post模板)则会生成如下的markdown文件。
title: hexo新建菜单流程
date: 2018-11-06 16:11:01
categories:tags:
可在模板中使用的变量(即传入的参数{ }
)有:
layou:布局
title:文章题目
data:文件建立时间
所以执行完 hexo new page "categories"
,此时source文件下会新建\categories\index.md
2.第二步添加 type属性是为了告诉hexo 此按钮是分类按钮,若无此标签点击分类按钮则只会出现一个标题。
3.第三步是在主题menu配置中打开分类按钮.相当于为按钮绑定事件(即:URL)
categories: /categories/ || th
也就是说点击此按钮(显示时zh-Hans文件已把categories翻译为中文)会跳转到public文件下的/categorites/index.html
文件上(public为site根目录)
4.输入hexo g
hexo会把source中的markdown文件解释到(生成HTML)public文件夹下,其余文件copy到public文件夹下,即:/source/categories/index.md
文件会生成为:/public/categories/index.html
同时由于md文件属性type为categories,所以会生成若干个文件夹,每个文件夹以现有的分类名字命名,每个文件夹下包含一个index.html,此文件即为点击相应分类时出现的列表页面。此时点击分类按钮就会访问
/categorites/index.html
即:我们在主题menu配置中为categories变量绑定的URL。