将 linux.do 帖子楼层中的 Boost 回复,转换成对应楼层内的弹幕效果。
脚本会直接读取页面原本的 Boost 内容,在原楼层里滚动展示,保留头像、文字、emoji 和原有点击交互,不依赖第三方服务。
- 将 Boost 回复转换为楼层内弹幕展示
- 弹幕严格绑定对应楼层,不串楼层
- 默认隐藏原始 Boost 气泡,可在设置中重新显示
- 鼠标悬停单条弹幕时会暂停,并强化可读性
- 支持拖拽悬浮设置按钮,自动吸附左右边缘
- 设置面板即时生效,并自动保存配置
- 支持常用设置:
- 触发时机
- 滚动方向
- 速度
- 透明度
- 字体大小
- 最大行数
- 弹幕间距
- 彩色文字
- 循环播放
- 是否显示原始 Boost
当前支持 3 种触发时机:
-
刚进入屏幕就开始楼层只要有任何部分进入屏幕,就开始播放弹幕。 -
进入屏幕中间区域再开始楼层进入屏幕中间的主要阅读区域后,才开始播放弹幕。 -
滚动到楼层正中再开始屏幕中心线落到该楼层内时,才开始播放弹幕。
默认值是 进入屏幕中间区域再开始。
- 安装 Tampermonkey 或其他兼容的 Userscript 扩展
- 构建或下载
dist/linuxdo-boost-barrage.user.js - 打开脚本文件并安装
- 访问
https://linux.do/t/topic/*帖子详情页即可生效
安装后,页面侧边会出现一个可拖拽的小球设置按钮:
- 可以拖动到左侧或右侧
- 松手后会自动吸附边缘
- 吸附后会半隐藏,只露出一小段弧边
- 点击后会从对应边缘滑出设置面板
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 启用弹幕 | true |
是否启用脚本 |
| 触发时机 | center50 |
弹幕何时开始播放 |
| 滚动方向 | rtl |
从右往左 / 从左往右 |
| 上边距 | 20 |
弹幕区域上边距(px) |
| 右边距 | 0 |
弹幕区域右边距(px) |
| 下边距 | 0 |
弹幕区域下边距(px) |
| 左边距 | 0 |
弹幕区域左边距(px) |
| 水平间距 | 20 |
弹幕之间的水平节奏基准(px) |
| 垂直间距 | 20 |
弹幕轨道之间的垂直间距基准(px) |
| 透明度 | 0.8 |
弹幕整体透明度 |
| 速度 | 80 |
弹幕移动速度(px/s) |
| 最大行数 | 3 |
允许使用的最大轨道数上限 |
| 循环播放 | false |
弹幕播完后是否重新开始 |
| 彩色文字 | true |
是否启用彩色文字 |
| 字体大小 | 14 |
弹幕文字大小(px) |
| 显示原始 Boost | false |
是否保留原始 Boost 气泡 |
当前脚本只使用以下 Userscript 权限:
GM_getValueGM_setValueGM_addStyle
这些权限仅用于:
- 保存本地设置
- 保存设置按钮位置
- 注入脚本样式
脚本不会:
- 向第三方服务器上传数据
- 发起额外的外部网络请求
- 收集浏览记录
- 读取私信或导出账号信息
当前脚本仅在以下页面匹配:
https://linux.do/t/topic/*
npm install
npm run dev
npm run build
npm testsrc/
├── meta.js
├── index.js
├── config.js
├── state/storage.js
├── core/
│ ├── observer.js
│ ├── post-scanner.js
│ └── viewport.js
├── barrage/
│ ├── animator.js
│ ├── engine.js
│ ├── renderer.js
│ └── track.js
├── ui/
│ ├── settings-icon.js
│ └── settings-panel.js
└── styles/barrage.css.js
- 脚本依赖
linux.do当前页面的 Boost DOM 结构,若站点改版,可能需要同步更新 - 快速滚动页面时,不在可视范围内的楼层不会持续渲染,重新进入可视范围后会按当前逻辑恢复或重新开始
- 当前滚动方向只支持横向的
rtl和ltr - 当前视觉风格为默认亮色风格