Wordpress 你放心,我暂时是不会抛弃你的。
2017.12.11 正式抛弃 2333


Intro

Hexo

快速、简洁且高效的博客框架

优点

  • 多语言文档(含中文)
  • 静态博客,无需服务器
  • 部署、迁移、备份方便
  • Geek

部署

跟随文档步骤即可:https://hexo.io/zh-cn/docs/

推荐主题

NexT

GitHub: https://github.com/theme-next/hexo-theme-next

yilia


一些解决方案

备份自己的 Hexo 源文件

  • 在本地的 GitHub Pages 的项目(xxx.github.io)中,通过 git bash 建立新的分支 hexo
    (可以现在 GitHub 上新建再 clone 自自己的文件夹)
1
git checkout -b hexo
  • git checkout hexo 切换至 hexo 分支
  • 此后对 hexo 源文件的配置修改等操作,默认在此分支下操作即可
  • 将修改推送至远程分支
1
2
3
git add -A
git commit -m 'update hexo backup'
git push origin hexo

每次命令执行繁琐,使用批处理

  • 在 Hexo 根目录下新建批处理文件 update.sh,并编辑如下内容。
1
2
3
4
5
hexo clean
hexo d -g
git add -A
git commit -m 'update hexo backup'
git push origin hexo
(作用分别是清除缓存重新部署 Hexo ,和备份 Hexo 源文件。)
  • 在 Hexo 根目录下,通过如下命令执行。
1
./update.sh

集成 Algolia 搜索插件

Algolia

The Most Reliable Platform for Building Search.

在 hexo 的 _config.yml 文件中,添加 algolia 配置。(注释记得去掉)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
algolia:
applicationID: 'xxx'
apiKey: 'xxx'
indexName: 'my-hexo-blog' // 填写在 aloglia 中设置的名称
chunkSize: 5000
fields:
- excerpt
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title
1
2
3
4
npm install hexo-algolia --save // 使用 npm 安装 hexo-algolia 插件
export HEXO_ALGOLIA_INDEXING_KEY=xxx // xxx 为 apiKey
hexo clean
hexo algolia // 生成index

Next-Algolia

Hexo 主题 Next 6.0 版本将用到的第三方都提取成了模块。

使用方法参见: theme-next-algolia-instant-search

为 Next 主题添加阅读次数统计

LeanCloud
采用第三方 LeanCloud 服务实现

Next 主题集成了 LeanCloud 统计。

  • 进入官网,注册账号,创建应用(开发版为免费使用)
  • 进入创建的应用中,选择左侧导航栏中的“存储”,随后点击“创建Class”,将 Class 名称填为 Counter,并选择无限制选项。
  • 进入 Next 主题配置文件 _config.yml ,配置 leancloud_visitors 属性 enabletrue,并配置对应的 App IDApp Key 。 (在 LeanCloud 左侧导航栏的设置界面,单击“应用Key”可以看到应用的App ID和App Key。)

小技巧

配置 theme/next

可以在 source 文件夹(含有 _post 的文件夹)下新建 _data 文件夹,并在其中新建 next.yml。其后将需要特定的配置从 theme/next/_config.yml 中复制过来即可。

如果需要覆盖 _config.yml 默认配置, 修改 next.ymloverride: true

自动生成目录

开启 toc (Table of Contents),

1
2
3
4
5
---
title: xxx
toc: true
---
...

也可以在设置 next.yml中设置默认开启。

1
2
3
# Table Of Contents in the Sidebar
toc:
enable: true

Example

GitHub PagesCoding Pages 上都进行了部署。

_config.yml 可参考 GitHub Address