前言

Halo 是什么?

Halo 是一款强大易用的开源建站工具,你可以理解为是 Hexo 的动态版本(

官网:Halo - 强大易用的开源建站工具

为什么选择 Halo?

这个话题免不了要将 Halo 和 Hexo 进行比较,那么就列出它们各自的优缺点吧~

Halo

优点:

  1. Halo 是动态博客,这意味着我们无需在每次发布文章或进行修改时都要经历冗长的生成&部署的步骤
  2. Halo 可以部署在服务器上,我们可以随时随地、跨平台访问后台来进行文章的修改、发布或记录此刻的瞬间想法
  3. 所有设置、文章的新建/编辑/修改/发布等都是可视化的,非常方便!
  4. 配置简单,毕竟都是点点点就可以了,不用一条一条命令输入执行,也不用对着密密麻麻的配置文件一个一个修改

缺点:

  1. 如果部署在服务器上,那么首先得有一个服务器(,而且服务器的安全、续期等也要考虑
  2. 此外大概率也需要一个域名,除非不嫌弃
  3. 文章迁移较为麻烦,原本的FrontMatter 这里是不认的,需要额外设置,以及Tag Plugins的使用方式不同。(第一次接触博客的朋友就不用担心这个了)
  4. 即刻短文能编辑的东西就只有文字和图片(还得手动从附件里面选,不能直接输入链接),没有音乐、视频、链接、自定义日期

Hexo

优点:

  1. 可以无需服务器进行部署,也可以不需要域名(
  2. 稳定,你猜猜是 Github 寄的概率高还是你的服务器寄的概率高(

缺点:

  1. Hexo 是静态博客,文章一多起来,生成和部署需要非常久,100+文章就需要1分钟+来生成
  2. 网上的入门教程(包括本站,后续会修改~)都是让你用控制台来进行操作的,显得非常原始人,虽然有 Hexon 这样的可视化工具,但是比较鲜为人知(本人正在基于原版上开发新功能!)
  3. 源文件及配置文件只在本地保存,万一硬盘寄了(真人真事(。))那就全完了

当然我不怕折腾,准备两手抓,两边同步更新,就当是互相的一个备份吧(

搭建

此处基于宝塔来进行 Halo 的搭建,不会宝塔的朋友可以翻翻我前面不知道多少篇教程(

确保服务器端口8090没有被别的什么东西占用!!!有的话改成别的!

安装 Docker

点击宝塔面板左侧的Docker,如果还没安装过,直接点击安装即可

拉取镜像

理论上可以在宝塔面板里面拉取,但是我试过了,不行(

于是选择在控制台里面拉取了,进入服务器的控制台后输入

docker pull registry.fit2cloud.com/halo/halo:2.18

稍等片刻即可

创建容器

点击容器-创建容器,名称随便输,镜像选择刚刚拉取的,端口添加一组映射:自定义端口→8090(当然还是建议8090,防止对不上号())

别忘了在防火墙开放自定义端口!

初始化

在首次访问网站的时候会自动跳转到初始化页面,你需要完成这个步骤才能正常使用 Halo。

Setup

表单项说明:

  1. 站点名称:网站的名称,将会显示在浏览器标签页上。
  2. 邮箱:初始管理员的邮箱地址。
  3. 用户名:初始管理员的用户名。
  4. 密码:初始管理员的密码。
  5. 确认密码:重复输入密码以验证是否匹配。

输入完成之后点击初始化按钮即可完成初始化,初始化完成之后,将会跳转到登录页面,输入刚才设置的用户名和密码即可登录。

绑定域名

我们需要通过反向代理,反向绑定映射的方式使得我们能够通过域名来访问我们的Halo博客。

首先在宝塔面板里面添加一个网站,直接点创建就好,其他的默认。

在站点修改中点击反向代理并创建。

系统设置

在后台面板(http://你的地址/console)中找到左侧的系统 - 设置,点击进入

基本设置

QQ_1723653802356

以 Halo 2.0 的默认主题 Earth 为例,这些设置信息将在如下位置进行展示。

默认主题基本设置说明

其中LogoHao主题中以个人头像的形式展现。

文章设置

主要修改这个就好了,其他按需修改

QQ_1723654018912

主题路由设置

主要修改这个就好了,其他按需修改

QQ_1723654056347

变量说明

  • slug:文章别名
  • name:文章 metadata.name 字段值
  • year:四位数格式的文章发布年份
  • month:两位数格式的文章发布月份
  • day:两位数格式的文章发布日

其他没提到的设置自行调整吧~

站点设置 | Halo 文档

主题&插件安装

主题此处选择Hao,与我目前在Hexo使用的solitude主题基本一致。

点击右上角主题管理,在应用市场里面就能找到了

安装完直接启用就行

插件就按着这里安装就行,安装完了别忘了启动(

主题设置

没提到的看自己调整即可,参考:hao主题文档 (kunkunyu.com)

基础

没啥好说的,直接设置就可以

顶部

Banner 左侧如果是自定义技术栈,目前还没搞懂为什么无法显示,文档中是说“自定义技术栈需要在个人中配置技术栈”,但是目前这个版本里面似乎去掉了,留个爪

其他的按需修改

布局

按照这里修改即可,也可以按自己的

需要注意的是,默认的随机封面地址已经失效了,可以换成:

https://picsum.photos/600/400

或自己寻找随机封面地址

侧栏

个人卡片

此处选择样式一

按着填写即可

其中社交媒体这里提一下吧,图标可以使用主题自带的(iconfont Demo (onmicrosoft.cn)),也可以用自己的(Halo博客Hao主题菜单栏小图标设置 | 狗头军师 (ono.ee)

如果是使用主题自带的,图标名(不含.)前面加上haofont 就可以用了

音乐卡片

详细配置参考:zonemeen/netease-recent-profile: 🎧 在 Github Profile 上显示你在网易云音乐上的听歌记录

这里只提一下默认的地址也是失效的,替换成netease-recent-profile.vercel.app即可(以及?id=xxx替换为自己的网易云的id)

这个地址有可能失效,暂时不知道为什么

预览:

翻转后:

其他的按需修改

页脚

其中中间logo建议自己裁一下,裁成圆的

左右侧logo按上面一样设置就好

瞬间

修改这几个就好了,其他的不用动,需要注意的是这个主题的背景图是顶端对齐的,而solitude主题中是中间对齐的(

Hao主题

solitude主题

图库

自己看着改吧!图片标签是上传图片时填的那个名字(感觉没什么用)

默认样式和样式一给个预览吧!喜欢哪个选哪个就是了!

具体页面的配置后面再写

以下是默认样式:

默认相册页

默认具体相册

以下是样式一:

样式一相册页

样式一具体相册

关于

个人标签

直接添加即可

其他按需修改

菜单配置

  1. 进入站点后台
  2. 点击左侧面板中的菜单
  3. 点击主菜单
  4. 点击右上角的新增
  5. 可以通过拖拽调整缩进,从而创建子菜单
  6. 填写相应表单即可

图标:iconfont Demo (onmicrosoft.cn)

页面配置

关于

新建一个页面,输入标题,设置别名(链接)以及自定义模板

相册(图库)

同理,其中封面图如果使用默认样式则需要设置

别名:/album

具体的图片分组等在图库设置,其中分组图片就是该分组的封面图

音乐

同上,封面图无需设置

别名:/music

最新评论

同上,封面图需要设置

别名:/newest

Tag Plugins 使用

Hao主题相关标签 | 新·都在 (xindu.site)

参考链接

使用 Docker 部署 | Halo 文档

初始化 | Halo 文档

全网首发的傻瓜级教程:用宝塔面板Docker搭建halo2.9-腾讯云开发者社区-腾讯云 (tencent.com)

halo-theme-hao (yuque.com)

Halo-Theme-Hao文档:如何设置导航栏?_halo-hao美化-CSDN博客