hexo入门和使用指南 目录

前言

好久都不写文章了,vps也不太稳定(因为便宜,哈),所以一直都已没有时间做为借口而疏于打理,这回用github和hexo,可以打消掉没时间的借口了, 正好git上也有提交次数的记录,也算作对自己的督促吧。

本篇文章也算是对于hexo使用和资料的收集,不定期的更新。

更新日志

2017.10.30 第一稿完成

2017.10.31 增加 文章的内容大纲插件

2017.11.11 增加 多台电脑管理一个博客

关于hexo

Hexo升级到3.0后感觉变化很大,使用起来倒是方便了很多。对于其他的静态博客生成框架我也没太多时间去看了:

Jekyll, Octopress没用过(ruby不会)

hugo也一样(go也不会)

毕竟nodejs还是比较熟悉的,毕竟还有一些东西是需要定制了,找个熟悉的框架还是好一些,所以就选择hexo吧。

安装

安装很简单,我的系统是win10,所以直接官网下载nodejs的安装包和git安装包,安装完毕后,直接输入:

1
npm install hexo-cli -g

全局安装即可,具体安装步骤可以参考hexo官网安装教程

配置

主要配置

timezone:
网站时区一定要按照moment的格式。moment时区列表

github发布配置

1
2
3
4
deploy:
type: git
repo: https://github.com/zergtant/zergtant.github.io.git
branch: master

基本命令

初始化

1
hexo init

新建文章

1
hexo new [layout] <title>

新建一篇文章。如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,要使用引号括起来。
其实可以在生成文章后再修改,因为自动生成的文章标题中文会有问题。

生成静态页面

1
2
3
hexo generate
hexo g #简写
hexo g -d #生成完立即发布

部署

1
2
3
hexo deploy
hexo d #简写
hexo d -g #发布前先生成静态页面,和上面命令一样

启动服务器

1
hexo server

发布到github上用处不大,但是可以作为本地预览,如果使用自己的服务器,那这个可以作为web服务器使用,或者安装web管理插件,使用个浏览器编写markdown(我用vscode习惯了,所以不考虑)

hexo插件

官方插件列表

为每个文章生成链接固定的链接

hexo-admin

web管理,通过web可以添加页面,文章等

hexagon

类似npm的包管理,我没装,有需要的就用吧

hexo-renderer-markdown-it-plus

https://github.com/CHENXCHEN/hexo-renderer-markdown-it-plus

安装

安装很简单,用下面的命令替换掉默认的markdown renderer即可

1
2
npm un hexo-renderer-marked --save
npm i hexo-renderer-markdown-it-plus --save

内容标签

这个插件很好用,除了一些基本的插件以外主要就是用了他的toc功能,他的toc功能的代码为,github上没说明,看了遍代码才知道,哈

1
@[toc]

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
markdown_it_plus:
highlight: true
html: true
xhtmlOut: true
breaks: true
langPrefix:
linkify: true
typographer:
quotes: “”‘’
pre_class: highlight
plugins:
- plugin:
name: markdown-it-something
enable: true
options:
# 插件的设置

默认开启的插件如下,方便了很多:

  • markdown-it-emoji
  • markdown-it-sub
  • markdown-it-sup
  • markdown-it-deflist
  • markdown-it-abbr
  • markdown-it-footnote
  • markdown-it-ins
  • markdown-it-mark
  • markdown-it-katex
  • markdown-it-toc-and-anchor

hexo主题

官方主题列表

在官网上找了一个主题anatole,看着还比较清爽,jade实在不习惯,先这么用吧,等有时间了再定制下,功能优先

问题解决

在win10中遇到安装依赖或插件的时候会出现 Error: EPERM: operation not permitted, unlink XXX的提示,好像和权限有关,google了一下,老外也有很多类似的问题,解决方案有2个

  1. 在NPM的时候添加 --no-optional属性
  2. 我的npm是5.4.1 也有这样的问题,github上说降级到npm到5.03就额没问题,我没测试,不过刚收到了更新现在最新的npm是5.5.1了,目前看这个问题解决了

问题链接 有问题的去看看吧
(https://github.com/npm/npm/issues/18380)

多台电脑同时管理一个博客

公司用笔记本,家里用台机,回家后懒得再打开电脑,,就有了这么一个需求,在多台电脑上同时管理一个博客。

其实这个问题很好解决:

  • 在gitpage的项目建一个 hexo 分支,来保存和同步hexo配置文件和文章。也就是说,这个分支保存hexo目录下所有的文件。当然感觉这样不安全也可以用私有库,github收费版,oschina,bitbucket都可以,其实都一样。
  • hexo默认发布的目录是public但是线上部署的目录默认为.deploy_git,这个库暂且称为部署库就是github page的库

步骤如下:

  1. 电脑1 正常写文章和发布。
  2. 电脑1 发布后将修改提交到hexo分支,commit和push。
  3. 如果电脑2 需要更新内容则 pull hexo库,保持内容的同步
  4. 将github page的部署库的静态页面clone到hexo目录下的.deploy_git目录,使其与线上保持一致。
  5. 电脑2 写文章或修改内容后直接使用,hexo g -d 命令部署到线上库
  6. 电脑2 commit和push更改到hexo分支,后面再使用电脑1修改前,再使用pull 来同步内同容,也就是步骤3

这样就可以在两台电脑上同时管理一个博客并且保持内容的同步,当然也可以使用多台电脑。

至此hexo安装完毕了,剩下的github和gitpage申请什么的介绍就很多了,我也不多写了。