声明:本文为 Santa 原创文章,欢迎转载,请在明显位置注明出处。
推荐访问我的
个人网站
,排版简洁,内容更新更及时
搭建时踩了很多坑,最主要的是很多文章的时效性不能保障了,按照文章的方法不能成功走完下来,特在此记录下最新的搭建流程,后续如有必要会持续更新
读本教程需要有基础的Git及Github操作经验,用Hexo写博文需要对MarkDown语法有一定了解
Github Pages
Github Pages是Github推出的一项网站服务,有关Pages的核心就一点:**创建一个名为username.github.io的仓库。Github会自动识别为一个网站,网站的url就是username.github.io **
操作起来也很简单,
步骤如下:
- 在Gtihub新建一个repository
-
在第一栏,
Owner
要选
自己
,
Repository name
填
username.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: git@github.com:SantaJiang/santajiang.github.io.git
branch: main
这里要
注意
两点!
-
Github后续更新了默认主分支的名称,已经不叫
master
了,改为了
main
,如果还是写
master
,并不会报错,但是会在
main
分支之外新建一个
master
分支 -
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配置及主题添加》