Djangohexo搭建github博客

hexo搭建github博客

1. 前提条件

  • 已有GitHub账号
  • (Mac)已安装Xcode command line tools
  • 安装的工具我使用的是npm和brew

2. 安装git与Node.js

1
2
brew install git
brew install node

3. 安装Hexo

1
npm install -g hexo-cli

为了便于发布到GitHub上,建议同时安装hexo-deployer-git

1
npm install hexo-deployer-git --save

4. 初始化,建立博客项目

选定博客网站项目程序文件的存放位置,如~/develop/hexo/github/,Bash中cd进入该目录下,执行命令:

1
hexo init

执行完毕后,该命令将在当前目录下生成一套标准的Hexo博客项目模板

5. 生成网站

上面的操作只是生成了一套网站构成所需的“源代码”,实际发布时需要根据这套“源代码”当中的配置文件、博客文档(.md文件)、主题模板等,进行组合构建,生成服务器可识别的标准HTML网站目录,此时可使用该命令:

1
hexo g

执行完毕后,在public目录下可看到我们自己书写的博客文档(.md文件)与所选的博客主题模板链接组合,生成的最终静态网站文件,该目录也差不多就是之后发布到GitHub上的实际文件(实际发布到GitHub的是.deploy_git目录),外部的网站“源代码”不会上传到github.io

6. 启动本地服务器

启动本地服务器可即时查看网站运行效果:

1
hexo s

默认地址是 localhost:4000

7. 选择主题

Hexo可随时使用、更换博客主题

主题文件可在Hexo官方主题网页中下载,以Material为例,点击主题预览图下方的主题名称链接即可进入该主题的源码发布页面 GitHub - viosey/hexo-theme-material: Material Design theme for hexo.

img

根据主题安装指导,下载项目至博客项目下的themes目录中,文件夹命名为material,并在博客配置文件_config.yml中指定使用该主题:

1
theme: material

将material主题目录下的_config.template.yaml重命名为_config.yaml

参考Material主题文档进行必要配置

再次执行 hexo g将会根据新主题重新构建整个博客

注意:
1.5.6版本在执行hexo g时会报出TypeError错误,可参考Issue686修改dnsprefetch.ejs文件解决

8. 发布博客

8.1 创建github.io仓库

在自己的GitHub中,创建新仓库,标准命名为GitHub用户名.github.io,例如我的:wavky.github.io

仓库Readme、License之类的留空即可,之后在发布上传时会被强制覆盖抹掉

8.2 配置SSH密钥

参考 https://my.oschina.net/ryaneLee/blog/638440配置SSH密钥一节

8.3 修改博客配置文件_config.yml

1
2
3
4
deploy:
type: git
repo: GitHub上传仓库的完整路径,如 https://github.com/wavky/wavky.github.io.git
branch: master

8.4 发布到GitHub

hexo g生成完毕后,可执行该命令发布博客到GitHub上:

1
hexo d

或在生成网站的同时进行发布:

1
hexo g -d

8.5 查看效果

点击仓库页面中的GH Pages按钮,应该可以看到真正发布在互联网上的效果

img

9. 绑定域名

GitHub Pages 默认提供的是 GitHub用户名.github.io(例如我的:wavky.github.io)作为博客访问地址,可设置绑定自定义域名

在博客项目目录的source文件夹中,创建一个CNAME文件,存储预备使用的个人域名,如:

1
2
# 在source目录下
echo story.wavky.com > CNAME

清理Hexo缓存并重新生成发布

1
2
hexo clean
hexo g -d

GitHub项目页面中Setting设置界面,滚到GitHub Pages部分确认域名无误

img

在个人域名提供商(如阿里云万网)中,进入DNS设置界面,追加一条CNAME记录,这里我指定以story前缀的个人域名跳转到原来的默认的博客域名wavky.github.io,记录如下:

img

注:其他类型的域名绑定方式(例如IP指向等),在最后一步DNS设置中操作会不一样

作者:Wavky

链接:https://www.jianshu.com/p/cb0750324e26

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

给咱来个🍰,啾咪