快速开始

新建文章

$ 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:是否开启版权声明

猜你喜欢😋