参考文章
- 干掉mackeeper
- hexo+github
1 - 搭建自己的云服务器&解析域名
- blog=github+hexo+git
2 - 静态博客框架之Hexo & Jekyll
- 博客搭建可行性方案(jekyll, hexo, Wordpress)
- 测试Node.js 和npm
- Hexo Docs
安装Hexo
1.准备
1 | nodejs + git |
2.安装
1 | npm install -g hexo-cli:需加sudo,否则会报权限错误 |
3.建站
1 | hexo init blog |
4.启动
1 | hexo server |
5.生成静态页面
1 | hexo new "hell, hexo article" |
关联Github
hexo本地设置好后,接下来就是开始关联github
1.创建ssh-key,添加ssh-agent(避免每次访问github要输入账号密码),上传公钥至github sshkeys.
为github生成shendawei0727@163.com ssh公私密钥。
ssh密码为手机号
➜ .ssh ssh-keygen -t rsa -b 4096 -C "shendawei0727@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/lixing/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/lixing/.ssh/id_rsa.
Your public key has been saved in /Users/lixing/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:13pg4amiMEiqktqC1KMmSMKf2hP2Gpyk4h2oTZwnghU shendawei0727@163.com
The key's randomart image is:
+---[RSA 4096]----+
| |
| |
| E . |
| . . + |
|..o. S * . |
|=B=*. + o |
|%+@=* . . . . |
|%BoOoo . . |
|O++++ |
+----[SHA256]-----+
➜ .ssh 添加ssh key到ssh-agent,存储ssh密码(passphrase)到keychain
后台开启ssh-agent
➜ .ssh eval "$(ssh-agent -s)"
Agent pid 21038
执行添加
➜ .ssh ssh-add -K id_rsa
Enter passphrase for id_rsa:
Passphrase updated in keychain: id_rsa
Identity added: id_rsa (id_rsa)
➜ .ssh 上传ssh-key到github
1 | pbcopy < ~/.ssh/id_rsa.pub |

测试ssh-key是否成功
1 | ssh -T git@github.com |
2.在github创建新仓库(不勾选Initialize项,即不在服务端初始化仓库,而是由本地初始化仓库并上传至服务端)
创建仓库
在网页端创建sgz-xiaowu.github.io.git
初始化仓库[选择在本地命令行创建repo]
终端Terminal,进入hexo blog目录,初始化git
1 | 创建README.md |
查看分支状态
1 | ➜ blog git:(master) git branch -a |
创建origin/master分支,存储发布的静态网页
1 | 此时远端只有hexo分支,而blog生成的静态html文件需推送到远端master分支,因为github pages要求使用master分支。 |
提交博客原始md文件
1 | git push origin HEAD:hexo |
查阅帮助git help push,了解push分支含义
声明:以下match分支流指的是“若本地分支已指定远端分支流,则推送到指定分支流;否则推送到和本地分支名相同的分支流 本地分支名与远端分支名相同的分支流“。被推送的远端分支流,均用match分支流表示。
1 | git push <==> git push origin //推送当前本地分支到远端match分支流 |
发布博客到Github
1 | 运行 |
Hexo&Github流程
- hexo init必须在空目录下执行,会生成一个.gitignore文件
1 | .DS_Store |
- git init会创建.git/目录
- hexo-deployer-git会创建.deploy_git/目录,并且初始化一个master分支,将本地public的内容发布到这里,并发布到github仓库origin master分支。
1 | 修改_config.yml |
