BBcode 工坊

为 Flarum 创建自定义 BBCode,链接识别和自动媒体嵌入规则,基于 s9e TextFormatter。
本扩展在开发过程中使用了 AI 辅助。自定义渲染规则可以加载第三方服务内容,启用前请检查服务提供方的隐私政策。
效果预览

功能
- 内置默认不启用的 Bilibili、YouTube、Vimeo 与网易云音乐媒体嵌入规则。
- 内置默认不启用的 Notice、Spoiler、KDB BBCode。
- 在管理后台创建、编辑、排序、启用、停用和删除自定义 BBCode 与媒体嵌入规则,并进行测试验证。
- 为每个 BBCode 创建编辑器按钮,以及默认的填充内容。
要求
安装
通过 Composer 安装:
composer require ffans/bbcode-studio
php flarum cache:clear
在 Flarum 管理后台启用本扩展。
更新
composer update ffans/bbcode-studio
php flarum migrate
php flarum cache:clear
使用说明
- 自定义 BBCode
- 自定义 BBCode 规则需定义 s9e TextFormatter 用法和渲染模板,保存前会进行编译与模板检查。
- 自定义 BBCode 根元素带有
BbcodeStudio-bbcode 和 BbcodeStudio-bbcode-{tag},便于自定义样式。
- 自定义 BBCode 可以配置默认填充的标签属性。
- 媒体嵌入
- 自动识别 URL 并根据规则转换为 iframe 或其他媒体内容。
- 媒体嵌入需定义基于 PHP PCRE 正则的 URL 标识提取规则、播放器尺寸。
- 媒体根元素带有
BbcodeStudio-media 和 BbcodeStudio-media-{tag},便于自定义样式。
- 识别规则直接从链接提取平台资源标识,因此无法支持
b23.tv 这种不能直接对应上视频的短链接。
- 媒体嵌入启用后,即可自动识别帖子中的链接,并转为响应式播放器。你也可以额外启用 BBCode 用法。
- 可为媒体规则配置 iframe 属性:
allowfullscreen 支持无值或带值写法,allow、referrerpolicy 和 scrolling 使用带值写法。
翻译
内置简体中文。
帮助翻译其他语言,请前往 Weblate。
相关链接