2024.11最新Hexo+GitHub搭建个人博客

article/2025/6/9 0:39:00

2024.11最新Hexo+GitHub搭建个人博客

一、Hexo介绍

Hexo 是一个快速、简洁且高效的博客框架,有丰富的主题和插件可供使用。 Hexo 使用 Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。这篇文章讲述如何使用Hexo+GitHub Pages搭建个人博客。

以下是我基于 Hexo 搭建的个人博客:

木林小辞🥝 - RationalDysaniaer的个人博客

二、环境搭建

安装 Hexo 需要先安装以下两个应用程序:

  1. Node.js(官方建议使用 Node.js 12.0 及以上版本)
  2. Git

Hexo 是基于 Node.js 的框架,同时我们要用到 git 进行部署,这里我推荐两个都安装最新版本

安装 Node.js

下载地址:Node.js — 下载 Node.js®

可根据自己操作系统,按照官网提示安装

windows 系统安装时,请确保勾选 Add to PATH 选项(默认已勾选)

安装 Git

  • Windows安装地址:Git - Downloading Package
  • Mac:使用 Homebrew, MacPorts ,或者下载程序:git-osx-installer (abandoned) download | SourceForge.net
  • Linux (Ubuntu, Debian):sudo apt-get install git-core
  • Linux (Fedora, Red Hat, CentOS):sudo yum install git-core

测试是否安装成功

打开终端输入以下指令判断是否安装成功且正确配置环境变量,如下图,如果成功看到版本号,代表安装成功

在这里插入图片描述

若安装过程中遇到问题,可百度解决,这里不做过多讲解

三、本地搭建 Hexo 博客

先将博客在本地搭建起来,新建一个文件夹用来存放博客程序,文件名和位置任意。

我这里是在 D 盘下新建了一个 Blog 文件夹,在该文件夹下,右键->显示更多选项,点击 Open Git Bash here,如果无此选项,请检查环境搭建时候成功

在这里插入图片描述

打开后输入以下命令一键安装hexo

$ npm install -g hexo-cli

可能遇到的问题:
输入命令后长时间卡住无法安装成功,可参考以下解决方案
此时按下 Ctrl+C 停止当前命令,输入以下命令配置淘宝镜像

$ npm config set registry https://registry.npmmirror.com

然后重新输入命令安装hexo

完成后输入以下命令初始化并安装组件

$ hexo init
$ npm install

可能遇到的问题:
输入 hexo init 后,如果卡在INFO Install dependencies不动,此时需按下 Ctrl+C 停止此命令,继续输入 npm install 即可。

这是可以发现文件夹中拉取了一些文件,根据日志可以了解到这是从远程仓库 https://github.com/hexojs/hexo-starter.git 中拉去的,打开可以发现是一个名为 hexo-starter 的初始项目

启动服务器(默认情况下,访问网址为: http://localhost:4000/

$ hexo server

在这里插入图片描述

按住Ctrl键,再用鼠标左键点击最下面的网址即可跳转的浏览器,或者直接在浏览器输入地址http://localhost:4000,就能在浏览器中打开预览页面,按下 Ctrl+C 可以关闭服务

在这里插入图片描述

此时博客就已经在本地部署成功

四、部署到 GitHub Pages

创建GitHub仓库

在GitHub新建仓库,仓库名为用户名.github.io,这里的用户名替换为你自己GitHub上的用户名

比如我的用户名是RationalDysaniaer,新建的仓库名就是rationaldysaniaer.github.io

在这里插入图片描述

创建时选择 public 将仓库公开,推荐勾选 Add a REAMD file 为仓库创建描述文件

配置SSH密钥连接GitHub

2021年8月13日 GitHub 取消了对密码身份验证的支持,我们需要使用 GitHub 的个人访问令牌来代替密码,但每次上传都需要输入一次用户名和 token 显然比较麻烦,安全性也较低,配置 ssh 后就可以更加方便的上传文件

打开C盘,进入 Users 文件夹,接着打开电脑用户名文件夹,寻找是否有.ssh文件夹,如果有的话需删除掉,没有就继续进行下面的步骤

在这里插入图片描述

在该文件夹下右键打开Git Bash,输入以下命令生成ssh密钥,中途需按下三次回车键

$ ssh-keygen -t rsa -C "github绑定的邮箱"

成功后在该目录下生成了.ssh文件夹,用记事本打开.ssh文件夹下的id_rsa.pub文件,复制里面的内容

在GitHub设置中点击SSH and GPG keys选项,点击New SSH key

在这里插入图片描述

出现以下界面

在这里插入图片描述

填写 Title项 为 hexo,将复制的内容粘贴到 Key 文本框中,点击 Add SSH key 后需要输入一次 GitHub 密码,即可添加成功

再次打开Git Bush,输入以下命令验证是否能连接成功

$ ssh -T git@github.com

如果询问是否继续连接,输入yes即可,如下图出现successfully即为连接成功

在这里插入图片描述

最后,配置用户名和邮箱

$ git config --global user.name "Github上的username"
$ git config --global user.email "GitHub绑定的邮箱"

到这里已经成功配置好了 ssh 连接,可以将本地博客部署到 GitHub 了·

在刚刚创建的博客文件夹下再次打开 git bush,安装 hexo-deployer-git 插件

$ npm install hexo-deployer-git --save

打开_config.yml文件,更改最后面的 deploy 内容,用户名替换为自己的 github 用户名

deploy:type: gitrepository: https://github.com/用户名/用户名.github.io.gitbranch: main

生成静态文件

$ hexo g

上传到GitHub

$ hexo d

上传成功后就可以通过浏览器访问到你的博客网站

博客地址:https://用户名.github.io

将用户名替换为你自己的 GitHub 用户名,就可以通过此网址访问你的博客了,快将自己的博客网址发给你的小伙伴炫耀一下吧!

如果想要时博客更加美观,可以到 hexo 官网下载博客主题,同时查看官方文档修改配置文件,发表博客文章,一点点完善你的博客。

五、使用主题

进入 Hexo 主题页面:Themes | Hexo

挑选一个你喜欢的主题,如果要使用这个主题,就去看该主题 GitHub 上的 readme 文件,最好不要直接自己摸索

如果readme文件没有说明如何使用,则使用一般方法:

  1. 克隆主题项目到 hexo 博客根目录 themes 文件夹下

  2. 更改博客配置文件 _config.yml, theme 选项值设为新的主题名称,这个配置可以用来切换下载到 themes 文件夹下的不同主题

清楚缓存并重新启动项目,就可以看到新的主题界面了

如果要更新主题,进入主题文件夹下使用以下命令

$ cd themes/主题名
$ git pull origin master

使用的主题一般也会有一个自己单独的配置文件,详细配置请看GitHub上该主题作者的readme文档

还有一些并未放在官网上的第三方主题,可能更改了大量博客起始文件的内容,并不是复制到主题文件夹下使用,而是直接克隆到整个博客项目

六、配置

需要在 _config.yml 中修改配置

可查阅官方文档进行配置:配置 |Hexo 系列

接下来是一些进阶内容

七、Hexo目录结构

在初始化博客文件后,项目文件夹将如下所示:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

_config.yml

网站的配置文件, 可以在此配置大部分的参数

package.json

应用程序的信息, EJS, Stylus 和 Markdown 渲染引擎已默认安装,可以自由移除

scaffolds

模版文件夹,在新建文章时,Hexo 会根据 scaffold 来创建文件

source

资源文件夹。 是存放用户资源的地方。 除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。 Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

themes

主题文件夹, Hexo 会根据主题来生成静态页面。

八、常用命令

初始化
$ hexo init [folder]

初始化网站。如果没有提供 folder,Hexo 会在当前目录下搭建一个网站

此命令是运行以下步骤的快捷方式:

  • Git clone hexo-starter including hexo-theme-landscape
  • 安装依赖项
新建文章
$ hexo new <title>
生成静态文件
$ hexo generate

可以简写为:

$ hexo g
部署网站
$ hexo deploy

可以简写为:

$ hexo d
清除缓存
$ hexo clean

可以简写为:

$ hexo cl

清除缓存文件 (db.json) 和已生成的静态文件 (public)。

列出所有路由
$ hexo list <type>
显示版本信息
$ hexo version

九、部署到Vercel加速访问

Vercel 是一个用于静态站点和无服务器函数的云平台,使开发者能够轻松部署他们的项目。

使用Vercel的优点可以阅读下面的文档:

Vercel:前端开发者的最佳部署工具 | 数据学习者官方网站(Datalearner)

Vercel官网:

Vercel: Build and deploy the best web experiences with the Frontend Cloud


http://www.hkcw.cn/article/ZhSstWonAF.shtml

相关文章

完美解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese

文章目录 方法一&#xff1a;取消代理设置方法二&#xff1a;设置系统代理结语 &#x1f389;欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&#x1f388;该系列文章专栏&#xf…

git 拉取Github时报错【 Recv failure: Connection was reset】

问题 当我们电脑能够正常访问Github时&#xff0c;但是git拉取代码出现 &#xff1a; Recv failure: Connection was reset原因 这是因为使用了特殊上网方法&#xff0c;电脑能够正常访问&#xff0c;但是git通过底层访问需要配置代理才能正常访问 解决办法 配置方法如下&…

【PostgreSQL系列】PostgreSQL性能优化

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

如何使用 TortoiseGit 将本地代码回退到指定版本

如何使用 TortoiseGit 将本地代码回退到指定版本 在使用 Git 进行版本控制时&#xff0c;我们可能会遇到需要回退到某个旧版本的情况&#xff0c;比如发现最近的修改引入了问题&#xff0c;或者需要恢复到某个特定的稳定状态。TortoiseGit 是一款非常流行的 Git 图形化工具&am…

航空安全警钟须长鸣 充电宝冒烟再敲警钟

5月31日,CZ6850杭州飞往深圳的航班上,一名旅客携带的相机电池和充电宝突然冒烟。乘务组迅速采取措施,排除了安全风险。为确保安全,机组决定立即返航,航班在起飞15分钟后安全降落。这次事件虽然没有造成人员伤亡,但再次提醒人们航空安全的重要性。任何微小的安全隐患都可能…

玩客云 OEC/OECT 笔记

外观 内部 PCB正面 PCB背面 PCB背面 RK3566 1Gbps PHY 配置 OEC 和 OECT(OEC-turbo) 都是基于瑞芯微 RK3566/RK3568 的网络盒子, 没有HDMI输入输出. 硬件上 OEC 和 OECT 是一样的, 唯一的区别是内存, OEC 内存 2GB 而OECT 内存是 4GB. 产品OECOEC-turboCPURK3566…

InfluxDB 高级函数详解:DERIVATIVE、INTEGRAL、SPREAD、HISTOGRAM 与 DIFFERENCE

在时序数据分析中&#xff0c;除了基础的聚合函数&#xff08;如 MEAN、SUM&#xff09;&#xff0c;InfluxDB 还提供了一系列专门针对时间序列特性的高级函数。这些函数能帮助我们挖掘数据的变化趋势、波动特征和分布规律。下面我们将逐一解析五个关键函数&#xff1a;DERIVAT…

华为OD机试真题—— 最少数量线段覆盖/多线段数据压缩(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《最少数量线段覆盖/多线段数…

古代小孩哥怎么过六一 绿意中撒欢踢毽子

今天是六一儿童节,让我们一起看看古代的孩子们在这一天会玩些什么。古代的童趣VCR展示了高能量小孩哥的日常。他们在绿意盎然的环境中尽情撒欢,青翠的柳荫、碧绿的草地,还有亲密的玩伴。孩子们选择组团踢毽子,只见小孩哥眼神专注,动作轻快,毽子跃起时衣角也随之飘动。旁边…

有捏捏玩具甲醛超标40多倍 安全问题引热议

近日,拥有百万粉丝的捏捏玩具博主“有只猫叫小朋友”在社交平台上发布癌症诊断书,并表示暂停更新。这一举动引发了关于捏捏玩具安全性的讨论。有网友留言称,自己和孩子玩过捏捏玩具后出现了头疼、嗓子疼的情况。捏捏玩具是一种流行的硅胶材质慢回弹类解压玩具,外形多为软萌…

宇树机器狗go2添加3d雷达(下)添加velodyne系列雷达

0.前言 上一篇文章教大家如何在宇树机器狗go2的仿真环境中添加3d雷达livox mid360&#xff08;宇树机器狗go2 添加3d雷达&#xff08;上&#xff09;添加livox系列雷达&#xff09;&#xff0c;本期文章会教大家添加lvelodyne的系列雷达&#xff0c;是添加3d雷达的下期。宇树机…

美国终止艾滋病疫苗研发项目 转向现有方法消除艾滋病

特朗普政府终止了一项2.58亿美元的项目,对艾滋病疫苗研发工作造成了沉重打击。一位不愿透露姓名且未经授权发言的高级官员表示,美国国立卫生研究院计划将关注点转向利用现有方法消除艾滋病,并暂停了莫德纳公司研发的一项艾滋病疫苗临床试验。公共卫生专家指出,这些削减措施…

需求分析文档(PRD)编写指南——结构化定义与标准化写作方法

序言 在产品研发过程中&#xff0c;需求分析文档&#xff08;PRD&#xff09;是连接业务目标与技术实现的核心纽带。一份清晰的PRD能够&#xff1a; 统一团队认知&#xff1a;让产品、开发、测试等角色对需求的理解保持一致&#xff1b; 减少沟通成本&#xff1a;通过结构化描…

使用Shell脚本实现多GPU上的Ollama模型自动部署

使用Shell脚本实现多GPU上的Ollama模型自动部署 在大规模AI应用场景中&#xff0c;我们经常需要在多个GPU上同时部署不同的语言模型。本文将介绍一个自动化部署脚本&#xff0c;用于在多个GPU上高效部署和管理Ollama模型。 功能特点 自动停止已运行的Ollama服务支持多GPU并行…

Apdex评分从3级到5级标准划分思路详解

什么是 Apdex APdex &#xff08;Application Performance Index&#xff09;‌是一个用于评估应用性能的工业标准&#xff0c;也被称为 满意度&#xff0c;广泛应用于性能监控和优化。由 Apdex联盟开发,它从用户的角度出发&#xff0c;将应用响应时间的表现&#xff0c;转化为…

MATLAB 绘制带误差棒的拟合图:从入门到精通

在科学研究和工程实践中&#xff0c;数据可视化是理解数据特性、验证模型假设的重要手段。今天&#xff0c;我们来深入探讨一种极具价值的数据可视化形式——带误差棒的拟合图&#xff0c;并手把手教你如何用 MATLAB 实现它。 一、什么是带误差棒的拟合图 带误差棒的拟合图是…

[面试精选] 0206. 反转链表

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 2. 题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 3. 题目示例 示例 1 :…

“香会”现场,中方代表发声!

第22届香格里拉对话会正在新加坡举行中国人民解放军国防大学代表团成员张弛在现场回应一系列焦点问题解放军打“独”促统不停步!在今年的香格里拉对话会上,台湾问题多次被提及。对此,张弛表示,“台独”分裂与台海和平是水火不容的,赖清德当局一年多来大肆挑动两岸的对立对…

乌总统顾问:备忘录未来实施恐困难重重

俄罗斯方面5月30日称,俄代表团已经准备好在6月2日与乌克兰开启第二轮谈判,希望双方能就和平协议备忘录内容进行讨论。乌克兰官员5月31日表示,由于俄罗斯未公开备忘录内容,乌方猜测大概率与俄方官员此前声明并无差异,未来实施备忘录内容可能困难重重。乌克兰总统办公室主任…

夺冠、庆祝、然后被捕……昨夜巴黎街头如“战场”

5月31日,法甲球队巴黎圣日耳曼5比0大胜意甲球队国际米兰,捧起本赛季欧冠联赛冠军奖杯。彻夜狂欢的法国球迷聚集在巴黎香榭丽舍大街及“大巴黎”主场王子公园一带。据巴黎警方消息,至午夜已有至少81人因滋事被捕。户外烟花声、鸣笛声、欢呼声不绝于耳,间或传来警笛声。据法媒…