基于Hexo-Butterfly主题 + GitHub Pages的个人博客搭建
前言
本网站基于 Hexo 框架Butterfly主题将 Markdown文件
渲染为 HTML网页
并使用 GitHub Pages
进行发布。
本文中使用的环境配置如下:
- Windows 11系统
- Node.js v18.18.2
- Git v2.40.0
- Hexo v4.3.1
下面介绍该博客网站的搭建过程。
安装Node.js和Git
安装Node.js,安装教程参考教程。安装完成后,在安装路径下打开命令行终端,输入
node -v
查看是否安装成功,输入npm -v
查看npm版本号- 切换镜像-淘宝:
npm config set registry http://registry.npm.taobao.org/
- 查看版本命令:
npm get registry
- 切换镜像-官方:
npm config set registry http://www.npmjs.org
- 切换镜像-淘宝:
安装Git,安装教程参考教程
安装HEXO
新建文件夹
blog
,用于存储本地文件,右键文件夹,选择Git Bash Here
,在git终端中输入npm install -g hexo-cli
hexo安装路径为:
C:\Users\Liu\AppData\Roaming\npm
卸载hexo命令:
npm uninstall hexo-cli -g
,卸载完之后npm文件夹会消失hexo v
查看版本
使用
hexo init
命令,初始化blog
文件夹初始化完成后,
blog
文件夹中的目录结构如下图所示:- _config.yml:站点配置文件,可以配置网站标题、关键字、语言、时区、文件夹目录等等功能
- scaffolds:模板文件夹,一般在新建文章的时候才会用到,会根据你选择的模板来创建文件,会省掉不少时间
- source:资源文件夹,通过hexo命令生成的页面文件会统一放在这个文件夹下面
- themes:主题文件夹,下载的主题就会放在这个文件夹下面。(ps: 主题是用来让你网站变的花里胡哨的东西,官方主题商店:https://hexo.io/themes/ )
hexo generate
:生成静态文件,产生 public文件夹hexo server
:启动服务器- 通过本地地址:http://localhost:4000/ 访问
安装Butterfly主题
在 blog
目录下:
- 安装依赖:
npm install hexo-renderer-pug hexo-renderer-stylus
- 安装主题:
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
,themes文件夹下出现butterfly文件夹——成功! - 使用VS Code打开
blog
文件夹,方便编辑 - 修改blog目录下_config.yml配置文件中的
theme: butterfly
hexo clean
hexo g
hexo s
- 通过本地地址:http://localhost:4000/ 访问
部署到GitHub
- GitHub中创建新仓库
blog
- 配置仓库的GitHub Pages
- 新建
gh-pages
分支 - Settings$\rightarrow$Pages$\rightarrow$Build and deployment$\rightarrow$Source(Deploy from a branch)$\rightarrow$Branch(gh-pages$\rightarrow$root$\rightarrow$save)
- 新建
- 安装 hexo-deployer-git 插件:
npm install hexo-deployer-git --save
- 修改
blog
目录下_config.yml中的内容:1
2
3
4
5deploy:
type: git
repo: https://github.com/***/blog.git # ***处为你的GitHub用户名称
branch: gh-pages
ignore_hidden: false - 修改
blog
目录下_config.yml中:url: https://***.github.io/blog/
部署三步骤
hexo clean
hexo g
hexo d
初步胜利:以上步骤后成功通过 [GitHub用户名].github.io/blog 就可以访问博客网站啦!!!
Butterfly主题配置及美化
- 首先,请参考官方安装配置文档进行一些基本配置
- 然后,基于自己的喜好进行主题美化
字体设置
侧边栏时钟(参考教程)
- 如果有安装店长的插件版侧边栏电子钟(与店长的电子钟冲突),在博客根目录
blog
下打开终端,运行以下指令1
2# 卸载原版电子钟
npm uninstall hexo-butterfly-clock - 安装插件,在博客根目录
blog
下打开终端,运行以下指令:1
npm install hexo-butterfly-clock-anzhiyu --save
- 添加配置信息,以下为写法示例在站点配置文件_config.yml 或者主题配置文件_config.butterfly.yml 中添加其中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# electric_clock
# see https://anzhiy.cn/posts/fc18.html
electric_clock:
enable: true # 开关
priority: 5 #过滤器优先权
enable_page: all # 应用页面
exclude:
# - /posts/
# - /about/
layout: # 挂载容器类型
type: class
name: sticky_layout
index: 0
loading: https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/loading.gif #加载动画自定义
clock_css: https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/clock.min.css
clock_js: https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/clock.min.js
ip_api: https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0
qweather_key: # 和风天气key
gaud_map_key: # 高德地图web服务key
default_rectangle: false # 开启后将一直显示rectangle位置的天气,否则将获取访问者的地理位置与天气
rectangle: 112.982279,28.19409 # 获取访问者位置失败时会显示该位置的天气,同时该位置为开启default_rectangle后的位置qweather_key
和gaud_map_key
最好自己去申请对应的 api key,默认使用安知鱼的,可能会被限制,不保证可靠性
添加评论区
博客写作
to be continued…
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 知遥!