使用Hexo与GitHub搭建独立域名博客
环境要求
- Git
- Nodejs
- 安装Hexo及代码提交托管需要以上两个条件
安装 Git
Windows平台下安装
Windows平台下安装相关要简单,下载安装包一路下一步便是。因此不在多叙述。Git官网下载 淘宝镜像下载
CentOS平台安装
在CentOS平台安装最好是先更新为国内Yum源,并更新系统软件等包为最新。这样速度较快,支持较好。
$ sudo yum install git |
Ubuntu平台安装
在Ubuntu平台安装与在CentOS相差不大
$ sudo apt install git |
Mac平台安装
在Mac平台安装既可以通过GUI的方式来安装也可以通过Command的方式来安装,使用Homebrew进行安装:
$ sudo brew install git |
如果没有安装HomBrew, 可以参考
Git 配置命令
#使用前配置全局信息 |
Git代理相关
查看当前的代理设置
git config --global http.proxy |
设置当前代理
git config --global http.proxy 'http://127.0.0.1:1080' |
或
git config --global http.proxy 'socks5://127.0.0.1:1080' |
删除代理
git config --global --unset http.proxy |
其它Git用法请参考文档
安装 Node
Windows平台安装
Windows平台安装Node较简单,不再多叙述。 Node下载
安装完后输入 node -v 查询版本信息
CentOS平台
$ sudo yum install nodejs npm |
源码安装,先下载 Node源码
$ sudo tar -xvf node-v10.16.0-linux-x64.tar.xz |
Ubnutu平台安装
$ sudo apt-get install nodejs npm |
Mac平台安装
$ sudo brew install node npm |
设置国内NPM源
# 永久设置全局淘宝镜像源 |
安装 Yarn (非必须)
npm install -g yarn |
还需要将/home/blue/applications/cache/node/prefix添加到PATH环境变量
博客搭建
安装 Hexo
npm install -g hexo #安装hexo |
Hexo 初始化
创建一个hexo仓库文件夹,进入文件夹初始化hexo
$ cd /home/hexo |
初始化完成后,在hexo目录下生成相关文件
hexo 目录结构
- _config.yml 配置文件
- _public 生成的静态文件,这个目录最终会发布到服务器
- _scaffolds 通用模板
- _source 保存编写的markdown文件
- drafts 草稿文件
- themes 博客主题
- node_modules 类库
安装博客主题
在hexo目录中运行
git clone https://github.com/blinkfox/hexo-theme-matery themes/matery |
克隆完成后,在/Hexo/themes目录下,可以看到 landscape和matery 两个文件夹。
我们所要使用的主题都是放在这个目录下,Hexo默认使用的是landscape主题,NexT主题用的比较多且更多样化,我们这一步克隆了next主题,接下来会使用next主题进行演示。
想获取更多主题,可在网站:此处选择自己喜欢的主题,按照此步的步骤clone下来。
hexo目录中_confit.yml文件配置
# Site |
新建分类categories页
hexo new page "categories" |
编辑文件 /source/categories/index.md,内容如下:
--- |
新建标签 tags 页
hexo new page "tags" |
编辑文件 /source/tags/index.md,内容如下:
--- |
新建关于我 about 页
hexo new page "about" |
编辑文件 /source/about/index.md,内容如下:
--- |
新建友情连接 friends 页(可选的)
hexo new page "friends" |
编辑文件 /source/friends/index.md,内容如下:
--- |
同时,在你的博客 source 目录下新建 _data 目录,在 _data 目录中新建 friends.json 文件,文件内容如下所示:
[{ |
新建留言contact页
hexo new page "contact" |
编辑文件 /source/contact/infex.md 内容如下:
--- |
发布测试
本地发布测试
hexo clean && hexo g && hexo s |
访问 http://localhost:4000/ 即可看到博客效果
博客部署
创建Github仓库
访问 https://github.com/ ,申请注册账号,并创建一个仓库
配置_config.yml
deploy: |
配置 ssh key
创建 ssh key
ssh-keygen -t rsa -C “aiotlab@126.com” |
连续三个或四个回车,生成密钥,最后得到了两个文件:id_rsa和id_rsa.pub
添加密钥到ssh-agent
eval "$(ssh-agent -s)" |
添加生成的SSH key到ssh-agent
ssh-add ~/.ssh/id_rsa |
登录Github,点击头像下的settings,选择右边的ssh and GPG keys 添加ssh
新建一个new ssh key,将生成的id_rsa.pub文件里内容粘贴上面就行啦
测试是不否添加成功
ssh -T git@github.com |
如果看到后面显示的是你的git用户名,说明添加成功。
配置Deployment,在其文件夹中,找到_config.yml文件,修改deploy中的repo值(在末尾)
repo值是你的github项目中右边Clone or download可以看到
发布项目
安装自动部署发布工具
npm install hexo-deployer-git --save |
发布命令
hexo clean && hexo g && hexo d |
发布时会提示输入github帐号和密码(未添加ssh key),提示发布完成
设置CNAME
在 hexo 项目下,source 文件夹下面创建 CNAME 文件(没有后缀名的),在里面写上购买的域名。比如:
baize.cc |
在 github 上面,打开 username.github.io 项目的(Settings)设置,然后在 GitHub Pages的 Custom domain设置里填上购买的域名。
打开你添加的域名,是否发布成功。