Skip to content

Repository files navigation

V2EX Minimum Extension

极简增强 V2EX 浏览体验的浏览器插件。

以最小化、无侵入的方式优化网站的交互和样式,不破坏原有布局和功能。

功能

  • 评论按感谢排序 — 在帖子页面将评论按感谢数量从多到少排序,支持多页合并排序

更多功能持续开发中。

技术栈

  • 框架WXT(基于 Vite)
  • 语言:TypeScript
  • UI:React + Tailwind CSS(Shadow DOM 隔离)
  • Manifest:V3
  • 测试:Vitest + Gherkin BDD
  • 目标浏览器:Chrome、Safari

开发

环境要求

  • Node.js >= 18
  • pnpm >= 8

安装依赖

pnpm install

启动开发模式

# Chrome(默认)
pnpm dev

# Firefox
pnpm dev:firefox

# Safari
pnpm dev:safari

启动后,在 Chrome 中打开 chrome://extensions,启用「开发者模式」,点击「加载已解压的扩展程序」,选择 .output/chrome-mv3-dev 目录。

构建

# 构建 Chrome 版本
pnpm build

# 构建 Safari 版本
pnpm build:safari

# 打包 Safari 宿主 APP
pnpm package:safari

# 打包 ZIP
pnpm zip

测试

# 运行所有测试
pnpm test

# 监听模式
pnpm test:watch

项目结构

src/
├── entrypoints/       # WXT 入口(content script, popup, background)
├── features/          # 功能模块(每个功能独立目录)
├── components/        # 共享 React 组件
├── hooks/             # React Hooks
├── lib/               # 工具库
├── styles/            # 页面样式覆盖
├── assets/            # 静态资源
└── types/             # 类型定义
tests/
├── features/          # Gherkin .feature 文件
├── steps/             # 步骤定义
└── support/           # 测试辅助

开发规范和功能开发流程详见 AGENTS.md

注意事项

Safari 扩展

  • 前置条件:macOS + Xcode Command Line Tools(xcode-select --install
  • 构建出的未签名 App 需要在 Safari 中开启 "Develop > Allow Unsigned Extensions" 才能使用(每次重启 Safari 需重新开启)
  • 双击运行 .app 后,扩展即出现在 Safari 的扩展列表中,可持久加载

许可证

MIT

About

极简增强 V2EX 浏览体验的浏览器插件

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages