• 朋友圈,提供博客收录、文章聚合展示等功能,欢迎来这里发现有趣的博客并尝试与博主成为朋友!如果你拥有一个独立博客,就赶快申请加入吧,逾 3 位博友正在等你哦!

利用 Meilisearch 提升 Halo 网站的搜索体验

原文地址:https://www.lxware.cn/archives/halo-meilisearch Halo 从 2.0 版本开始支持了全文搜索功能,自带的 Lucene 搜索引擎在轻度使用场景下可以满足需求,但在重度依赖搜索功能的场景下,可能在搜索速度和用户体验上存在不足,这时我们会更推荐使用独立的搜索引擎。 本文将介绍如何使用 https://www.meilisearch.com/ 搜索引擎来提升 Halo 网站的搜索体验。 搭建 Meilisearch 服务 部署 Meilisearch 服务通常有两种方式:你可以选择自行在服务器上托管,或者使用 Meilisearch 官方提供的云服务。 云服务 访问 https://www.meilisearch.com/cloud 注册账号,根据引导创建项目。创建完成后,可以在控制台获取实例地址和 Master Key。 需要特别注意 Meilisearch 云服务的计费方式。 自托管 下面介绍两种常见的部署方式: 使用 Docker Compose 独立编排部署 这种方式适合多个项目需要同时使用一个 Meilisearch 服务的场景。 部署完成后,你可以配置域名和反向代理来暴露服务到公网。 services: meilisearch: image: getmeili/meilisearch:v1.15 restart: unless-stopped ports: - "7700:7700" environment: - MEILI_ENV=production - MEILI_MASTER_KEY=<your-super-secret-master-key-here> volumes: - meilisea...

在 Halo 中导入 Markdown 和 Word 文档

原文地址:https://www.lxware.cn/archives/halo-content-tools 在 Halo 社区中,导入 Markdown 和 Word 文档的需求一直很高,但社区一直缺乏完善的解决方案。其主要原因在于 Markdown 和 Word 的文档格式较为复杂,难以完美支持所有格式特性,且图片资源的处理存在技术难点。 现在,社区中已经有了一个插件可以很好地支持导入 Markdown 和 Word 文档,它就是 https://www.halo.run/store/apps/app-SUvBR。该插件不仅支持导入 Markdown 和 Word 文档,还能够智能处理和导入图片资源,为用户提供了完整的文档迁移解决方案。 安装 可以通过以下两种方式安装插件: 访问 https://www.halo.run/store/apps/app-SUvBR 页面直接下载 在 Console 内置的应用市场中搜索 内容助手 进行安装 导入 Markdown 文档 安装并启用插件后,就可以在 Console 侧边菜单的工具中找到 文章导入 的入口。点击进入后,选择 Markdown 导入 选项卡即可开始导入,如下图: 功能详解 选择 Markdown 文件:用于选择单个 Markdown 文档,支持 .md 格式文件。 选择 Markdown 文件夹:用于选择包含 Markdown 文档的文件夹。选择文件夹后,系统会自动扫描其中的所有 Markdown 文档以及图片资源(如有)。 选择图片文件夹:用于选择 Markdown 文档中引用的图片资源。选择文件夹后,系统会自动扫描其中的所有图片资源并在导入时自动关联。 转为富文本格式:默认情况下,导入的 Markdown 文档会保持原有的 Markdown 格式。如果勾选此选项,系统会将文档转换为富文本格式,便于后续使用 H...

通过 1Panel MCP 自动部署静态网站

引言 随着大语言模型(LLM)技术的快速发展,我们正在见证软件开发领域的一场革命。从 ChatGPT 到 Claude,从 GitHub Copilot 到各种 AI 编程助手,人工智能正在深刻改变着开发者的工作方式。 在这个 AI 驱动的时代,Agent(智能代理)概念应运而生。Agent 不仅能理解自然语言指令,还能执行复杂的任务流程,真正实现了"对话式编程"的愿景。而 MCP(Model Context Protocol)作为连接 AI 模型与外部工具的标准协议,为构建强大的 AI Agent 提供了技术基础。 MCP 的出现解决了一个关键问题:如何让 AI 模型安全、高效地与各种外部系统交互。通过标准化的协议,开发者可以创建各种 MCP 工具,让 AI 助手能够执行文件操作、API 调用、数据库查询等复杂任务。 本文将介绍如何使用 1Panel-mcp 工具,在 AI 编辑器中实现自动将网站项目部署到 1Panel 中。 配置 1Panel-mcp 中只提供了一个工具,即 deploy_website,用于将静态网站项目部署到 1Panel 中,并支持自动创建网站配置。下面将主要介绍在 VSCode 和 Cursor 中如何配置并使用此工具。 VSCode: 打开 VSCode 的配置文件,添加以下配置: { "mcp": { "inputs": [], "servers": { "1panel-mcp": { "command": "npx", "args": [ "-y", "1panel-mcp" ], "env": { "ONEPANEL_API_KEY": "TOSXWBVfcG7dLlD1Gj0DK5...

使用 Rspack 构建 Halo 插件的前端部分

前情提要 Halo 插件的 UI 部分(Console / UC)的实现方式其实很简单,本质上就是构建一个结构固定的大对象,交给 Halo 去解析,其中包括全局注册的组件、路由定义、扩展点等。 基于这个前提,在实现插件机制时,主要面临的问题就是如何将这个大对象传递给 Halo。当初做了非常多的尝试,最终选择构建为 IIFE(Immediately Invoked Function Expression,立即执行函数),然后 Halo 通过读取 window[PLUGIN_NAME](PLUGIN_NAME 即插件名)来获取这个对象。 构建方案采用 Vite,并提供了统一的构建配置。回过头来看,这个方案存在不少问题: 会污染 window 对象,虽然目前并没有出现因为这个导致的问题,但是从长远来看,这个方案并不是最优的。 Vite 不支持 IIFE / UMD 格式的代码分割(主要是 Rollup 还不支持),无法像 ESM(ECMAScript Module)那样实现异步加载模块的机制。 基于第 2 点,如果插件中实现了较多的功能,可能会导致最终产物体积巨大,尤其是当用户安装了过多的插件时,会导致页面加载缓慢。 以 www.halo.run 为例,gzip 之前接近 10M 的 bundle.js,gzip 之后也有 2M - 3M。 以此博客为例,gzip 之后也有 1.8M 的 bundle.js。 基于第 2 点,如果不支持代码分块(Chunk),也无法充分利用资源缓存,访问页面时,也会一次性加载所有插件的代码(即便当前页面不需要)。 基于以上问题,我开始寻找其他替代方案,最终通过翻阅 Rspack(Webpack 的 Rust 实现)的文档发现,Webpack 能够通过配置实现 IIFE 格式的代码分割,最终选择 Rspack 作为尝试。 基本的 Rspack 配置...

Hello Halo

如果你看到了这一篇文章,那么证明你已经安装成功了,感谢使用 Halo 进行创作,希望能够使用愉快。

冰箱,让你我错过了多少新鲜的生活?

下班后逛超市,买了些水果和面包回到家里,发现冰箱早已被老妈塞满,一包不知道几天前的蔬菜,还有四处散落着的剩饭。整个人瞬间都不好了,老妈,冰箱真的不是万能永久保鲜的…… 不过,如果世界没有冰箱,我们每天吃的岂不都是新鲜蔬菜?细细一想,却不无道理。 生活中,我们经常把新鲜蔬菜放进冰箱,这些新鲜蔬菜则期待

雨云香港4区使用体验

雨云香港四区今天(7月1日)上货了,林雨在香港机房奋战一天的成果 配置如下: 机房 cpu 内存 硬盘 宽带 流量

各厂商CDN的CNAME域名及介绍

速查表格 如果你不想听我瞎叭叭,可以直接使用速查表格,如果你想了解一些详情,可以往下翻翻

VPS测试脚本合集

网络相关 三网回程路由测试

傻龙(sharon)香港三网HKG.STD.SMALL2活动鸡使用体验

傻龙昨天(6月28日)晚上上了一批香港一折机器,是为了庆祝香港特别行政区成立27周年 折扣码:KBH824FSMX,最便宜的14刀,打完折1.4刀/月(首月),续费原价. 最便宜的配置上了30多台,五分钟左右就被抢光了 配置如下: