hexo搭建个人博客

前一阵子,在实验室师兄的帮助下,自己搭建了一个博客,其中有好几篇文章在我看来帮助甚大,在此引用记录一下。
请注意,这篇文章介绍了 Ubuntu 和 windows 系统哦,并且纯属借鉴。
由于文章略长,照例安利一首歌吧~


对于Ubuntu系统

第一步:

首先安装nodejs,这个是hexo运行的基础环境,安装很简便:sudo apt-get install nodejs

第二步:

安装npm,这个也很简单,这是是node.js的包管理器,跟apt,pip等差不多的东东,
直接sudo apt-get install npm

第三步:

接下来安装hexo或者hexo-cli,后者安装出现问题,前者没有问题,暂时还不知道原因.
所以我安装的是hexo,如果你使用sudo npm install hexo -g 或者 sudo npm install hexo-cli -g,是不会成功的,最起码我是这样的.
正确的方法如下:
sudo npm install –unsafe-perm –verbose -g hexo
图一(成功后的效果):

测试安装效果:
hexo –hep
会出现如下错误:
图二:

造成这个原因是因为 node名字不存在正确的名字是nodejs
只需要修改以下hexo所在路径的文件即可,我的位置是:/usr/local/lib/node_modules/hexo/bin
vim hexo
把#!/usr/bin/env node修改为!/usr/bin/env nodejs即可
如图三:

改完之后测试一下hexo
如图四:

对于windows系统

配置环境

安装Node(必须)

作用:用来生成静态页面的 到Node.js官网下载相应平台的最新版本,一路安装即可。

安装Git(必须)

作用:把本地的hexo内容提交到github上去. 安装Xcode就自带有Git,我就不多说了。

申请GitHub(必须)

作用:是用来做博客的远程创库、域名、服务器之类的,怎么与本地hexo建立连接等下讲。 github账号我也不再啰嗦了,没有的话直接申请就行了,跟一般的注册账号差不多,SSH Keys,看你自己了,可以不配制,不配置的话以后每次对自己的博客有改动提交的时候就要手动输入账号密码,配置了就不需要了,怎么配置我就不多说了,网上有很多教程。

正式安装HEXO 

Node和Git都安装好后,可执行如下命令安装hexo:

1
$ sudo npm install -g hexo

初始化

创建一个文件夹,如:Blog,cd到Blog里执行hexo init的。命令:

1
$ hexo init

好啦,至此,全部安装工作已经完成!

生成静态页面

继续再Blog目录下执行如下命令,生成静态页面

1
hexo generate (hexo g 也可以)

本地启动

启动本地服务,进行文章预览调试,命令:

1
hexo server

浏览器输入http://localhost:4000 如果可以的话,那说明已经配置好,若不能,则说明环境没配置好

常见的HEXO配置错误:

1
2
3
4
5
6
7
8
9
ERROR Plugin load failed: hexo-server
原因: Besides, utilities are separated into a standalone module. hexo.util is not reachable anymore.
解决方法,执行命令:$ sudo npm install hexo-server
执行命令hexo server,提示:Usage: hexo<Command> ....
原因:我认为是没有生成本地服务
解决方法,执行命令:$ npm install hexo-server --save
提示:hexo-server@0.1.2 node_modules/hexo-server
....
表示成功了[参考](https://hexo.io/zh-cn/docs/server.html)

这个时候再执行:

1
$ hexo-server

得到: INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
这个时候再点击http://0.0.0.0:4000
正常情况下应该是最原始的画面,但是我看到的是:白板和Cannot GET / 几个字
原因: 由于2.6以后就更新了,我们需要手动配置些东西,我们需要输入下面三行命令:

1
2
3
npm install hexo-renderer-ejs --save
npm install hexo-renderer-stylus --save
npm install hexo-renderer-marked --save

这个时候再重新生成静态文件,命令:

1
hexo generate (或hexo g)

启动本地服务器:

1
hexo server (或hexo s)

再点击网址http://0.0.0.0:4000 。OK终于可以看到属于你自己的blog啦。虽然很简陋,但好歹有了一个属于自己的小窝了。本地已经简单的设置好了,但是现在域名和服务器都是基于自己的电脑,接下来需要跟github进行关联。

配置Github

建立Repository

建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】,固定写法 然后建立关联,我的Blog在本地/Users/leopard/Blog,Blog是我之前建的东西也全在这里面,有:

1
2
3
4
5
6
7
8
9
10
Blog
 |
 |-- _config.yml
 |-- node_modules
 |-- public
 |-- source
 |-- db.json
 |-- package.json
 |-- scaffolds
 |-- themes

现在我们需要_config.yml文件,来建立关联,命令:

1
vim _config.yml

翻到最下面,改成我这样子的,注意: ‘:’ 后面要有空格

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

执行如下命令才能使用git部署

1
npm install hexo-deployer-git --save

网上会有很多说法,有的type是github, 还有repository 最后面的后缀也不一样,是github.com.git,我也踩了很多坑,我现在的版本是hexo: 3.1.1,执行命令hexo -vsersion就出来了,貌似3.0后全部改成我上面这种格式了。 忘了说了,我没用SSH Keys如果你用了SSH Keys的话直接在github里复制SSH的就行了,总共就两种协议,相信你懂的。 然后,执行配置命令:

1
hexo deploy

然后再浏览器中输入http://leopardpan.github.io/就行了,我的 github 的账户叫 leopardpan ,把这个改成你 github 的账户名就行了

部署步骤

每次部署的步骤,可按以下三步来进行。

1
2
3
hexo clean
hexo generate
hexo deploy

一些常用命令:

1
2
3
4
5
6
7
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help #查看帮助
hexo version #查看Hexo的版本

一些基本路径

文章在 source/_posts,编辑器可以用 Sublime,支持 markdown 语法。如果想修改头像可以直接在主题的 _config.yml 文件里面修改,友情链接,之类的都在这里,修改名字在 public/index.html 里修改,开始打理你的博客吧,有什么问题或者建议,都可以提出来,我会继续完善的。
Markdown语法参考链接: 作业部落

Q&A

1
2
3
4
5
问:如何让文章想只显示一部分和一个 阅读全文 的按钮?
答:在文章中加一个 <!--more--> , <!--more--> 后面的内容就不会显示出来了。
---
问:本地部署成功了,也能预览效果,但使用 username.github.io 访问,出现 404 .
答:首先确认 hexo d 命令执行是否报错,如果没有报错,再查看一下你的 github 的 username.github.io 仓库,你的博客是否已经成功提交了,你的 github 邮箱也要通过验证才行。