本地搭建 hexo
<!-- more -->
构建hexo需要在本地安装
node.js
brew install node
当前版本的node版本
node -v
v7.7.3
<!-- more -->
全局安装
hexo
npm install -g hexo
国外镜像慢的话可以搜索找下淘宝的
cnmp
创建一个目录并且安装
hexo
mkdir hexo_blog
cd hexo_blog
hexo init
npm install
新建一个文章
hexo new "your-first-page"
文件在 hexo_blog/source/_post/
下进行编辑啊
然后就是生成静态文件
hexo generate
hexo server
这时就可以访问 http://localhost:4000 来查看效果,这个时候hexo已经搭建成功了,
但是我们需要外网能够访问,这就用到了今天的另一个主角:github page
将 hexo
放到github上
需要一个github账号,具体申请登录看 https://github.com 上的引导就行
创建一个新的 repository 名字格式是固定的,比如我的账户名是 gaopengfei123123 那么这个库的名字就是 gaopengfei123123.github.io 不能改的哦
为了可以直接提交远程文件需要添加 ssh 密匙
本地操作
ssh-keygen -t rsa -C "5173180@qq.com” -f ~/.ssh/github-rsa
cat ~/.ssh/github_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3K5mcQxH9mu1cUIu2+byK1iksES/7Tnfh23l2U6y1fOKO4XFhPLdAoMQdePnI51PAF4faXxucOYsiDb6IpQimWPwORKTkEkcglOiZ414eZZ829gY98RAldbFQeT2L9A0l2APfcan1fH4HvrCmZKlY8CNDQDDfRzXub9hfSX3LS5mQlgS9PHiFoXRfrS10hYweere9Cb9OFiEdkdCfMKUBr25ImGahqbHxE8Vb3QzMT8Q5PBITqFwYnIE/z6HU6Lok92EZ/uVG81SMJb9A5SQCZdsjWmyDqXj1eDZ1A2YyUlA+/6QM7JjCrLoZAAtZHTH+ylNAG79w9WG0eYAuL GaoPengFeiFiy@github.com
把这一段完整的复制到 https://github.com/settings/keys 这个地址下,添加一条新的ssh-key,这样就能免登录提交版本文件
现在编辑本地hexo根目录下的站点配置文件
path/to/hexo_blog/_config.yml
查找字段deploy
编辑成这样
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:gaopengfei123123/gaopengfei123123.github.io.git
branch: master
设置好后,就将本地生成的静态文件发到github上
hexo deploy
#如果报错就可能是少个插件
npm install hexo-deployer-git
进入 你的版本库地址/settings 比如我的就是
https://github.com/gaopengfei123123/gaopengfei123123.github.io/settings
找到github pages
设置块按照你的需求调整,这时访问https://gaopengfei123123.github.io
就能访问 hexo 上传的内容了
绑定一个自己的域名,通过它来访问github pages
我用的是阿里云的万网来举例
首先进入到万网云解析的页面
记录类型:A
主机记录:blog
记录值:xxx.xxx.xxx #这里需要 ping -c 3 https://gaopengfei123123.github.io 获取ip地址
然后返回到 你的版本库地址/settings 这里,将
Custom domain
设置成你刚才解析的名字,
与此同时在github上版本的根目录下添加一个文件CNAME
内容是
#in CNAME
blog.justwe.site
这时再返回settings中就能看的 github pages 部分的域名绑定的是你的域名了,到这里博客算是搭建成功了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。