超详细hexo博客部署到github教程

 

1 、前言

使用github pages服务搭建博客的好处有:

  1. 全是静态文件,访问速度快;
  2. 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台;
  3. 可以随意绑定自己的域名,不仔细看的话根本看不出来你的网站是基于github的;
  4. 数据绝对安全,基于github的版本管理,想恢复到哪个历史版本都行;
  5. 博客内容可以轻松打包、转移、发布到其它平台;
  6. 等等;

1.1、工欲善其事,必先利其器

在开始之前首先以下内容你已具备:

  1. 一个github账号,没有的花可以去github.com注册一个,很简单的
  2. 您的系统安装了nodejs,npm,git并且了解最基本的使用方法

本文将使用以下环境:

  • 系统:ubuntu: Linux 5.3.0-45-generic linux x64
  • hexo-cli: 3.1.0
  • node: 12.16.1
  • npm: 6.13.4
  • git: 2.20.1

2、github配置:

新建仓库: 新建一个名为你的用户名.github.io的仓库,比如说,如果你的github用户名是test,那么你就新建test.github.io的仓库

需要注意:

  • 仓库名字必须是:username.github.io,其中username是你的用户名 如果不是这个格式不能使用username.github.io这个域名访问你的博客,如果你有自己域名可以忽略

2.1、本地配置:

    配置SSH key为什么要配置这个呢?因为你提交代码肯定要拥有你的github权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用ssh key来解决本地和服务器的连接问题。

$ cd ~/. ssh #检查本机已存在的ssh密钥

如果提示:No such file or directory 说明你是第一次使用git。

ssh-keygen -t rsa -C “邮件地址” 然后连续3次回车,在用户目录会生成.ssh隐藏目录,打开用户目录,

显示隐藏文件的方法:

  • ubuntu:Ctrl+H
  • windwos: 控制面板->文件夹选项->查看->高级设置->选择显示隐藏的文件、文件夹和驱动器->确定
打开控制面板 打开查看标签 找到'显示隐藏的文件、文件夹和驱动器'
  • Mac: 打开终端输入以下命令:
   显示隐藏文件命令:
  defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
   关闭显示隐藏文件命令:
   defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder

如果不想麻烦可以直接使用如下命令复制id_rsa.pub公钥内容

ubuntu:~$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2AAABgQC4ynFg9LU2wV6SH0e4IrhgO2pA6I+dZgN6t/6nnZvXETEAPVDaI/lo1PQJiosqhJtOoaTTOme53+dS0AtHZGa4wG0GY9CHkoij0W4UivsASW+O/EpTfIhjDe06dnBtKS2xyId9gtuNloa9za4dP7nf95E= [email protected]

github添加sshkey

浏览器打开GITHUB,打开刚刚创建的仓库,找到Settings

然后左侧选择Deploy keys–>Add deploy key

然后将复制的.ssh/id_rsa.pub公钥内容,添加到GitHub deploy keys中,如下图:

2.2测试ssh配置

使用命令:

出现下面内容就说名配置成功了

-ubuntu:~$ ssh -T [email protected]
Hi xxx/xx.github.io! You've successfully authenticated, but GitHub does not provide shell access.

2.3、配置环境

1、安装git、nodejs 、npm

sudo apt install git nodejs npm

3、安装hexo

npm install hexo-cli -g          #安装hexo
hexo init blog  				#初始化hexo程序
cd blog						#切换到blog目录
npm install					#下载hexo程序到blog目录
hexo server				#本地预览

hexo目录结构

hexo-install-directory
├── CNAME
├── _config.yml 				//Hexo的配置文件,可以配置主题、语言等
├── avatar.jpg
├── db.json
├── debug.log
├── node_modules          //hexo 插件库
├── package.json
├── public						//执行hexo g命令后,生成的内容会在这里,包括所有的文章、页面、分类、tag等.
│   ├── 2020
│   ├── 404.html
│   ├── Staticfile
│   ├── archives
│   ├── atom.xml
│   ├── categories
│   ├── css
│   ├── images
│   ├── index.html
│   ├── js
│   ├── page
│   ├── sitemap.xml
│   └── vendors
├── scaffolds					//保存着默认模板,自定义模板就是修改该目录下的文件
│   ├── draft.md 				//默认的草稿模板
│   ├── page.md 				//默认的页面模板
│   └── post.md 				//默认的文章模板
├── source 						//Hexo存放编辑页面的地方,可以使用vim或其他编辑器编辑这里的内容
│   ├── 404.html   				//自定义404页面,
│   ├── Staticfile 				
│   ├── _drafts					//存放所有的草稿文件的目录
│   ├── _posts					//存放所有的文章文件的目录,用的最多,比如执行hexo n "post_name"之后,post_name这篇文章就存放在这个目录下
│   ├── categories
│   └── images					//这是我自己定义的,用于存博客中的图片,当然也可以使用图床
└── themes						//Hexo的所有主题
    ├── landscape				
    └──  next					//这是我目前用的主题

3.1、hexo配置

打开hexo配置文件 _config.yml (根目录)

找到deploy按照以下格式配置

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: [email protected]:username/username.github.io.git
  branch: master

其他按需设置,这里就不详细介绍了

3.2、撰写博客

进入/source/_posts目录(或者使用命令:hexo new xxx来生成文章名为xxx的文章) 新建xx.md文件(xx即是你要写的文章标题) 使用markdown编辑其或者任意文本编辑器,使用markdown语法编写你的博客巴!

3.2生成并部署到github

然后使用以下命令生成并部署到github

hexo g  #生成静态页面

hexo d  #部署到github

4、结束

至此博客已经部署完成,通过xxx.github.io来欣赏你的新博客。 常用hexo命令:

hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #部署到GitHub
hexo help  # 查看帮助
hexo version  #查看Hexo的版本

缩写:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy

组合命令:
hexo s -g #生成并本地预览
hexo d -g #生成并上传

返回顶部