Hexo + Github Pages 搭建个人博客详细教程

什么是 Hexo

Hexo 是一个快速、简洁且高效的博客框架。它允许用户使用 Markdown 语言编写内容,并将其渲染为静态网页。它相当于与一个网站的主题模板,只需要做简单的配置就能够完成页面的渲染。其主要特点包括快速部署,Markdown 支持,灵活的布局,丰富的插件。

官方文档:Hexo 官方文档,包括插件库和主题库。

环境准备

  • Git:电脑需要安装 Git。
  • Github:一个 Github 仓库。
  • Node.js:框架运行需要 Node.js 环境。

Hexo 安装

执行命令安装 Hexo:

复制代码
npm install -g hexo-cli

在 Github 上新建一个仓库后,git clone 到本地,进入到项目的根目录下,执行:

csharp 复制代码
hexo init
npm install

执行完毕后启动 hexo:

vbscript 复制代码
hexo server

启动完毕后访问 localhost:4000,如果成功打开并看到一下界面,即代表安装成功:

完成初始化的项目目录如下:

bash 复制代码
.
├── _config.yml
├── package.json
├── scaffolds
|   └── post.md
├── source
|   └── _posts
└── themes

其中,常用配置文件如下

  • _config.yml:是 hexo 的主要配置文件,网页的基本配置都在这里完成。
  • package.json:记录项目安装的 npm 插件。
  • scaffolds/post.md:新建文章时的文章模板。
  • source/_posts:文章的默认创建与读取目录。
  • themes:主题文件的默认安装目录。

基本配置与文章发布

基本配置

首先配置一些比较必要的网站基本配置,打开 _config.yml 文件,以下是部分需要关注的配置:

yaml 复制代码
# 网站标题
title: 
# 你的名称
author: 
# 网站使用语言
language: zh-CN
# 网站使用时区
timezone: 'Asia/Shanghai'

# 你的网址, 必须以 http:// 或 https:// 开头
url: 
# 文档的默认读取路径,不建议修改
permalink: :year/:month/:day/:title/  

# 你的各类资源默认存放目录,建议可以默认
# 当你在文章中填写资源路径时,都是以此目录为根目录的相对路径
source_dir: source 
# 静态页面编译后的存放目录
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories

# 网站使用主题
theme: 

# 资源部署
deploy:
  type: git
  # 部署仓库地址
  repo: 
  # 部署分支
  branch: main
  # 提交信息
  message: 

文章发布

在项目根目录下执行一下命令创建文档:

arduino 复制代码
hexo new yourtitle

此命令会以 scaffolds/post.md 文件为模板,在 source/_posts 目录下创建一个新的 Markdown 文档,其中,yourtitle 是你的文档名称。

进入 source/_posts 目录下编辑创建的文档,执行命令:

vbscript 复制代码
hexo server

打开 localhost:4000 就可以在首页看到你新创建的文档。

Hexo 网站分为几个主要模块:

  • 首页(Home):由创建时间由近到远显示你的文档。
  • 归档(archives):文档的创建时间轴。
  • 分类(categories):文档分类,文档根据设定的分类展示。
  • 标签(tags):文档标签,文档分局设定的标签分类展示。

其中分类与标签可以在文档的头部 Front-Matter 中配置,比如我为一个文档配置了分类与标签,在网站就可以通过分类或者标签筛选到这篇文档。

yaml 复制代码
---
title: Test
date: 2024-03-05 15:09:19
tags: test
categories: test
---

# Title
test

主题

除了 Hexo 的默认主题,Hexo 支持自由切换主题,主题可以在官方网站上寻找,选择好一个主题后,安装其对应的 npm 插件(一般对应主题的文档都会教你如何执行与配置),在 _config.yml 的 theme 配置主题名称,重启服务,即可生效:

makefile 复制代码
theme: themename

通常每个主题都会有一个自己的主题样式配置文件,具体就参考每个主题的文档说明。

Github Pages 部署

Github Pages 是 Github 官方提供的一个静态站点托管服务,它允许用户将 GitHub 仓库中的代码转换为可访问的网站。借助 Github Pages,我们不需要购买服务器也能部署我们的网站。

使用 Github Pages 有一个限制,就是你的仓库名称必须是你的 GitHub 账号用户名 + github.io,网站才能部署成功,即:

lua 复制代码
yourusername.github.io

首先我们修改配置文件 _config.yml 中的 deploy 配置,填上我们的仓库的地址与提交信息:

yaml 复制代码
# 资源部署
deploy:
  type: git
  # 部署仓库地址
  repo: 
  # 部署分支
  branch: main
  # 提交信息
  message: 

在项目下执行部署命令,它就会自动帮我们编译项目并推送代码到仓库中:

复制代码
hexo deploy

Hexo 编译生成的静态文件资源都默认存放在 public 目录下,这条命令会推送 public 目录下的文件强制覆盖到指定的仓库中,且 Github 就会自动开启部署任务,只要 Github Pages 服务是开启的,每次推送代码都会自动启动部署任务。

在仓库的 Setting 目录下可以看到 Github Pages 相关的配置,默认部署的是 main 分支根目录下的文件:

将分支设置为 none 即为关闭 Github Pages 服务:

每次的推送成功后,我们可以从 Actions 选项卡下看到我们的部署任务是否完成:

由于网站部署只需要我们的静态资源文件,即 public 目录下的资源文件,所以官方建议把源码与编译后的资源文件分开存储,所以在仓库中新建一个分支用于关于我们的源码,修改源码提交源码在这个分支上,Hexo 的部署配置写的是仓库的 main 分支,执行 deploy 命令时会提交到 main 分支上。

任务完成之后,就可以登录我们的网站查看啦~

最后

这个是我在 Github Pages 搭建的网站,使用的 Hexo 主题的是 icarus,小魔改了一下,可以作为参考:PandaMiner's Blog

以上就是本文所有的所有内容了,希望对你有所帮助,感谢阅读。

相关推荐
咖啡の猫2 小时前
Shell脚本-for循环应用案例
前端·chrome
百万蹄蹄向前冲4 小时前
Trae分析Phaser.js游戏《洋葱头捡星星》
前端·游戏开发·trae
朝阳5815 小时前
在浏览器端使用 xml2js 遇到的报错及解决方法
前端
GIS之路5 小时前
GeoTools 读取影像元数据
前端
ssshooter5 小时前
VSCode 自带的 TS 版本可能跟项目TS 版本不一样
前端·面试·typescript
Jerry6 小时前
Jetpack Compose 中的状态
前端
dae bal7 小时前
关于RSA和AES加密
前端·vue.js
柳杉7 小时前
使用three.js搭建3d隧道监测-2
前端·javascript·数据可视化
lynn8570_blog7 小时前
低端设备加载webp ANR
前端·算法
LKAI.8 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi