🗣️ 插件介绍

本插件可以在 Halo 的文章编辑器中插入表情包的功能,支持 OwO 表情包派大星_StarPatrick-22
支持如下编辑器:

  • 默认富文本编辑器
  • Vditor 编辑器
  • ByteMD 编辑器
  • Willow 编辑器

其中除了默认编辑器外,其他几个编辑器采用 DOM 注入的方式实现。
另外实现了较为方便的自定义表情包,用户可以自由新增类别,以及 上传/删除、编辑表情包,其实也就是用 GUI 的方式去操作了 OwO 的 json 文件。小丑_Clown-2

👁️ 原理

原理很简单,就是插入短代码到文章内,然后后端再把文章内的短代码替换成图片,这在 WordPress 很常见。

QQ超级表情_qlottie-11

✨ 功能特性

  • 📦 内置丰富表情包,开箱即用
  • 🛠️ 自定义表情管理:支持添加分组、上传表情、批量删除
  • 📥 导入/导出:支持 JSON 格式导入导出自定义表情
  • 🎯 智能显示:表情与文字并排时小尺寸,独占一行时自动放大
  • 🔧 灵活配置:可自定义表情尺寸、样式
  • 🚫 转义支持:使用 :xxx: 显示原始短代码文本

📦 下载安装

插件仓库如下:

git:[@github/SwaggyMacro/plugin-editor-sticker]
  1. 下载最新的 Release 版本
  2. 在 Halo 后台 -> 插件 -> 安装,上传 jar 文件
  3. 启用插件

🤔 使用说明

编辑器中使用

  1. 在支持的编辑器中,点击工具栏的表情按钮 😀。默认编辑器以外的编辑器,表情按钮位于右下角。
  2. 选择表情分组,点击表情即可插入
  3. 表情会以 :shortcode: 格式插入,发布后自动渲染为图片

自定义表情管理

  1. 在插件设置中启用「自定义模式」
  2. 切换到「表情管理」标签页
  3. 可以:
    • 添加分组:创建新的表情分组
    • 添加表情:选择图片并设置短代码
    • 编辑/删除:管理已有表情
    • 批量删除:多选后批量删除
    • 导入/导出:JSON 格式备份和恢复

JSON 配置格式

支持标准 OwO JSON 格式:

{
  "分组名称": {
    "type": "image",
    "container": [
      {
        "text": "shortcode",
        "icon": "<img src='//example.com/sticker.png' origin='//example.com/sticker.png'>"
      }
    ]
  }
}

origin 字段可选,用于指定原始图片地址。
当 origin 字段存在时,渲染时使用 origin 地址,src 用于预览。
(用于当原图文件过大时,可以使用压缩图预览)

转义短代码

如果想显示原始的短代码文本而不是表情图片,使用反斜杠转义前后的“:”。

⚙️ 配置说明

配置项 说明 默认值
启用自定义模式 使用自定义表情管理,忽略配置 URL 关闭
表情包配置 URL OwO 格式的 JSON 配置地址 内置默认表情
内联最大宽度 表情与文字并排时的最大宽度 64px
内联最大高度 表情与文字并排时的最大高度 64px
独占行最大宽度 表情独占一行时的最大宽度 256px
独占行最大高度 表情独占一行时的最大高度 256px
额外样式 自定义 CSS 样式

修改配置(URL/自定义模式)后需要保存并刷新页面前台才能生效。

默认的 JSON 地址是 Github 的,来源我的贴纸包仓库,国内服务器可能会因为无法访问该 URL 导致出现意外,你可以启用自定义模式,然后将该 JSON 导入。

git:[@github/SwaggyMacro/OwO_Stickers]

📸 截图预览

默认编辑器表情面板
Vditor 编辑器表情面板
自定义表情包管理界面
文章内渲染效果

已修复 目前我使用的主题适配还有些问题,似乎是主题的原因导致的图片单行大小变成了并行大小,难受瑞克和莫蒂_RickAndMorty-2

可能目前还有我没发现的 BUG,慢慢修复...

本插件由 Claude Opus 4.5 倾情赞助 小鳄鱼_Crocosaurus-10

整天捣鼓表情包,感觉快成表情包仙人了可爱狗头_DogeHead-16