声明:本文为 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: [email protected]: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配置及主题添加》