准备工作
node:
检查是否已安装:
1 | $ node -v |
若未安装,到Node.js官网下载相应平台的最新版本,然后安装
git:
检查是否已安装:
1 | $ git --version |
若未安装,参考此教程
安装hexo
1 | $ npm install -g hexo |
hexo官网上的安装命令是
1 | $ npm install -g hexo-cli |
初始化
创建一个目录,比如 ~/blog,进入目录,执行
1 | $ hexo init |
启动hexo服务器:
1 | hexo s |
此时,浏览器中打开网址http://localhost:4000,就能看到以下页面:
至此,本地设置完毕,接下去要关联github。
创建仓库
登陆github账号,新建repository,取名格式为 用户名.github.io,比如:jasonlouxy.github.io
进入blog目录,vim打开_config.yml,找到deploy,并且修改:
1 | type: git |
执行生成静态网页命令:
1 | hexo g |
执行配置命令:
1 | hexo d |
会提示输入github用户名和密码
如果此时报错:无法连接git或者找不到git,则执行
1 | $ npm install hexo-deployer-git --save |
此时在浏览器中打开网址 jasonlouxy.github.io 能看到与打开 localhost:4000 时一样的页面。
添加ssh key到github
在~/.ssh中检查ssh key是否存在,如果有文件id_rsa.pub或id_dsa.pub
若没有,需要生成新的ssh key,执行:
1 | $ ssh-keygen -t rsa -C "your_email@example.com" |
邮箱为github注册的邮箱地址
将ssh key添加到github中:打开id_rsa.pub文件,将内容复制到github的add ssh key页面即可
绑定域名
可以用自己的域名来替代github的,先要查询博客的ip地址:
1 | $ ping jasonlouxy.github.io |
添加域名解析:
- A地址,主机记录@,记录值为查询获得的ip地址;
- CNAME,主机记录www,记录值为jasonlouxy.github.io
- 进入github中博客的repository页面(jasonlouxy/jasonlouxy.github.io),选择settings,找到GitHub Pages,在Custom domain中填写自己的域名,保存后完成
发布文章
- 在blog文件夹下,执行:
1 | $ hexo new "postname" |
- 名为postname.md的文件会建在/blog/source/_posts下
- 文章编辑完成后,在blog文件夹下,执行:
1 | $ hexo g |
安装theme
可以在hexo官网主题页搜索自己喜欢的theme,这里以hexo-theme-next为例:
- 在blog目录下,执行:
1 | $ git clone https://github.com/iissnan/hexo-theme-next themes/next |
- 在_config.yml里找到theme,改成next(默认是landscape)
- 在blog目录下,执行:
1 | $ hexo g |