一键在任意网页生成「页面结构树 + 文案表」,复制到 Notion / Confluence / 纯 Markdown。本项目为 Chrome MV3 扩展,基于 Vite + React + TypeScript + @crxjs/vite-plugin。
yarn install # 安装依赖
yarn dev # 开启开发(CRX 热重载,由 @crxjs 提供)
yarn dev:watch # 生成 dist 并持续监听(需手动加载 dist)
yarn build # 产出发布包(dist)开发时:在 Chrome 打开
chrome://extensions,开启开发者模式,加载dist目录。yarn dev启动后修改代码会自动刷新扩展;若使用yarn dev:watch,需手动点击扩展卡片的「刷新」。
src/
manifest.ts # MV3 配置(popup/side panel/options/background/content)
background/ # Service worker,转发分析请求
content/ # 注入页面的脚本 + DOM 解析器
popup/ # 弹窗入口(默认 action)
panel/ # Side panel 入口
options/ # 设置页入口
shared/ # 类型、消息封装、导出、设置存储、通用 UI
styles/ # 全局样式
- Popup/Side Panel 发送
ANALYZE_CURRENT_PAGE消息到 background。 - Background 找到当前活动标签页,向 content script 发
RUN_ANALYSIS。 - Content script 使用纯函数
analyzeDocument()解析 DOM,返回PageAnalysisResult。 - UI 渲染结构树/文案表,可选择模板并复制 Markdown。
PageBlock:包含区块类型、标题、文本、按钮列表、xpath。PageAnalysisResult:meta(url/title/capturedAt)+blocks: PageBlock[]。- 导出模板:
notion | confluence | markdown;语言:zh | en。
chrome.storage.sync保存:导出模板、字段语言。- Options 页面可配置;Popup/Side Panel 读取后作为导出默认值。
yarn build输出dist(包含 manifest 与各入口)。- 在 Chrome 的「加载已解压的扩展程序」中选择
dist。 - 若需要源码分发,附带本 README 即可。
- 优化页签默认态的文字颜色,对比度更高,按钮文案不再发白。