Bootstrap

Github Pages搭建个人博客(最新版)

声明:本文为 Santa 原创文章,欢迎转载,请在明显位置注明出处。
推荐访问我的个人网站,排版简洁,内容更新更及时

搭建时踩了很多坑,最主要的是很多文章的时效性不能保障了,按照文章的方法不能成功走完下来,特在此记录下最新的搭建流程,后续如有必要会持续更新

读本教程需要有基础的Git及Github操作经验,用Hexo写博文需要对MarkDown语法有一定了解

Github Pages

Github Pages是Github推出的一项网站服务,有关Pages的核心就一点:**创建一个名为username.github.io的仓库。Github会自动识别为一个网站,网站的url就是username.github.io **

操作起来也很简单,步骤如下:

  • 在Gtihub新建一个repository
  • 在第一栏,Owner要选自己Repository nameusername.github.io,username就是你Github的用户名
  • 可见性选Public,因为Pages free的账号只能public,有钱可以选Private,然后在新建之后的仓库Setting里,左侧栏选Pages,里边有升级成Pages Pro的选项,这样你的网站项目就可以隐藏,但每年要支付一定的费用
  • 勾选 Initialize this repository with a README
  • Create repository按钮新建仓库

此时你便拥有了自己的Pages个人主页,可以尝试输入网址打开看看,这个生成好的 Repository 就是用来存放博客内容的地方

绑定个人域名

如果你有一个个人域名,也可以在Repository-Settings-Pages里的Custom domain选项填上自己的个人域名,这样你的Pages就和你的个人域名绑定了,输入你的域名就会自动跳转到你个人的Pages

Hexo

生成 Repository之后,接下来就是要往这个Repository 里搭博客了

Hexo是一款本地博客框架,可以运行一个本地的静态博客网站,如果你只需要在自己电脑用,那就不用Pages了

Hexo使用起来很方便,只要在本地编辑好.md后缀的文章,然后重新部署就可以了,而且Hexo官网提供了大量的主题模板

1.搭建Node.js环境

  • 前往 https://nodejs.org/en/
  • 下载最新LTS版本
  • 安装
  • 打开Command Prompt,输入 node -v
  • 显示版本号
  • 成功

2.安装Hexo

  • 打开Command Prompt
  • 执行npm install -g hexo-cli
  • 输入 hexo -v查看版本即安装成功

3.Hexo的初始化

  • 创建blog文件夹,位置建议各盘根目录
  • 打开任一终端(PowerShell/Windows Terminal/Git Bash等均可),进入刚才创建的blog路径下
  • 执行hexo init 将 blog 文件夹初始化
  • 执行 npm install 安装依赖包
  • 执行 hexo g 开始进行部署操作
  • 执行 hexo s 将生成的网页放在本地服务器
  • 打开浏览器,输入网址 http://localhost:4000/ 就可以看到本地的博客效果了
  • 效果没问题,返回终端按 Ctrl + C 中止服务运行

4.发布博客文章
发布博客文章也是较为简单的,需要在本地新建一个博客文档,打开本地进行编辑后,重新部署发布即可,操作如下:

  • 打开刚才的终端
  • 在blog路径下执行 hexo new "Test"
  • 生成的.md文件路径在 blog\source\_posts

打开Test.md,会发现Hexo已经为我们生成了一个表头,表头的格式如下

title: Test                       //文章标题
date: 2021-0X-XX XX:XX:XX         //生成日期
tags:                             //所属标签

我们也可以加上categories标签,表示类别,就例如我这边文章的表头就是这样的:

title: Github Pages搭建个人博客
date: 2021-07-28 17:45:53
categories: 搭建博客
tags: Github Pages

然后,在其下随便写一些内容,保存
回到终端,执行hexo g部署,然后执行 hexo s发布,刷新 http://localhost:4000/ 查看结果

在 Github 上部署 Hexo

操作如下

  • 复制Github Pages的仓库地址,如:https://github.com/SantaJiang/santajiang.github.io.git
  • 修改配置文件blog/_config.yml ,最新版与之前的不同从这里开始了
  • 查找**# Site**字段,修改如下:
# Site
title: Santa的博客
subtitle: 'My personal blog'
description: '记录、分享、交流'
keywords:
author: 蒋胜达
language: en
timezone: ''
  • 查找**# URL**字段,修改如下:
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://santajiang.github.io/
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
  trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
  trailing_html: true # Set to false to remove trailing '.html' from permalinks

注意url填写你的pages网址不是仓库地址

  • 查找deploy字段,修改如下:
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repository: [email protected]:SantaJiang/santajiang.github.io.git
branch: main

这里要注意两点!

  1. Github后续更新了默认主分支的名称,已经不叫master了,改为了main,如果还是写master,并不会报错,但是会在main分支之外新建一个master分支
  2. repository一栏必须填ssh的地址,因为GitHub的密码验证于2021年8月13日不再支持,也就是不能再用密码方式去提交代码。要使用personal access token替代,当然这里我建议用SSH免密登陆,具体GitHub如何配置SSH免密登陆的步骤不在这里详述了,然后继续:
  • 回到终端,执行 npm install hexo-deployer-git --save 只需执行一次,后续无需再执行
  • 执行 hexo d 部署
  • 登录 santajiang.github.io.git 查看效果

参考资料

  • https://hexo.io/docs/
  • https://ryanluoxu.github.io/2017/11/24/%E7%94%A8-Hexo-%E5%92%8C-GitHub-Pages-%E6%90%AD%E5%BB%BA%E5%8D%9A%E5%AE%A2/

至此部署流程完毕,此时网站已具备了基本的博客功能,具体的主题添加和Hexo设置见下篇《Hexo配置及主题添加》

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;