Hexo博客搭建-用hexo-coding-next搭建个人博客

总体思路

  • 原则上,Hexo的运行环境与博客目录分离。

  • 具体来讲,用Docker方式安Hexo,配置Docker里的git环境并建立与coding的链接;在本机建立博客目录,并配置主题、写博客;最后,运行,可配置快捷方式(本文是Linux系统,在.bashrc添加),运行博客系统或者发布博客。

安装和运行Hexo

  • 方案一:直接安装。参考Hexo中文文档——安装,不赘述。
  • 方案二:采用Docker。即采用如下的dokcerfile创建docker。
点击显/隐内容
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
27
28
## https://blog.csdn.net/u013076044/article/details/66289301
## https://hub.docker.com/_/node/

FROM node:10.9.0-jessie

MAINTAINER ledong <your@mail.com>

EXPOSE 4000

ENV REFRESHED_AT 2018-08-15
ENV HEXOWEBSITE=/opt/websiteTest

VOLUME [${HEXOWEBSITE}]
WORKDIR ${HEXOWEBSITE}

## https://segmentfault.com/q/1010000009487303?_ea=1946152
## https://blog.csdn.net/u014792304/article/details/78687859
## https://blog.csdn.net/hoshea_chx/article/details/78826689
RUN cd ${HEXOWEBSITE} &&\
npm config set registry https://registry.npm.taobao.org &&\
npm install -g hexo-cli

RUN git config --global user.email "your@mail.com" &&\
git config --global user.name "yourname" &&\
ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" -C "your@mail.com" &&\
cat /root/.ssh/id_rsa.pub

WORKDIR /opt/
点击显/隐内容

建立一个博客目录并配next主题

先绑定~/test/目录的方式进入docker

1
docker run -it -p 4000:4000 --name myblog_hexo  -v ~/test/:/opt/website  myblog_hexo /bin/bash

在docker里的/opt/website/目录下,执行如下代码:

1
2
3
hexo i blog
cd ~/test/blog
git clone https://github.com/theme-next/hexo-theme-next themes/hexo-theme-next

这样在本地会有一个~/test/blog/文件夹,就是博客的主目录,修改其中的_config.yml更改主题

1
theme: hexo-theme-next

运行博客

先在Linux系统中的~/.bashrc中加入如下代码(注意,这里绑定了博客目录~/test/blog/到docker的/opt/website

1
2
3
alias hbrun='docker stop myblog_hexo ; docker rm myblog_hexo ; docker run -it -p 4000:4000 --name myblog_hexo  -v ~/test/blog/:/opt/website  myblog_hexo /bin/bash  -c "ssh -T git@git.coding.net; ssh -T git@github.com; bash"'
alias hbs='docker stop myblog_hexo ; docker start myblog_hexo; docker exec -i myblog_hexo /bin/bash -c "cd /opt/website/; hexo clean; hexo g ; hexo s"'
alias hb2git='docker stop myblog_hexo ; docker start myblog_hexo; docker exec -i myblog_hexo /bin/bash -c "cd /opt/website/; hexo clean; hexo g ; hexo d"'

然后,运行hbrun命令用于进入docker。若在本机进入~/test/blog/目录,运行hbs即可本地发布博客,浏览器输入http://localhost:4000/查看。而hb2git命令的使用,看下一部分。

使用git管理Hexo

一开始的dockerfile代码中,因为该docker是第一次用git,因此dockerfile里一定要运行如下命令(第二条可不运行):

1
2
git config --global user.email "your@email"
git config --global user.name "yourname"

在coding上导入公钥/root/.ssh/id_rsa.pub后,测试是否成功(如果后面使用过程中出现连接错误,这个测试可以解决问题):

1
2
ssh -T git@git.coding.net
ssh -T git@github.com

接着在coding上注册一个项目yourblog,获取链接git@git.coding.net:youname/yourblog.git

之后,在主目录的_config.yml添加如下代码。注意有坑,主目录下_config.yml在配置deploy时要忽略掉.deploy_git文件夹,不然每次部署该目录由于递归存入会滚雪球增大。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
deploy:
# - type: git
# repository: git@github.com:youname/yourblog.git
# branch: master
- type: git
repository: git@git.coding.net:youname/yourblog.git
branch: master
- type: git
repository: git@git.coding.net:youname/yourblog.git
branch: hexo
extend_dirs: /
ignore_hidden: false
ignore_pattern:
public: .
/: .deploy_git

然后,运行前面提到的hb2git命令,就可以把生成的网页目录~/test/blog/public/部署到coding项目的master分支;而整个博客项目~/test/blog/推送到hexo分支。

经过如此一番,就可以到coding上去部署自己网页啦。即打开浏览器,进入coding刚建立的项目yourblog,代码-pages服务,部署来源选择master,然后可以选择https访问。

另外,遇到换电脑时,只要Hexo已经安装好,下载hexo分支即可直接得到整个博客项目。

1
git clone -b hexo git@git.coding.net:youname/yourblog.git

最后,为了管理主题方便,可用git来管理主题,请参考该文:hexo博客配置-主题管理与配置

注意事项

next主题从5到6的版本更新要注意,许多lib不能用了。从 NexT v5.1.x 更新

参考

Hexo中文文档——安装

基于docker的Hexo博客系统

使用coding和Hexo快速搭建博客

用Hexo + github搭建自己的博客 — 再也不用羡慕别人了

Hexo Next 四种主题

hexo的next主题个性化教程:打造炫酷网站

Hexo搭建个人博客–NexT主题优化-来自Alvabill

Donate comment here
xiaotiandi 微信支付

微信支付

xiaotiandi 支付宝

支付宝

xiaotiandi

公益(commonweal)微信