Dream 主题使用手册 - 基础篇
Dream
主题基于 Halo
博客系统开发,本文将介绍本主题一些功能的使用,文档将持续更新。
一、安装 & 更新
1.1 安装包安装 & 更新
- 进入主题
Release
界面:https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包halo-theme-dream.zip
压缩包文件; - 进入博客后台管理
外观->主题->安装->本地上传
,选择下载的halo-theme-dream.zip
安装包进行上传; - 等待安装完成;
- 更新主题时同样前往主题
Release
界面下载主题安装包,然后通过 ``外观->主题->Dream->更多->从主题包更新` 方法上传安装包进行更新。
1.2 在线安装 & 更新
- 复制主题仓库地址
https://github.com/nineya/halo-theme-dream.git
- 进入博客后台管理
外观->主题->安装->远程下载
,黏贴仓库地址进行安装; - 等待安装完成;
- 在线更新主题时,通过 ``外观->主题->Dream->更多->在线更新` 方法进行更新。
在线安装 & 更新的方式不推荐:
- 因为由于
GitHub
的网络问题,很大几率会安装& 更新失败;- 主题是经过源码编译的,直接从仓库下载包含了主题的源码以及开发所需的相关文件,这些文件并不是安装主题所需要的。
二、导航栏
-
Dream
主题导航栏支持添加图标,可在菜单项中填写FontAwesome
的相关图标class
。主题基于
FontAwesome 4.7.0
版本,图标可参考网站:http://www.fontawesome.com.cn/faicons/ -
主题支持多级菜单,但最多支持三级;
-
有时候可能想临时关闭菜单项,不想对菜单项进行重复的删除和添加,主题支持通过在菜单栏名称前添加
#hide
临时隐藏菜单项。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5EXAyhg-1681178684990)(/upload/2022/05/image-20220501221505345-0ba8641ee686478f9c6f1e7ed8b955f3.png)]
三、侧边栏
-
主题默认采用经典的三列布局,也支持在配置中隐藏左右其中一侧的侧边栏;
-
侧边栏的
Widget
模块支持通过配置优先级的方式进行排序,可填写一个数字,值越大优先级越高;可能这是 FreeMarker 关于排序的 bug?虽然指定的是一个数字,但是底层应该是按字符串的方式来进行排序处理的,且字符串的长度不做为排序的条件。
因此将出现这样的情况,优先级为 9 的 Widget 优先级高于 80,800,甚至于 80000;
所以,配置优先级时切记数值要处于相同的分位,简单说就是数值的字符串长度要相同,避免引起歧义。
四、代码块
主题支持指定代码块的标题,标题和代码块语言之间通过 |
或 <
号进行分隔。
- “<” 表示默认代码块为折叠;
- “|” 表示默认代码块为展开。
示例:
// 默认展开
{% codeblock lang|可选代码块标题 %}// 默认折叠
{% codeblock lang<可选代码块标题 %}// 默认折叠,且不指定代码块标题
{% codeblock lang< %}// 默认折叠,且不指定代码类型和代码块标题
{% codeblock < %}
需要注意,halo 本身 markdown 具有一些限制,如代码块名称不能包含空格。
五、元数据的使用
enable_copyright | |
---|---|
名称 | 显示版权模块 |
范围 | 文章/自定义页面 |
可选值 | true/false |
默认值 | 无 |
说明 | 指定是否显示版权模块,未指定该值时以主题配置界面中的配置为准。 |
thumbnail_mode | |
---|---|
名称 | 缩略图显示模式 |
范围 | 文章 |
可选值 | back/small/dafault |
默认值 | dafault |
说明 | 指定文章列表中文章的缩略图显示方法。 default: (默认)缩略图在标题的上方显示; back: 缩略图将以背景图的方式显示; small: 缩略图以小图的方式在文章摘要的左侧显示; small-right: 缩略图以小图的方式在文章摘要的右侧显示; small-alter: 缩略图以小图的方式在文章摘要的左右侧交替显示; fold: (置顶文章有效)正文内容折叠。 |
tips | |
---|---|
名称 | 文章提示信息内容 |
范围 | 文章/自定义页面 |
可选值 | 提示信息内容,支持 html 标签 |
默认值 | 无 |
说明 | 文章正文顶部显示提示信息内容。 |
enable_katex | |
---|---|
名称 | 启用数学公式支持 |
范围 | 文章/自定义页面 |
可选值 | true/false |
默认值 | 无 |
说明 | 指定是否启用数学公式支持,未指定该值时以主题配置界面中的配置为准。 |
enable_share | |
---|---|
名称 | 开启文章分享 |
范围 | 文章/自定义页面 |
可选值 | true/false |
默认值 | 无 |
说明 | 开启文章分享插件。 |
enable_bullet_screen | |
---|---|
名称 | 开启评论弹幕 |
范围 | 文章/自定义页面 |
可选值 | true/false |
默认值 | 无 |
说明 | 开启评论弹幕。 |
index_carousel | |
---|---|
名称 | 开启首页轮播 |
范围 | 置顶文章 |
可选值 | true/false |
默认值 | 无 |
说明 | 在首页时,文章通过大图轮播方式展示(仅对置顶文章有效)。 |
六、启用Service Worker优化
Service Worker
支持自动切换异常的 CDN
站点,对脚本等文件进行缓存,提升网站的访问速度和稳定性。
有效解决该死的
jsdelivr
出现异常这种问题…
Dream 主题支持使用 Service Worker
提升网站访问速度,内部已经提供了 Service Worker
相关的实现,但是由于 halo
博客系统的限制,脚本文件不能放在网站的根目录,导致 Service Worker
无法生效,所以需要使用 Nginx
进行 url 重写,将 sw.min.js
文件映射到网站根目录。
脚本必须与网站同域,且在网站根目录,且网站不能存在证书问题,否则
Service Worker
将无法正常注册
打开 Nginx
的配置文件,添加如下转发配置:
location ~ ^/sw.min.js {rewrite ^/(.*) /themes/dream/source/js/$1 break;proxy_pass http://localhost:8090;proxy_set_header HOST $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
使配置生效:
# 检查配置正确性
nginx -t# 重新加载配置
nginx -s reload
通过 https://域名/sw.min.js
能够成功访问到文件即配置成功。
若你修改了主题的
css/js
文件,需确保关闭Service Worker
功能,否则可能从远程 CDN 下载资源,导致修改的内容不会生效。
相关文章:
Dream 主题使用手册 - 基础篇
Dream 主题基于 Halo 博客系统开发,本文将介绍本主题一些功能的使用,文档将持续更新。 一、安装 & 更新 1.1 安装包安装 & 更新 进入主题 Release 界面:https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包 halo…...

WSL下的Kafka开发容器:Docker搭建、API、整合
背景介绍 Kafka是一个分布式流处理平台,可以处理大规模数据流并支持实时数据流的处理。 本文介绍了如何在WSL下使用Docker搭建Kafka容器,并使用Python的kafka-python库和FastAPI框架实现了一个简单的API。同时,还将该服务整合到一个整体的d…...
cv2(OpenCV)下载安装
cv2对应库是OpenCV,官网下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 最好下载对应python版本的,通过pip命令安装可能会出现版本过高或者过低的问题,导致import cv2没问题,但是内部函数无法调用。 …...

【剑指 offer】旋转数组的最小数字
✨个人主页:bit me👇 ✨当前专栏:算法训练营👇 旋 转 数 组 的 最 小 数 字核心考点:数组理解,二分查找,临界条件 描述: 有一个长度为 n 的非降序数组,比如[1,2,3,4,5]…...
GB 9706.1-2020 医用电气设备第1部分:基本安全和基本性能的通用要求-1
这是份什么文件 这是一份中华人民共和国国家标准,具体为GB9706.1—2020,标准适用于医用电气设备,并规定了医用电气设备基本安全和基本性能的通用要求。主要涵盖了医疗电器设备与患者接触的各种要求,包括电气安全、机械防护、防护辐…...

认识C++《共、枚、指1》
目录 前言: 1.共用体的基本知识 2.匿名共用体 3.枚举 3.1设置枚举值 3.2枚举的应用场景 3.3枚举变量的取值范围 4.地址和自由存储空间 5.指针的思想 6.指针的声明和初始化 前言: 指针内容比较多,还需要再出一篇。久等了!!我看了我的…...
vim 一键配置
PS:本文是为了以后为了方便,做备忘的,今天用的时候找了半天很麻烦。 vim编辑器一键配置 在非root用户下执行上面的语句即可,不要在root用户下直接安装! 安装的时候需要输入root用户的密码,请找您的服主要一…...
如何成为一名成功的 PHP 开发者
当今的网络应用开发市场,PHP 一直是其中最受欢迎的语言之一,许多优秀的网络应用程序都是由 PHP 开发人员设计和开发的。如果你想成为一名成功的 PHP 开发者,以下是几个关键步骤: 1. 学习基础知识 首先,你需要掌握 PH…...

UHD安装教程
UHD Universal Hardware Driver,即USRP驱动。 UHD,Windows平台安装教程 uhd驱动安装 http://files.ettus.com/binaries/misc/erllc_uhd_winusb_driver.zip 安装LibUSBx http://files.ettus.com/binaries/uhd/latest_release 下载默认C盘 环境配置 将…...

Unity和UE有啥区别?哪个更适合游戏开发
游戏制作软件中最著名的两个游戏引擎是 Unity 和 Unreal Engine。从独立游戏到大型工作室,许多游戏开发商都在使用它们。如果你打算从事游戏行业工作,你肯定曾经问过自己“我的游戏应该使用 Unity 还是 Unreal Engine?” ” 让我们来了解和比…...

红队内网靶场
文章目录开篇介绍靶场介绍靶场下载以及配置Tomcat Get Shell突破DMZ防火墙拿下域内成员机器将内网机器上线到CS使用Adfind侦察子域信息控制子域DCRadmin登录子域进行权限维持(白银票据/ACL)子域bloodhound获取父域信息分析子域Krbtgt密钥创建跨域金票Dcsync父域PTH父域DC准备打…...
如何合并多个升序链表?
前言 本文主要介绍如何将多个小的升序链表合并一个大的升序链表。 需求描述 给出K个升序链接,要求把这K个升序链表合并成一个,并且这个链表也是升序的。 例如:A [1,5,6], B [2,3,8], C [4,4,9] 将这3个链表合并成一个链表D…...
23上半年信息系统项目管理师新老教程兼顾使用备考策略
在离考试仅有50多天的时候,软考办发文:“为方便报考信息系统项目管理师的考生进行复习备考,2023年上半年信息系统项目管理师考试第3版、第4版教程兼顾使用”。 其实软考办发布这样一条信息,也是为了照顾那些在新版发布以前按第…...

Linux环境搭建SVN服务器并实现公网访问 - cpolar端口映射
文章目录前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6.2 …...
仿牛客网社区Web开发项目代码逐行精读(更新中)
仿牛客网社区Web开发项目怎么看项目?如何调试项目前瞻技术架构项目亮点开始看代码LoginControllerDiscussPostController怎么看项目? pom.xml看技术架构resource看配置文件,这个项目是前后端不分离的以调试为导向,从前端入手检查…...

5G NR调制阶数与EVM关系以及对系统SNR要求分析
移动通信技术对数据传输速率要求越来越高。一种提高传输速率的思路是使用更高阶的QAM 调制方式,例如5G NR 的256QAM PDSCH,微波的1024QAM,2048QAM和4096QAM 调制。更高阶的QAM 调制方式对系统也提出了更高的要求。例如某个系统的EVM 测试结果…...

【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘「内网穿透」
文章目录前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用3. 结语转发自CSDN远程穿透的文章:【群晖…...
react:hooks为什么不能写在条件语句里
背景 最近朋友在面试,说面试官问到了一个问题不会,说为什么 react hooks为什么不能写在条件语句里,今天我们来研究一下这个问题。 我们在来简单实现一个 useState: const reRender () > {stateIndex -1 ReactDOM.render(&…...
模型优势缺陷整理
(1)BERT 1. 计算资源消耗:bert模型是一个相对较大的模型,具有数亿个参数。因此,为了训练和使用bert模型,需要大量的计算资源和时间。 2. 学习不足问题:尽管bert模型在大规模语料库上进行了预训…...

编写猫咪相册应用 HTML
文章目录1. 标题元素标签2. p元素用于在网站上创建一段文本3. 注释4. 页面主要部分标识标签5. 通过使用img元素来为你的网站添加图片6. 使用锚点元素(a)链接到另一个页面7. 使用 section 元素将照片内容与未来的内容分开8. 无序列表(ul)元素,列表项(li)元素在列表中…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...