Hexo发布到Github

  |  

搭建 gitpages

先自己在 github 创建一个账号

在 github 上配置 gitpage

新建一个项目(仓库的命名是最重要的,规则是仓库”github 用户名.github.io”)
不然不能访问

在这里插入图片描述
建好仓库之后,在仓库界面选择仓库名称下面一行选项中的”settings”进入到仓库的设置界面中
可以看到 settings 下面的 github pages 选项中提示你的网站已经发布在仓库名字对应的网址上了

我们打开这个网址,看到默认的博客效果,很是丑陋,这时我们可以在 settings 的 github pages 选项中点击”Theme chooser”选项下面的“choose a theme”选项,为博客选择一个主题
在这里插入图片描述

配置

在项目在根目录下的_config.yml 写入

1
2
3
4
5
deploy:
type: git # 设置发布类型,如git
repository: git@github.com:wjc49420645/wjc49420645.github.io.git # 设置repository对应的链接 选择ssh
branch: master # 设置提交到的分支
message: Site updated at {{ now("YYYY-MM-DD HH:mm:ss") }} # 设置我们提交的信息

执行发布代码命令

1
hexo deploy

提示 error deployer not found:git(说明没有发布工具)
安装工具

1
yarn add hexo-deployer-git --dev

测试连接

1
ssh -T git@github.com

Permission denied(publickey):提示缺少公钥

本地生成公钥(具体可以百度一下)

1
ssh-keygen

成功的话会在 用户下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key 即可
复制到 github 秘钥设置
在这里插入图片描述
在这里插入图片描述

添加进去再次测试
在这里插入图片描述
说明成功了

运行

hexo clean
hexo g
hexo deploy

访问https://wjc49420645.github.io 就可以了

使用自己的域名映射 github
我购买的是阿里云的域名 1.先 ping wjc49420645.github.io 获取到 ip 存入阿里云上域名解析的记录值中 2.在 github 当前项目的 setting 设置的下面放入你的域名
在这里插入图片描述
完成
以后访问你的新域名就可以了

出现过的问题

hexo d(hexo deploy 的缩写) 提交
之后发现配置的域名访问不了了
那是因为每次 hexo d 把旧代码覆盖了,配置域名的文件删除了
在 source 目录下添加 CNAME,这样每次构建时才会对应在仓库的根目录生成 CNAME,在这个文件中添加你的域名
在 hexo d 就不会出现域名不能访问了
在这里插入图片描述

文章目录
  1. 1. 搭建 gitpages
    1. 1.1. 先自己在 github 创建一个账号
  2. 2. 配置
    1. 2.1. 在项目在根目录下的_config.yml 写入
    2. 2.2. 执行发布代码命令
    3. 2.3. 运行
    4. 2.4. 出现过的问题