Hexo博客完全版教程

人生就是不停的折腾,不是正在折腾就是走在折腾的路上

这篇教程来自于我的折腾,完成此篇所有的操作,能够实现 Coding.net ,Github.com 同时同步,并且将博客所有的源文件自动备份到 git.oschina.net 的项目中,当然你可以选择将所有的文件全部同步到同一个git库中。通过 Dnspod 实现国内外流量分流,国内流量分流到 pages.coding.net,国外流量分流到 github.com。加入了 qiniu.com 的图片插件,节省库容量,毕竟最多只能提过1G的容量,而且能够显著的提高图片的加载速度。

提醒:这篇文章走下来,国内用户访问会出现一个问题,每天第一次访问,会有coding.net的一个展示界面,这个没办法,我没有给coding.net钱,他们又是免费提供page服务。

环境安装

写作工具

推荐使用微软的 vscode 作为写作工具,这是一个自由度非常高,插件非常丰富,设置非常简单的跨平台文本编辑器,自带就有 Markdown 预览功能。

安装Git

  • 在windows下,下载Git
  • MAC,因为我自己有下载xcode所以不能确认Mac是否自带有Git

安装 Nodejs

下载地址

NodeJs官方网站因为在国内你懂得网络情况,所以建议使用淘宝的源以及安装文件

下载地址-64位-WIN

下载地址-32位-WIN

下载地址-Mac

不建议安装在默认位置,最好选择非C盘路径,接下来的很多设置都和这个文件夹有问题,以及以后的 node_module 都会安装在这个文件夹下

配置npm

  1. 确定安装目录,我的路径:Z:\DEV\ENV\nodejs (以后使用 nodepath 代替)
  2. 找到安装目录下的npmrc文件,我的路径是:nodepath\node_modules\npm\npmrc
  3. 使用记事本打开 npmrc,加入以下配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ;这个是配置全局nodejs位置,安装好之后默认就是这里
    prefix=nodepath
    ;用户配置文件,我自己新建了一个文件夹 NodejsEnv 用于保存个人 npmrc 配置
    userconfig=Z:\Dev\Env\NodejsEnv\.npmrc
    ;这个不知道反正从c盘的我都移动了
    init-module=Z:\Dev\Env\NodejsEnv\.npm-init.js
    ;设定Npm的源,默认的源在国内实在是太慢了
    registry=https://registry.npm.taobao.org/
    ;设定npm的缓存,同样是为了将c盘中的文件移出来而已
    cache=Z:\Dev\Env\NOdejsEnv\Cache
  4. 使用 npm config list 查看配置是否和你配置的一致。 默认应该是显示如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ; cli configs
    scope = ""
    user-agent = "npm/4.2.0 node/v7.9.0 win32 x64"
    ; builtin config undefined
    cache = "Z:\\Dev\\Env\\NodejsEnv\\Cache"
    init-module = "Z:\\Dev\\Env\\NodejsEnv\\.npm-init.js"
    prefix = "Z:\\Dev\\Env\\nodejs"
    registry = "https://registry.npm.taobao.org/"
    userconfig = "Z:\\Dev\\Env\\NodejsEnv\\.npmrc"
  5. 默认在使用 msi 安装了 npm 之后会自动加入环境变量

安装Hexo

以下命令使用 git bash 客户端进行操作

1
2
3
4
5
6
7
8
npm install -g hexo-cli
hexo version // 可以检查hexo是否安装成功
mkdir /z/Dev/Env/HexoBlog // 以后使用 blogpath 代替
cd {blogpath}
hexo init
npm install
hexo g
hexo s

所有命令执行完,打开链接 直接在浏览器上就能看到效果了。默认情况下,在不更改任何的config.yml文件,直接刷新网页就可以看到效果了。
如果出现端口问题,可以使用 hexo server -p **[端口号(1-65535)]

配置博客

在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml。 其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。

下载主题

本站使用的是 Next.Mist 主题,下载方式

1
2
3
4
cd {blogpath}
git clone https://github.com/iissnan/hexo-theme-next themes/next
# 下载完成之后删除 next 相关的 git 文件,方便备份。
find themes/next -name ".git" | xargs rm -Rf

安装插件

1
2
3
4
5
cd {blogpath}
npm install --save hexo-deployer-git # 提交git仓库需要的插件
npm install --save hexo-generator-feed # 自动生成rss订阅
npm install --save hexo-generator-sitemap # 自动生成网站sitemap,方便被搜索引擎检索
npm install --save shelljs #用于自动备份博客项目

请对比我的{blogpath}/package.json文件查看你缺少了那些,不用管版本号,缺少的使用上面的命令替换--save之后的就可以进行安装了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"hexo": {
"version": "3.5.0"
},
"dependencies": {
"hexo": "^3.2.0",
"hexo-baidu-url-submit": "0.0.5",
"hexo-deployer-git": "^0.3.0",
"hexo-deployer-heroku": "^0.1.1",
"hexo-generator-archive": "^0.1.4",
"hexo-generator-baidu-sitemap": "^0.1.2",
"hexo-generator-category": "^0.1.3",
"hexo-generator-feed": "^1.2.0",
"hexo-generator-index": "^0.2.1",
"hexo-generator-sitemap": "^1.1.2",
"hexo-generator-tag": "^0.2.0",
"hexo-renderer-ejs": "^0.2.0",
"hexo-renderer-marked": "^0.2.10",
"hexo-renderer-stylus": "^0.3.1",
"hexo-server": "^0.2.0",
"shelljs": "^0.7.7"
}
}

更加简单的安装插件的方式(2018年2月23日)

1
2
3
4
cd {blogpath}
// 复制上面 dependencies 里面的所有数据,拷贝到本地Hexo博客目录的 package.json 文件中
npm install
// 完成,以后需要加新的插件,同样可以直接修改 dependencies 然后执行 上面的命令

Hexo 站点配置

站点配置主要在博客根目录的_config.yml文件中进行修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
title: Lzrain Blog
subtitle:
description: 一切有为法,如梦幻泡影。如露亦如电,应作如是观。
author: liuzhenrain # 作者名字
language: zh-Hans #选择语言,zh-Hans为简体中文
timezone: Asia/Shanghai # 时区
theme: next
deploy:
- type: git
repo:
- coding.net 的git链接
- github.com 库的git链接
branch: master
message:

修改了 theme 主题设置,一定要重启hexo服务

1
2
3
4
# ctrl+c
hexo clean
hexo g
hexo s

为了方便查看更改效果,建议参考我在 Mac 上的 Apache 配置,实现了在 hexo g 之后实时展示编译结果

其他命令

hexo clean

备份本地 HEXO 项目

  1. 点击查看如何创建 git.oschina.net 账户
  2. 按照网站教程新建一个项目,比如项目名字为:HexoBlog
  3. 配置本地 HexoBlog

Next 主题地址:https://github.com/iissnan/hexo-theme-next

Hexo 内链方式,效果:查看 Mac+Apache实时预览

1
{% post_link hello-world "查看 Hello World" %}

关闭工作区自动保存功能