hucy230 downloadsOpen external links in a split-pane Web Viewer. Supports reuse, new tab, new split, and browser modes. Configurable Shift / Cmd/Ctrl click behavior.
一组让"点链接 → 在分屏另一侧打开"变得自然的工具,覆盖 Obsidian 和 Chrome 两个场景。
| 目录 | 目标平台 | 状态 |
|---|---|---|
obsidian/ |
Obsidian 1.8+ 桌面端 | v1.0.0 — 可用 |
chrome/ |
Chrome 140+ | 开发中 — 可本地加载 |
两个子项目都想解决同一件事:
不想每点一个链接就切屏 / 开新窗口,而是希望链接"在旁边打开" ——同一个面板原地换内容,或者多开在同一组里。
tab.splitViewId 只读 API),让 Shift+Click 把链接路由到分屏的副屏 tab。obsidian/obsidian/README.mdchrome/chrome://extensions → 开启开发者模式 → 加载已解压的扩展程序 → 选 chrome/ 目录Chrome 扩展的已知限制:Chrome 扩展 API 目前不允许程序化进入分屏,也不允许把新建 tab 加入分屏。因此 Chrome 版需要用户先手动右键 tab → Open in split view。
每个子目录都是独立工程:
直接改代码 → Obsidian 里 Cmd + R / Chrome chrome://extensions 点刷新图标即可。
两个子项目各自打独立 tag,GitHub Actions 自动构建并发布 release。
# 只发布 Obsidian v1.0.1
./scripts/release.sh --obsidian 1.0.1
# 只发布 Chrome v0.2.0
./scripts/release.sh --chrome 0.2.0
# 同时发布两个(一次 commit,两个 tag,两个 workflow 并行触发)
./scripts/release.sh --obsidian 1.0.1 --chrome 0.2.0
脚本会:
manifest.json 的 version(Obsidian 还会追加 versions.json,并把 obsidian/manifest.json 同步复制到仓库根目录 —— Obsidian 社区插件审核 bot 强制要求 manifest.json 在根目录)release(<target>): <version>release: obsidian <ver>, chrome <ver><version>(纯版本号,如 1.0.1)—— Obsidian 社区插件官方要求 tag 就是 manifest.json 的 version,不加前缀chrome-v<version>(如 chrome-v0.2.0)最后你手动 git push origin main --follow-tags,CI 接管后续。
也可以直接手工改 manifest.json 版本号,然后:
# 如果改的是 obsidian,务必同步根目录的 manifest.json
cp obsidian/manifest.json manifest.json
git commit -am "release(obsidian): 1.0.1"
git tag 1.0.1 # 注意:obsidian tag 是纯版本号
git push origin main --follow-tags
.github/workflows/release-obsidian.yml:触发条件 纯数字型 tag(如 1.0.0、1.2.3)obsidian/manifest.json 版本号与 tag 匹配manifest.json 与 obsidian/manifest.json 保持一致main.js / manifest.json / versions.json 到 release.github/workflows/release-chrome.yml:触发条件 chrome-v* tagchrome/manifest.json 版本号与 tag 匹配chrome/ 目录为 zip