当前位置: 首页 > news >正文

Dream 主题使用手册 - 基础篇

Dream 主题基于 Halo 博客系统开发,本文将介绍本主题一些功能的使用,文档将持续更新。

一、安装 & 更新

1.1 安装包安装 & 更新

  1. 进入主题 Release 界面:https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包 halo-theme-dream.zip 压缩包文件;
  2. 进入博客后台管理 外观->主题->安装->本地上传,选择下载的 halo-theme-dream.zip 安装包进行上传;
  3. 等待安装完成;
  4. 更新主题时同样前往主题 Release 界面下载主题安装包,然后通过 ``外观->主题->Dream->更多->从主题包更新` 方法上传安装包进行更新。

1.2 在线安装 & 更新

  1. 复制主题仓库地址 https://github.com/nineya/halo-theme-dream.git
  2. 进入博客后台管理 外观->主题->安装->远程下载,黏贴仓库地址进行安装;
  3. 等待安装完成;
  4. 在线更新主题时,通过 ``外观->主题->Dream->更多->在线更新` 方法进行更新。

在线安装 & 更新的方式不推荐:

  1. 因为由于 GitHub 的网络问题,很大几率会安装& 更新失败;
  2. 主题是经过源码编译的,直接从仓库下载包含了主题的源码以及开发所需的相关文件,这些文件并不是安装主题所需要的。

二、导航栏

  1. Dream 主题导航栏支持添加图标,可在菜单项中填写 FontAwesome 的相关图标 class

    主题基于 FontAwesome 4.7.0 版本,图标可参考网站:http://www.fontawesome.com.cn/faicons/

  2. 主题支持多级菜单,但最多支持三级;

  3. 有时候可能想临时关闭菜单项,不想对菜单项进行重复的删除和添加,主题支持通过在菜单栏名称前添加 #hide 临时隐藏菜单项。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5EXAyhg-1681178684990)(/upload/2022/05/image-20220501221505345-0ba8641ee686478f9c6f1e7ed8b955f3.png)]

三、侧边栏

  1. 主题默认采用经典的三列布局,也支持在配置中隐藏左右其中一侧的侧边栏;

  2. 侧边栏的 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 博客系统开发&#xff0c;本文将介绍本主题一些功能的使用&#xff0c;文档将持续更新。 一、安装 & 更新 1.1 安装包安装 & 更新 进入主题 Release 界面&#xff1a;https://github.com/nineya/halo-theme-dream/releases 下载主题压缩包 halo…...

WSL下的Kafka开发容器:Docker搭建、API、整合

背景介绍 Kafka是一个分布式流处理平台&#xff0c;可以处理大规模数据流并支持实时数据流的处理。 本文介绍了如何在WSL下使用Docker搭建Kafka容器&#xff0c;并使用Python的kafka-python库和FastAPI框架实现了一个简单的API。同时&#xff0c;还将该服务整合到一个整体的d…...

cv2(OpenCV)下载安装

cv2对应库是OpenCV&#xff0c;官网下载链接&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 最好下载对应python版本的&#xff0c;通过pip命令安装可能会出现版本过高或者过低的问题&#xff0c;导致import cv2没问题&#xff0c;但是内部函数无法调用。 …...

【剑指 offer】旋转数组的最小数字

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;算法训练营&#x1f447; 旋 转 数 组 的 最 小 数 字核心考点&#xff1a;数组理解&#xff0c;二分查找&#xff0c;临界条件 描述&#xff1a; 有一个长度为 n 的非降序数组&#xff0c;比如[1,2,3,4,5]…...

GB 9706.1-2020 医用电气设备第1部分:基本安全和基本性能的通用要求-1

这是份什么文件 这是一份中华人民共和国国家标准&#xff0c;具体为GB9706.1—2020&#xff0c;标准适用于医用电气设备&#xff0c;并规定了医用电气设备基本安全和基本性能的通用要求。主要涵盖了医疗电器设备与患者接触的各种要求&#xff0c;包括电气安全、机械防护、防护辐…...

认识C++《共、枚、指1》

目录 前言: 1.共用体的基本知识 2.匿名共用体 3.枚举 3.1设置枚举值 3.2枚举的应用场景 3.3枚举变量的取值范围 4.地址和自由存储空间 5.指针的思想 6.指针的声明和初始化 前言: 指针内容比较多&#xff0c;还需要再出一篇。久等了&#xff01;&#xff01;我看了我的…...

vim 一键配置

PS&#xff1a;本文是为了以后为了方便&#xff0c;做备忘的&#xff0c;今天用的时候找了半天很麻烦。 vim编辑器一键配置 在非root用户下执行上面的语句即可&#xff0c;不要在root用户下直接安装&#xff01; 安装的时候需要输入root用户的密码&#xff0c;请找您的服主要一…...

如何成为一名成功的 PHP 开发者

当今的网络应用开发市场&#xff0c;PHP 一直是其中最受欢迎的语言之一&#xff0c;许多优秀的网络应用程序都是由 PHP 开发人员设计和开发的。如果你想成为一名成功的 PHP 开发者&#xff0c;以下是几个关键步骤&#xff1a; 1. 学习基础知识 首先&#xff0c;你需要掌握 PH…...

UHD安装教程

UHD Universal Hardware Driver&#xff0c;即USRP驱动。 UHD&#xff0c;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。从独立游戏到大型工作室&#xff0c;许多游戏开发商都在使用它们。如果你打算从事游戏行业工作&#xff0c;你肯定曾经问过自己“我的游戏应该使用 Unity 还是 Unreal Engine&#xff1f;” ” 让我们来了解和比…...

红队内网靶场

文章目录开篇介绍靶场介绍靶场下载以及配置Tomcat Get Shell突破DMZ防火墙拿下域内成员机器将内网机器上线到CS使用Adfind侦察子域信息控制子域DCRadmin登录子域进行权限维持(白银票据/ACL)子域bloodhound获取父域信息分析子域Krbtgt密钥创建跨域金票Dcsync父域PTH父域DC准备打…...

如何合并多个升序链表?

前言 本文主要介绍如何将多个小的升序链表合并一个大的升序链表。 需求描述 给出K个升序链接&#xff0c;要求把这K个升序链表合并成一个&#xff0c;并且这个链表也是升序的。 例如&#xff1a;A [1,5,6]&#xff0c; B [2,3,8], C [4,4,9] 将这3个链表合并成一个链表D…...

23上半年信息系统项目管理师新老教程兼顾使用备考策略

在离考试仅有50多天的时候&#xff0c;软考办发文&#xff1a;“为方便报考信息系统项目管理师的考生进行复习备考&#xff0c;2023年上半年信息系统项目管理师考试第3版、第4版教程兼顾使用”。 ​其实软考办发布这样一条信息&#xff0c;也是为了照顾那些在新版发布以前按第…...

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开发项目怎么看项目&#xff1f;如何调试项目前瞻技术架构项目亮点开始看代码LoginControllerDiscussPostController怎么看项目&#xff1f; pom.xml看技术架构resource看配置文件&#xff0c;这个项目是前后端不分离的以调试为导向&#xff0c;从前端入手检查…...

5G NR调制阶数与EVM关系以及对系统SNR要求分析

移动通信技术对数据传输速率要求越来越高。一种提高传输速率的思路是使用更高阶的QAM 调制方式&#xff0c;例如5G NR 的256QAM PDSCH&#xff0c;微波的1024QAM&#xff0c;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远程穿透的文章&#xff1a;【群晖…...

react:hooks为什么不能写在条件语句里

背景 最近朋友在面试&#xff0c;说面试官问到了一个问题不会&#xff0c;说为什么 react hooks为什么不能写在条件语句里&#xff0c;今天我们来研究一下这个问题。 我们在来简单实现一个 useState&#xff1a; const reRender () > {stateIndex -1 ReactDOM.render(&…...

模型优势缺陷整理

&#xff08;1&#xff09;BERT 1. 计算资源消耗&#xff1a;bert模型是一个相对较大的模型&#xff0c;具有数亿个参数。因此&#xff0c;为了训练和使用bert模型&#xff0c;需要大量的计算资源和时间。 2. 学习不足问题&#xff1a;尽管bert模型在大规模语料库上进行了预训…...

编写猫咪相册应用 HTML

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

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

Linux中《基础IO》详细介绍

目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改&#xff0c;实现简单cat命令 输出信息到显示器&#xff0c;你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...