GitHub + Hexo 搭建个人博客网站
一、准备工作
1. GitHub + Hexo 的优势
Hexo 提供现成的模板和模块;github 的 pages 功能提供免费的服务器,零成本搭建属于自己的博客。
2. 需要了解的网站
- github,开源代码托管网站,需要我们去注册一个账号。
- hexo,一个快速、简洁且高效的博客框架,需要我们去提前了解一些搭建文档。
- git,本地安装
git工具,实现代码提交和推送。 - nodejs,本地安装
nodejs,Hexo基于nodejs编写的。
以上安装软件操作,请自行搜索
二、github 上创建仓库
1. 新建仓库

2. 填写地址
仓库名称为 <用户名>.github.io,勾上 Add a README file。

提示,用户名为你自己的
github帐号,见下图。
3. 访问
访问地址 https://<用户名>.github.io,如图则说明创建成功。

三、本地安装 Hexo,生成博客模板
1. 安装 Hexo
打开cmd,执行
npm install -g hexo-cli
查看 Hexo 版本
hexo -v
执行结果如下
PS C:\Users\Administrator> hexo -v
hexo-cli: 4.3.0
os: win32 10.0.25217
node: 14.21.1
v8: 8.4.371.23-node.87
...
2. 创建本地博客
切换到工作区域文件夹下,执行
hexo init github-blog
执行结果如下
PS D:\workspace\blog> hexo init github-blog
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO Install dependencies
...
22 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
INFO Start blogging with Hexo!
然后初始化
cd github-blog
npm i
安装好后运行,执行
hexo g
hexo server
执行结果
PS D:\workspace\blog\github-blog> hexo g
INFO Validating config
INFO Start processing
INFO Files loaded in 141 ms
INFO Generated: archives/index.html
···
INFO 17 files generated in 349 ms
PS D:\workspace\blog\github-blog> hexo server
INFO Validating config
INFO Start processing
INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
INFO Have a nice day
浏览器打开 http://localhost:4000/ 预览,如下图

四、提交本地博客至 github 仓库
有两种方式
1. 利用 Hexo 的部署插件
安装 hexo-deployer-git
npm install hexo-deployer-git -D
安装完之后修改根目录的 _config.yml 文件,拉到最下面,增加远程仓库地址(自己的),记得保存(ctrl + s)。
deploy:
type: git
repo: git@github.com:weizwz/weizwz.github.io.git
branch: main
提示,远程仓库地址选择
ssh的,如下图,HTTPS的貌似还需要token(主要是我加完token也没成功。。。)
部署到GitHub
hexo g -d
执行成功后,查看 github 代码仓是否更新,查看博客地址页面。

2. 直接将 public 目录中的文件和目录推送至 gitHub 仓库
可参考我的博客 Git使用记录 - 持续更新 - 将本地项目关联到远程仓库。
记得是 public 目录,不是整个项目。如果你把整个项目推送了过去,记得回退。
5. 主题配置
在 github 上搜索 Hexo theme,选择自己喜欢的主题,最好选择有详细文档的,这样安装比较方便。以我选择的 hexo-theme-butterfly 为例,具有 Demo 演示和详情的文档说明,只需按照文档来安装和配置即可。
参照 安装文档 进行安装配置,基础效果如下

按照文档进行其他配置,最后推送至远端仓库即可。
然后开始写作欣赏你自己的博客吧!
作者: 唯之为之
链接: https://weizwz.com/posts/9462cbd1.html
来源: 唯之为之
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
GitHub + Hexo 搭建个人博客网站的更多相关文章
- GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录
目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...
- Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理
这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...
- Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计
之前说了 next 主题的优化和接入评论系统.让我们完成了自己所需的页面风格和排版,也可让访问用户在每篇博文评论,完成博主和访问用户的交互. 本章我们继续讲解其他重要功能. 既然是一个网站,那么我们就 ...
- Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统
静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...
- Linux下使用 github+hexo 搭建个人博客04-next主题优化
上篇我们说了 hexo 的优化,针对的站点的优化. 本篇讲解 next 主题的优化,包括:使用语言.前端页面显示宽度.菜单.侧栏.头像.添加或取消动画效果.打赏功能等等. 让页面排版更符合我们所要的功 ...
- Linux下使用 github+hexo 搭建个人博客03-hexo配置优化
上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...
- Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages
之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...
- Linux下使用 github+hexo 搭建个人博客01-hexo搭建
为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...
- Windows下通过GitHub+Hexo搭建个人博客的步骤
Windows下通过GitHub+Hexo搭建个人博客的步骤 https://blog.csdn.net/namechenfl/article/details/90442312 https://bl ...
- Github+Hexo,搭建专有博客
前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面[前端页面是从QQ空间抠的,现在想抠估计没这么容易了],写代码,忙活半天才把程序弄好. 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购 ...
随机推荐
- spring-boot-maven-plugin报红问题
spring-boot-maven-plugin报红的原因是因为缺少Spring-Boot的版本号, 版本号可在pom.xml中找到,找到Spring-Boot的版本号后一定不要忘记点击maven的刷 ...
- 微服务组件--注册中心Spring Cloud Eureka分析
Eureka核心功能点 [1]服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址.端口.运行 ...
- SQL中的转义字符和通配符
一.通配符 如果想查找"_cs"结尾的的账户 select * from [user] where loginname like '%_cs'是不行的, _ 被认为是任意的字 ...
- scrapy出现SSL问题 如何解决? <twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', '', 'unsafe legacy renegotiation disabled')]>
问题:<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', '', 'unsafe legacy renego ...
- ES6 学习笔记(一)let、const与作用域
一.let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效. 如: { let a = 10 var b = 20 } console.log(b) co ...
- CF815D
模拟赛遇到的题目. 看各位大佬的做法都不是很懂,于是自己一通乱搞搞出来了. 题意 翻译清楚的不能再清楚了 做法 为了方便叙述,我们将每个给出的三元组表示成 \((a_i,b_i,c_i)\),所选的三 ...
- 08 | 白话容器基础(四):重新认识Docker容器
你好,我是张磊.今天我和你分享的主题是:白话容器基础之重新认识Docker容器. 在前面的三次分享中,我分别从Linux Namespace的隔离能力.Linux Cgroups的限制能力,以及基于r ...
- 顺序表代码总结——SqList
在C++编译器下可直接运行 #include <stdio.h> #include <stdlib.h> #include <malloc.h> //顺序表存储结构 ...
- vue 中使用 this 更新数据的一次大坑
情景说明: 之前用 vue 做数据绑定更新时,发现一个莫名奇妙的问题. 我在 vue 实例中声明了一个数组属性如 books: [],在异步请求的回调函数中使用 this.books = res.da ...
- Easy-Classification-验证码识别
1.背景 Easy-Classification是一个应用于分类任务的深度学习框架,它集成了众多成熟的分类神经网络模型,可帮助使用者简单快速的构建分类训练任务. 案例源代码 Easy-Classi ...

