Giuthub Pages + Hexo搭建博客
Liam Huang的博客真的特别好看,因此重新把博客使用hexo搭建。更多知识分享请到 https://zouhua.top/。
PS: Jekyll和Hexo区别
- Jekyll
上传工程文件,GitHub自动生成静态文件 基于Ruby- Hexo
先生成文件,再部署(直接部署_site文件夹也可以)
出自台湾大学生SkyArrow
基于Node.js的静态博客框架
出现时间晚于Octopress和Jekyll
搭建步骤
- GitHub创建个人仓库
- 安装Git
- 安装Node.js
- 安装Hexo
- 推送网站
- 保存源代码
GitHub创建个人仓库
注册GitHub账号
- 邮箱注册github账号
创建新仓库命名为yourgithubname.github.io
创建与自己GitHub账号名一致的*.github.io账号
创建source分支
master主支用于支持hexo渲染的静态网页,source分支用了存储渲染网页所需的源代码
安装git
git是开源的分布式版本控制系统,本地博客内容需要通过git同步到github远程仓库。
设置user.name和user.email配置信息:
git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub注册邮箱"
生成ssh密钥文件:
ssh-keygen -t rsa -C "你的GitHub注册邮箱"
在根目录下面找到隐藏目录.ssh,获取id_rsa_pub的内容,复制粘贴入GitHub的settings的SSH选项
cat ~/.ssh/id_rsa_pub
安装Node.js
Hexo基于Node.js,Node.js下载地址:Download | Node.js 下载安装包,注意安装Node.js会包含环境变量及npm的安装,安装后,检测Node.js是否安装成功,在命令行中输入 node -v 或者 npm -v:
安装Hexo
-
使用npm命令安装Hexo(可以在git bash界面处理),输入:
npm install -g hexo-cli npm install hexo -g #安装Hexo npm update hexo -g #升级
-
安装插件:
hexo install hexo-abbrlink hexo install hexo-baidu-url-submit hexo install hexo-blog-encrypt hexo install hexo-cake-moon-menu hexo install hexo-deployer-git --save hexo install hexo-generator-archive hexo install hexo-generator-category hexo install hexo-renderer-stylus
推送网站
安装notepad++软件,目的是为了打开配置文件等文本文件;
克隆hexo-next
# 站点文件:
git clone git@github.com:theme-next/theme-next.org.git
# 主题文件:
git clone git@github.com:theme-next/hexo-theme-next.git
克隆博客仓库
# 因调整source为默认主支,因此克隆后直接是源代码仓库
git clone git@github.com:HuaZou/HuaZou.github.io.git
# git branch
# git checkout source
添加博客仓库内容
-
hexo 初始化新建目录test
hexo init test
-
复制test内容至博客仓库HuaZou.github.io;
-
复制hexo-next 主题文件目录至 themes目录并删除next内置的.git目录;
-
创建新博客内容:新建文章;生成静态页面;本地预览;
-
安装Typora软件,编辑md文件。
hexo n "我的博客" == hexo new "我的博客" #新建文章 hexo g == hexo generate #生成 hexo s == hexo server #启动服务预览 hexo d == hexo deploy #部署 hexo server #Hexo会监视文件变动并自动更新,无须重启服务器 http://localhost:40000 hexo server -s #静态模式 hexo server -p 5000 #更改端口 hexo server -i 192.168.1.1 #自定义 IP hexo clean #清除缓存,若是网页正常情况下可以忽略这条命令
发布网站
上面只是在本地预览,接下来要做的就是发布网站。在设置之前,需要解释一个概念,
在blog根目录里的_config.yml文件称为站点配置文件
进入根目录内的themes文件夹,配置_config.yml文件;
关联Hexo与GitHub,修改根目录下面的站点配置文件_config.yml;
deploy: type: git repo: https://github.com/HuaZou/HuaZou.github.io.git branch: master
- 保存站点配置文件。
# 保存文件 npm install hexo-deployer-git --save # 生成静态文件 hexo clean hexo g hexo d
保存源代码
在hexo d推送网站后,可以将源代码上传至GitHub的博客仓库source分支,在上传源代码时候需要明白某些文件可以不上传,如在hexo init 生成的默认忽视文件或者文件夹,这里本人还加入了文章的源码,也就是source/_post/*md文件等,这些文件包含本人的一些隐私等,暂不上传文章源码。
# git bash处跳转到当前博客目录,根目录下输入博客所在目录
cd d:/github/HuaZou.github.io
# 一定是在source分支查看文件是否存在修改
git status
# 提交修改文件至远程仓库
git add -A
git commit -m "update or modified your files"
git push origin source
#PS: 在提交时需要git pull更新本地仓库,这可以保证不发生冲突
引用
参考文章如引起任何侵权问题,可以与我联系,谢谢。
网友评论