Skip to content

SlowSlicing/linuxdo-boost-barrage

Repository files navigation

Linux.do Boost Barrage

License Version Site Type

linux.do 帖子楼层中的 Boost 回复,转换成对应楼层内的弹幕效果。

脚本会直接读取页面原本的 Boost 内容,在原楼层里滚动展示,保留头像、文字、emoji 和原有点击交互,不依赖第三方服务。

Features

  • 将 Boost 回复转换为楼层内弹幕展示
  • 弹幕严格绑定对应楼层,不串楼层
  • 默认隐藏原始 Boost 气泡,可在设置中重新显示
  • 鼠标悬停单条弹幕时会暂停,并强化可读性
  • 支持拖拽悬浮设置按钮,自动吸附左右边缘
  • 设置面板即时生效,并自动保存配置
  • 支持常用设置:
    • 触发时机
    • 滚动方向
    • 速度
    • 透明度
    • 字体大小
    • 最大行数
    • 弹幕间距
    • 彩色文字
    • 循环播放
    • 是否显示原始 Boost

Trigger Modes

当前支持 3 种触发时机:

  • 刚进入屏幕就开始 楼层只要有任何部分进入屏幕,就开始播放弹幕。

  • 进入屏幕中间区域再开始 楼层进入屏幕中间的主要阅读区域后,才开始播放弹幕。

  • 滚动到楼层正中再开始 屏幕中心线落到该楼层内时,才开始播放弹幕。

默认值是 进入屏幕中间区域再开始

Install

  1. 安装 Tampermonkey 或其他兼容的 Userscript 扩展
  2. 构建或下载 dist/linuxdo-boost-barrage.user.js
  3. 打开脚本文件并安装
  4. 访问 https://linux.do/t/topic/* 帖子详情页即可生效

Usage

安装后,页面侧边会出现一个可拖拽的小球设置按钮:

  • 可以拖动到左侧或右侧
  • 松手后会自动吸附边缘
  • 吸附后会半隐藏,只露出一小段弧边
  • 点击后会从对应边缘滑出设置面板

Configuration

配置项 默认值 说明
启用弹幕 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 气泡

Privacy

当前脚本只使用以下 Userscript 权限:

  • GM_getValue
  • GM_setValue
  • GM_addStyle

这些权限仅用于:

  • 保存本地设置
  • 保存设置按钮位置
  • 注入脚本样式

脚本不会:

  • 向第三方服务器上传数据
  • 发起额外的外部网络请求
  • 收集浏览记录
  • 读取私信或导出账号信息

Match Scope

当前脚本仅在以下页面匹配:

  • https://linux.do/t/topic/*

Development

npm install
npm run dev
npm run build
npm test

Project Structure

src/
├── 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

Notes

  • 脚本依赖 linux.do 当前页面的 Boost DOM 结构,若站点改版,可能需要同步更新
  • 快速滚动页面时,不在可视范围内的楼层不会持续渲染,重新进入可视范围后会按当前逻辑恢复或重新开始
  • 当前滚动方向只支持横向的 rtlltr
  • 当前视觉风格为默认亮色风格

License

MIT

About

将 `linux.do` 帖子楼层中的 Boost 回复,转换成对应楼层内的弹幕效果。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors