Hexo博客配置
推荐阅读:Halo 博客配置
选择Halo还是Hexo?看完↑的第一小节后,相信你就会有答案了
一、Hexo 博客基础配置
0. 配置 GitHub 的 SSH Key
略
建议 SSH 创建时密码留空,因为真的会忘(
1. 创建 GitHub Pages 仓库
输入 username.github.io
作为存储库名称。 将 username
替换为你的 GitHub 用户名。 例如,如果用户名为 octocat
,则存储库名称应为 octocat.github.io
。
2. 本地安装 Hexo 博客程序
新建一个文件夹用来存放 Hexo 的程序文件,如 Hexo-Blog。打开该文件夹,右键 -> Git Bash Here。
2.1 安装 Hexo
cnpm install -g hexo-cli |
2.2 Hexo 初始化和本地预览
初始化:
hexo init # 初始化 |
启动本地预览
hexo g # 生成页面 |
访问 http://localhost:4000
,出现 Hexo 默认页面,本地博客安装成功!
2.3 Hexo博客文件夹目录结构
2.4 部署 Hexo 到 GitHub Pages
首先安装 hexo-deployer-git:
cnpm install hexo-deployer-git --save |
然后在根目录下_config.yml
文件末尾的 Deployment 部分添加:
deploy: |
将_config.yml
文件中的 url 修改成自己的:
url: https://用户名.github.io/ |
完成后运行如下命令,将网站上传部署到 GitHub Pages:
hexo d |
然后稍等片刻,等待 GitHub 中 workflows 运行完毕(大约需要 1min),即可访问我们的 GitHub 域名。
2.5 Hexo 命令总结
hexo new "文章标题" # 新建文章 |
二、Hexo 博客进阶配置
本站已采用solitude
主题,这里主题配置相关的内容就仅供参考了,solitude
主题使用及配置可以看官方文档
1. 安装 Butterfly
1.1 安装
在 Hexo 根目录中运行:
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
1.2 修改主题
修改 Hexo 根目录下的_config.yml
文件,将主题改为butterfly
theme: butterfly |
1.3 创建新的配置文件
在 Hexo 根目录下创建_config.butterfly.yml
。Hexo会自动合并主题中的_config.yml
和 _config.butterfly.yml
里的配置,如果存在同名配置,会使用_config.butterfly.yml
的配置,其优先度较高。
2. 修改配置文件
修改_config.yml
:
注意修改配置文件(包括主题配置文件)时的缩进问题!
2.1 设置博客个人资料
# Site |
2.2 图片懒加载
安装hexo-lazyload-image
模块:
cnpm install hexo-lazyload-image --save |
新增:
lazyload: |
2.3 引入图片
引入本地图片(不推荐)
修改:
# 开始使用本地静态资源 |
安装插件hexo-asset-image
。
在项目根目录下执行 |
完成上述配置后,在使用命令hexo new post
新建文章时,将会在source/_posts
目录下创建一个与文章同名的目录。
然后配置Markdown编辑器,使得插入图片保存的目录为与文章同名的目录即可。Typora配置如下所示。
图片引用方式:
# 引用图片的时候一定要带上目录名称作为路径(相对路径) |
原理详见:在Hexo中引入本地图片的实现 - nuccch - 博客园 (cnblogs.com)
使用图床(推荐)
这里以阿里云OSS为例,创建一个Bucket
(有需要的可以设置一下防盗链)
然后设置访问控制RAM,创建用户
设置授权,图省事可以直接用AliyunOSSFullAccess
(),粒度小一点可以AliyunOSSReadOnlyAccess
+自定义策略,再小一点就只给自定义策略
{ |
然后创建AccessKey(注意保存!)
然后安装PicGo,图床设置如下,区域根据自己创建桶时选的区域来填写
最后设置Typora
2.4 永久短链生成(2024/3/18更新)
Hexo 默认生成的链接太长了,而且一旦文章名字改变,链接也跟着改变。 rozbo/hexo-abbrlink这个插件可以使得Hexo 生成的链接变短,而且不会因文章名字改变而改变。
安装插件:
cnpm install hexo-abbrlink --save |
在_config.yml
配置文件写入:
# abbrlink config |
记得把原来的permalink:
删除/注释掉(或者直接修改原来的值)!!
3. 修改主题配置文件
修改_config.butterfly.yml
:
3.1 菜单(导航)栏
menu: |
3.2 代码块显示设置
highlight_theme: mac # darker / pale night / light / ocean / mac / mac light / false 代码主题 |
同时将_config.yml
中的highlight
进行设置:
highlight: |
3.3 本地搜索
首先安装搜索插件:
npm install hexo-generator-search --save |
然后修改_config.butterfly.yml
:
local_search: |
3.4 修改副标题
# the subtitle on homepage (主頁subtitle) |
3.5 图片设置
图片可以用云链接或者本地路径:/themes/butterfly/source/img
。
3.5.1 网站图标
可以更换成自己的图标,我这里图片分辨率取同样32*32。
# Favicon(网站图标) |
3.5.2 个人头像
avatar: |
3.5.3 主页封面图片
# The banner image of home page |
3.5.4 文章详情页的顶部图片
当没有在文章front-matter
设置top_img
和cover
的情况下会显示该图。
# If the banner of page not setting, it will show the top_img |
3.5.5 归档页顶部图片
# 归档子标签页图片 |
3.5.6 标签页顶部图片
# tag页(标签页) |
3.5.7 归档页顶部图片
# category页 |
3.6 文章封面统一设置
cover: |
3.7 404图片替换
# Replace Broken Images (替換無法顯示的圖片) |
3.8 图片大图查看
medium_zoom: false |
3.9 版权样式
复制内容后面加上版权信息:
# copy settings |
文章版权信息:
post_copyright: |
3.10 相关文章
# Related Articles |
3.11 侧边栏
# 侧边栏 |
社交平台信息
social: |
可以在 Find Icons with the Perfect Look & Feel | Font Awesome 中找到想要的图标加上其他平台的信息。
3.12 主页文章节选
在butterfly
里,有四种可供选择
- description: 只显示description
- both: 优先选择description,如果没有配置description,则显示自动节选的内容
- auto_excerpt:只显示自动节选
- false: 不显示文章内容
index_post_content: |
description
在Markdown的front-matter里添加。
3.13 Toc 目录
# toc (目錄) |
3.14 背景特效
打字效果:
# Typewriter Effect (打字效果) |
背景特效:
# Background effects (背景特效) |
footer背景
# footer是否显示图片背景(与top_img一致) |
3.15 字数统计
安装统计组件
cnpm install hexo-wordcount --save or yarn add hexo-wordcount |
修改主题配置文件
# wordcount (字數統計) |
3.16 访问人数 busuanzi (UV 和 PV)
下列代码似乎不需要添加也能生效。
busuanzi: |
需要关闭浏览器中的广告拦截插件才能正常显示统计!
4. 创建页面
4.1 创建分类页
在 Hexo 根目录下运行:
hexo new page categories |
运行完毕后,打开/source/categories/index.md
,设置其 type:
type: "categories" |
4.2 创建标签页
在 Hexo 根目录下运行:
hexo new page tags |
运行完毕后,打开/source/tags/index.md
,设置其 type:
type: "tags" |
4.3 创建音乐页
在 Hexo 根目录下运行:
hexo new page music |
假如安装成功,则可以定位到主题目录\layout\includes
,看看layout.pug
应该出现以下字段,若不存在请手动加上。
head |
然后在_config.yml
最后添加代码:
#aplayer |
最后,在\source\music\index.md
中修改:
--- |
有关 {% meting %}
的选项列表如下:
选项 | 默认值 | 描述 |
---|---|---|
id | 必须值 | 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 |
server | 必须值 | 音乐平台: netease , tencent , kugou , xiami , baidu |
type | 必须值 | song , playlist , album , search , artist |
fixed | false |
开启固定模式 |
mini | false |
开启迷你模式 |
loop | all |
列表循环模式:all , one ,none |
order | list |
列表播放模式: list , random |
volume | 0.7 | 播放器音量 |
lrctype | 0 | 歌词格式类型 |
listfolded | false |
指定音乐播放列表是否折叠 |
storagename | metingjs |
LocalStorage 中存储播放器设定的键名 |
autoplay | true |
自动播放,移动端浏览器暂时不支持此功能 |
mutex | true |
该选项开启时,如果同页面有其他 aplayer 播放,该播放器会暂停 |
listmaxheight | 340px |
播放列表的最大长度 |
preload | auto |
音乐文件预载入模式,可选项: none , metadata , auto |
theme | #ad7a86 |
播放器风格色彩设置 |
添加本地音乐
在music
文件夹内新建index
文件夹(若不存在),然后将资源文件都放进去。
方法1
在index.md
内添加:
{% aplayer "孤帆和岛" "尚辰、喧笑、朝歌夜弦" "/music/index/尚辰、喧笑、朝歌夜弦 - 孤帆和岛.flac" "/music/index/尚辰、喧笑、朝歌夜弦 - 孤帆和岛.jpg" %} |
标签参数
title
: 曲目标题author
: 曲目作者url
: 音乐文件 URL 地址picture_url
: (可选) 音乐对应的图片地址narrow
: (可选)播放器袖珍风格autoplay
: (可选) 自动播放,移动端浏览器暂时不支持此功能width:xxx
: (可选) 播放器宽度 (默认: 100%)lrc:xxx
: (可选)歌词文件 URL 地址
此方法调用.lrc文件目前没摸索到正确的方法,所以采用另一个比较笨的办法。
方法2
除了使用标签 lrc
选项来设定歌词,你也可以直接使用 aplayerlrc
标签来直接插入歌词文本在博客中:
{% aplayerlrc "title" "author" "url" "autoplay" %} |
4.4 添加全局吸底APlayer
在主题配置文件中,插入:
# Inject the css and script (aplayer/meting) |
美化与调整
在\themes\butterfly\source\css\custom.css
中添加:
/* Aplayer日间模式调整 */ |
注入css
在主题配置文件中,插入:
# Inject |
Aplayer html 参数解释
与 meting 参数基本相同,区别是选项名称前面多了data-
字段。
5. 添加评论功能
此处选择使用 Giscus 以及 Valine 双评论系统。
5.1 更改主题配置
comments: |
5.2 Giscus
利用 GitHub Discussions 实现的评论系统,让访客借助 GitHub 在你的网站上留下评论和反应吧!本项目深受 utterances 的启发。
- 开源。🌏
- 无跟踪,无广告,永久免费。📡 🚫
- 无需数据库。所有数据均储存在 GitHub Discussions 中。:octocat:
- 支持自定义主题!🌗
- 支持多种语言。🌐
- 高可配置性。🔧
- 自动从 GitHub 拉取新评论与编辑。🔃
- 可自建服务!🤳
5.2.1 安装 Giscus
点击链接:GitHub Apps - giscus
选择自己博客的仓库,点击install。
5.2.2 配置仓库 Discussions
打开仓库的 Settiing ,在 Features 中找到 Discussions 勾选上。
然后建立一个Announcements的分类。
5.2.3 进入 Giscus 配置
打开链接:giscus
选择自己的博客仓库,映射关系选择URL
,分类选择Announcemes。
配置完后,可以在启用 giscus 部分复制相关信息到主题配置文件
中。
# Giscus |
5.3 Valine
- 访问LeanCloud,进行注册,登陆,实名认证。
- 创建 Valine 应用,名称任意。
- 进入对应的应用,点击
设置 -> 应用 凭证,获取
AppID、AppKey、服务器地址。 - 修改主题配置文件:
# valine |
三、开始使用
1. 创建文章
进入博客所在目录,右键打开 Git Bash Here,创建博文:
hexo new "文章标题" |
然后就可以在source/_post
文件夹内找到创建的.md文件进行编辑。
2. 编辑格式
在Markdown文件顶部可以进行格式的编辑。
2.1 分类 categories
# 这是默认的写法,给文章添加一个分类123。 |
2.2 标签 tags
# 方法1: |
2.3 文章封面设置
top_img: /img/hello-1.png # 顶部背景图 |
放在themes\butterfly\source\img
里面哦
2.4 文章描述
description: 描述 |
3. 部署
运行命令:
hexo g -d |
等待约 1min 即可。
四、参考链接
使用 Hexo+GitHub 搭建个人免费博客教程(小白向) - 知乎 (zhihu.com)
hexo博客中tags与categories用法 - 知乎 (zhihu.com)
Butterfly 安裝文檔(一) 快速開始 | Butterfly
【Hexo】Hexo搭建Butterfly主题并快速美化_hexo主题butterfly配置-CSDN博客
Hexo博客 | 采用随机图片作为博客封面背景,真香!-腾讯云开发者社区-腾讯云 (tencent.com)
Hexo新建标签、分类、归档等页面_hexo new page-CSDN博客
hexo侧边栏社交小图标设置 - 简书 (jianshu.com)
Butterfly 安裝文檔(三) 主題配置-1 | Butterfly
在Hexo中引入本地图片的实现 - nuccch - 博客园 (cnblogs.com)
如何在Hexo博客Butterfly主题开启Aplayer和“音乐”页面_butterfly 增加音乐页-CSDN博客
hexo-tag-aplayer/docs/README-zh_cn.md at master · MoePlayer/hexo-tag-aplayer (github.com)