这篇文章详细描述了,如何使用hexo搭建个人静态博客。
前言
我以前的个人博客,是使用 jekyll 搭建的,jekyll 是使用ruby开发的,很多的语法和使用习惯都有深深的ruby风格,按理说,作为一个rubyer,应该会喜欢才对呀,我为何要从Jekyll转到hexo呢?
关于如何使用 jekyll,我推荐阮老师的这篇文章-使用jekyll和github page 搭建无限量博客
我想主要是这几点吧:
- Hexo是基于nodejs实现的,就我目前而已,接触JavaScript是比较多一些,也觉得js本地开发方便一些。
- Hexo是本地编译和
render()
的,拥有本地的调试服务器,不用等到server端,就可以预览自己的博文,而这一点,jekyll是做不到的。 - Hexo对于分页和文章摘要更加友好,也更加轻量级。
- Hexo的生态和社区要稍微友好一些,至少漂亮主题是特别的多(纯粹个人感觉)。
- 搭建静态博客系统,hexo非常的轻便简洁,并且拥有很多的插件和友好的文档。
- 当然咯,很重要一点,jekyll所拥有的功能,hexo基本都拥有,包括都支持Markdown。
安装准备
如果你已经安装了 Nodejs 和 git 请跳过此项
安装Node
cURL:
1 | $ curl https://raw.github.com/creationix/nvm/master/install.sh | sh |
Wget:
1 | $ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh |
安装完成后,重启终端并执行下列命令即可安装 Node.js
1 | $ nvm install stable |
或者,也可以下载安装程序来安装。
安装Git
- Windows: 下载双击安装
- Mac: 使用Homebrew安装。
1
$ brew install git
- Linux (Ubuntu, Debian):
sudo apt-get install git-core
- Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
安装Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。
1 | $ npm install -g hexo-cli |
创建博客文件夹
在你喜欢的位置,创建你本地博客的文件夹:
1 | $ mkdir blog && cd $_ |
初始化Hexo
在你博客文件夹目录下:
1 | $ hexo init |
详细初始化以及相关教程,请参考官方文档
初始化完成后,安装依赖:
1 | $ npm install |
新建博文
1 | $ hexo new hello-world |
更多操作,请前往官网
本地预览
1 | $ hexo generate //编译文章 |
可以使用 hexo g
代替 hexo generate
, 使用 hexo s
代替 hexo server
. 如果你想hexo监听你的文件内容修改,可以加上 watch
1 | $ hexo g --watch |
将博客部署到Github Pages
Github提供了免费的静态文件服务,用于展示项目说明或者用于个人静态博客,官网在这儿。
注册账号
首先,你得有一个github账号,具体如何注册,这里就不详述了,提供注册传送门。
创建一个仓库
取名一定要和符合这个格式。[你的账号名].github.io,如图:
建好就行啦。
本地部署配置
根目录下 _config.yml
文件,最后一行(如果没做修改的话),添加部署信息:
1 | # Deployment |
部署到远程
安装git部署依赖
1 | npm install hexo-deployer-git --save |
安装完成以后,重新部署
1 | $ hexo g |
等待upload完成,就可以去远程看看啦,地址一般为:
username.github.io
当然咯,先要确保你本地和你远程github已经连通,具体配置请参考github官网.
添加个性化域名
- 注册一个域名,可以选择去Name.com, 或者中国万网
- 有了域名以后,添加域名DNS解析,解析成
CNAME
类型,保存等待15分钟左右,参考如下: - 回到本地博客文件夹,进入
source/
文件夹,创建文件CNAME,并将你的域名直接写入CNAME中。1
2$ cd source
$ touch CNAME - 重新部署:
1
2
3$ hexo clean // 有时候,修改一些比如主题,配置等文件,需要先clean原有build
$ hexo g
$ hexo d
好了,可以去你的自定义域名看看效果咯。
个性化主题
Hexo 官网提供了大量社区开发的主题,可以直接安装,也可以自己参照文件编写,主要运用 JS HTML CSS 完成,这里就不详述了。
常见问题
内容不更新
先clean,再部署
1 | $ hexo clean |
部署到远程没反应
由于国内某些围墙的设置,https
可能没法访问,所以,需要将 _config.yml
中deploy地址,改为 http
并使用 ssh
访问。
好了,目前就这么多了,有什么遗漏或者不对,请留言。