hexo+github博客搭建
需求
将本地博客存放在DropBox
云中
使用hexo构建博客系统
使用github作为远程仓库
使用gitee作为备用仓库
绑定域名
本地使用ssh git方式推送
搭建步骤
安装必要环境
git
windows10 (非必须)
Hexo: 4.2 ~ 5.x
hexo-cli: 3.1 ~ 4.x
node.js: 12.16 ~ latest # 推荐使用 LTS 版
npm: 6.13 ~ latest
安装node,js:
安装git:
安装node.js 和git后进行测试:
$ npm -v
$ git --version
安装hexo:
因为我将blog文件存放在Dropbox云中,
而Dropbox本地文件在
.Dropbox\XXX
若之间使用npm
命令则会出现找不到包的问题
我这里的解决方法是:
-
先在控制台使用npm 命令安装
npm install hexo-cli -g
-
将目录
C:\Users\XXX\AppData\Roaming\npm
下的 node_modules和 hexo*相关的文件复制一份到.Dropbox\XXX\Blog\
下 -
在
.Dropbox\XXX\Blog\
下打开控制台继续执行安装hexo的命令# 安装 npm install hexo-cli -g # 测试版本 $ hexo -v # 安装 $ hexo init blog & cd blog & npm install # 浏览器访问 localhost:4000 测试 $ hexo server # 此时本地安装hexo已完成
hexo文件树:
. ├── _config.yml # 网站的配置信息,您可以在此配置大部分的参数。 ├── package.json ├── scaffolds # 模版文件夹 ├── source # 资源文件夹,除 _posts 文件,其他以下划线_开头的文件或者文件夹不会被编译打包到public文件夹 | ├── _drafts # 草稿文件 | └── _posts # 文章Markdowm文件 └── themes # 主题文件夹
如果遇到npm 安装 报错问题, 尝试删除
package-lock.json
再试hexo常用命令:
hexo npm install hexo -g #安装 npm update hexo -g #升级 hexo init #初始化 简写 hexo n "我的博客" == hexo new "我的博客" #新建文章 hexo p == hexo publish hexo g == hexo generate#生成 hexo s == hexo server #启动服务预览 hexo d == hexo deploy#部署 服务器 hexo server #Hexo 会监视文件变动并自动更新,您无须重启服务器。 hexo server -s #静态模式 hexo server -p 5000 #更改端口 hexo server -i 192.168.1.1 #自定义 IP hexo clean #清除缓存 网页正常情况下可以忽略此条命令 hexo g #生成静态网页 hexo d #开始部署 监视文件变动 hexo generate #使用 Hexo 生成静态文件快速而且简单 hexo generate --watch #监视文件变动 完成后部署 两个命令的作用是相同的 hexo generate --deploy hexo deploy --generate hexo deploy -g hexo server -g 草稿 hexo publish [layout] <title>
安装hexo主题:
安装适合自己口味的主题
设置github
github 新建仓库,仓库名称为 XXX.github.io; XXX为你的用户名!
注意项:
1. ==仓库名称中XXX必须与用户名对应!!!!==
2. 方式为`public`
设置使用ssh方式推送
-
查看本地
C:\Users\XXX\.ssh
下有无id_rsa
样式文件 -
若无,创建新的ssh 密钥,
$ ssh-keygen -T rsa -C 'github邮箱地址' # 回车继续, passphrase 密码可输入可不输
-
复制
.ssh
目录下的id_rsa.pub
中文件内容到github ssh keys管理中 -
测试ssh
$ ssh git@github.com
若出现: ssh: connect to host github.com port 22: Connection refused 错误
解决方法:
-
XXX\.ssh
目录下创建config文件 -
config文件中写入下面的信息:
Host github.com User xxxxx@xx.com(github用户邮箱) Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 443
-
再使用
ssh git@github.com
测试
-
选择配置自己的hexo 主题(可选)
选择适合自己口味的blog主题即可
域名绑定github
-
域名解析商解析方式选择
CNAME
; 站点为:XXX.github.io
-
xxx.github.io仓库中,setting选项Page中配置 Custom domain
内容为你的域名,save保存
-
blog 根目录下的source文件中创建
CNAME
文件 (必须选项)
内容为你的域名
作用: 防止每次hexo推送博客后,域名解析失效,重新配置Custom domain