快速开始
新建文章
$ hexo new "My New Post"
$ hexo n "My New Post"
$ hexo new <模板> <文章名>
模板参数 | 功能 | 路径 |
---|---|---|
post | 新建文章 | /source/_posts/ |
draft | 新建草稿 | /source/_drafts/ |
page | 新建页面(标签页,分类页等) | /source/ |
运行服务
$ hexo s
生成静态文件
$ hexo g
部署到远程站点(例如GitHub)
$ hexo d
添加标签和分类
标签
$ hexo new page tags
成功后提示:
INFO Created: ~/Documents/blog/source/tags/index.md
根据上面的路径,找到index.md这个文件,打开后默认内容是这样的:
---
title: 文章标签
date: 2008-01-01 00:00:00
---
添加type: "tags"
到内容中,添加后是这样的:
---
title: 文章分类
date: 2008-01-01 00:00:00
type: "tags"
---
保存并关闭文件。
分类
$ hexo new page categories
成功后提示:
INFO Created: ~/Documents/blog/source/categories/index.md
根据上面的路径,找到index.md这个文件,打开后默认内容是这样的:
---
title: 文章分类
date: 2008-01-01 00:00:00
---
添加type: "categories"
到内容中,添加后是这样的:
---
title: 文章分类
date: 2008-01-01 00:00:00
type: "categories"
---
保存并关闭文件。
如何使用
在文字相应位置填入即可
注意:tags后面需要添加一个空格
---
title: 实例文章
date: 2008-01-01 00:00:00
categories:
- 分类
tags:
- 标签1
- 标签2
- 标签3
---
文章置顶功能
修改代码
找到node_modules/hexo-generator-index/lib/generator.js
这个文件。
在
const posts = locals.posts.sort(config.index_generator.order_by);
下面添加
posts.data = posts.data.sort(function(a, b) {
if(a.top && b.top) { // 两篇文章top都有定义
if(a.top == b.top) return b.date - a.date; // 若top值一样则按照文章日期降序排
else return b.top - a.top; // 否则按照top值降序排
}
else if(a.top && !b.top) { // 以下是只有一篇文章top有定义,那么将有top的排在前面(这里用异或操作居然不行233)
return -1;
}
else if(!a.top && b.top) {
return 1;
}
else return b.date - a.date; // 都没定义按照文章日期降序排
});
完整代码
'use strict';
const pagination = require('hexo-pagination');
const { sort } = require('timsort');
module.exports = function(locals) {
const config = this.config;
const posts = locals.posts.sort(config.index_generator.order_by);
posts.data = posts.data.sort(function(a, b) {
if(a.top && b.top) { // 两篇文章top都有定义
if(a.top == b.top) return b.date - a.date; // 若top值一样则按照文章日期降序排
else return b.top - a.top; // 否则按照top值降序排
}
else if(a.top && !b.top) { // 以下是只有一篇文章top有定义,那么将有top的排在前面(这里用异或操作居然不行233)
return -1;
}
else if(!a.top && b.top) {
return 1;
}
else return b.date - a.date; // 都没定义按照文章日期降序排
});
sort(posts.data, (a, b) => (b.sticky || 0) - (a.sticky || 0));
const paginationDir = config.pagination_dir || 'page';
const path = config.index_generator.path || '';
return pagination(path, posts, {
perPage: config.index_generator.per_page,
layout: ['index', 'archive'],
format: paginationDir + '/%d/',
data: {
__index: true
}
});
};
如何使用
在文章添加 top
标签可以设置置顶顺序。
---
title: 文章名
date: 文章发布时间
tags: 文章标签
top: 100
---
数字越大越靠前
值得注意
迁移时注意备份node_modules/hexo-generator-index/lib/generator.js
这个文件。
使用其他主题
推荐主题NexT
主题也提供了很多个性化配置
添加版权声明
打开主题配置文件_config.yml,Ctrl + F
搜索找到creative_commons项,如以下代码所示:
# Creative Commons 4.0 International License.
# See: https://creativecommons.org/about/cclicenses/
creative_commons:
# Available values: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | cc-zero
license: by-nc-sa
# Available values: big | small
size: small
sidebar: false
post: ture(ture表示开启版权声明)
# You can set a language value if you prefer a translated version of CC license, e.g. deed.zh
# CC licenses are available in 39 languages, you can find the specific and correct abbreviation you need on https://creativecommons.org
language:
这里就是Next新版本开启内置版权声明的地方
license:设置多种版权声明;
sidebar:博客主页左侧栏是否显示版权声明标记
post:是否开启版权声明