feat: add side panel configuration (#800)

This commit is contained in:
Honwhy Wang
2025-06-06 08:46:02 +08:00
committed by GitHub
parent 4d1e582757
commit a14fd04ad7
4 changed files with 33 additions and 47 deletions
+19 -24
View File
@@ -82,7 +82,7 @@
"vite-plugin-vue-devtools": "^7.7.2",
"vue-tsc": "^2.2.0",
"wrangler": "^4.12.0",
"wxt": "^0.20.6"
"wxt": "^0.20.7"
}
},
"node_modules/@1natsu/wait-element": {
@@ -4893,7 +4893,6 @@
"resolved": "https://registry.npmmirror.com/@types/filesystem/-/filesystem-0.0.36.tgz",
"integrity": "sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/filewriter": "*"
}
@@ -4902,8 +4901,7 @@
"version": "0.0.33",
"resolved": "https://registry.npmmirror.com/@types/filewriter/-/filewriter-0.0.33.tgz",
"integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==",
"dev": true,
"license": "MIT"
"dev": true
},
"node_modules/@types/geojson": {
"version": "7946.0.16",
@@ -4914,8 +4912,7 @@
"version": "1.2.16",
"resolved": "https://registry.npmmirror.com/@types/har-format/-/har-format-1.2.16.tgz",
"integrity": "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==",
"dev": true,
"license": "MIT"
"dev": true
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
@@ -6460,11 +6457,10 @@
"dev": true
},
"node_modules/@wxt-dev/browser": {
"version": "0.0.317",
"resolved": "https://registry.npmmirror.com/@wxt-dev/browser/-/browser-0.0.317.tgz",
"integrity": "sha512-tpFr/OJjTlGY7FLIr950fNi9fIBLQQ9pRVDDajeqEMip5LsXFAxpbF4I1GAGUkdTJEghKQ8P5N9XnsAdbPBAOQ==",
"version": "0.0.326",
"resolved": "https://registry.npmmirror.com/@wxt-dev/browser/-/browser-0.0.326.tgz",
"integrity": "sha512-4Pb4ES7jMsxYFHEEhK005bOL2BnDEXO3jjZTOvF0gWdota8Ytpg81VtKVSC1ohj17C6tE6oNI3FdcVRfKUBl3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/filesystem": "*",
"@types/har-format": "*"
@@ -22360,18 +22356,17 @@
}
},
"node_modules/wxt": {
"version": "0.20.6",
"resolved": "https://registry.npmmirror.com/wxt/-/wxt-0.20.6.tgz",
"integrity": "sha512-CdExyv2yWfpmPWFjhrKBA+nUSHOTRpRKqScod66AaLpMQ0famZ18tM0+4a9m7oX4Pts1XZH4nw79XQp06QsC2Q==",
"version": "0.20.7",
"resolved": "https://registry.npmmirror.com/wxt/-/wxt-0.20.7.tgz",
"integrity": "sha512-KABq5i3CnXMUaJTcORGDLCi04K/IceUVAx5rler2QbZpLvS13OUOO0k+4s/7LI3+N8zXLh/GlQArMyJfk3M2yQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@1natsu/wait-element": "^4.1.2",
"@aklinker1/rollup-plugin-visualizer": "5.12.0",
"@webext-core/fake-browser": "^1.3.2",
"@webext-core/isolated-element": "^1.1.2",
"@webext-core/match-patterns": "^1.0.3",
"@wxt-dev/browser": "0.0.317",
"@wxt-dev/browser": "^0.0.326",
"@wxt-dev/storage": "^1.0.0",
"async-mutex": "^0.5.0",
"c12": "^3.0.3",
@@ -22380,8 +22375,8 @@
"ci-info": "^4.2.0",
"consola": "^3.4.2",
"defu": "^6.1.4",
"dotenv": "^16.4.7",
"dotenv-expand": "^12.0.1",
"dotenv": "^16.5.0",
"dotenv-expand": "^12.0.2",
"esbuild": "^0.25.0",
"fast-glob": "^3.3.3",
"filesize": "^10.1.6",
@@ -22393,14 +22388,14 @@
"is-wsl": "^3.1.0",
"json5": "^2.2.3",
"jszip": "^3.10.1",
"linkedom": "^0.18.9",
"linkedom": "^0.18.10",
"magicast": "^0.3.5",
"minimatch": "^10.0.1",
"nano-spawn": "^0.2.0",
"normalize-path": "^3.0.0",
"nypm": "^0.6.0",
"ohash": "^2.0.11",
"open": "^10.1.0",
"open": "^10.1.2",
"ora": "^8.2.0",
"perfect-debounce": "^1.0.0",
"picocolors": "^1.1.1",
@@ -22408,8 +22403,8 @@
"publish-browser-extension": "^2.3.0 || ^3.0.0",
"scule": "^1.3.0",
"unimport": "^3.13.1 || ^4.0.0 || ^5.0.0",
"vite": "^5.4.17 || ^6.2.5",
"vite-node": "^2.1.4 || ^3.0.0",
"vite": "^5.4.19 || ^6.3.4",
"vite-node": "^2.1.4 || ^3.1.2",
"web-ext-run": "^0.2.3"
},
"bin": {
@@ -22945,9 +22940,9 @@
}
},
"node_modules/wxt/node_modules/open": {
"version": "10.1.1",
"resolved": "https://registry.npmmirror.com/open/-/open-10.1.1.tgz",
"integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==",
"version": "10.1.2",
"resolved": "https://registry.npmmirror.com/open/-/open-10.1.2.tgz",
"integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==",
"dev": true,
"dependencies": {
"default-browser": "^5.2.1",
+1 -1
View File
@@ -108,7 +108,7 @@
"vite-plugin-vue-devtools": "^7.7.2",
"vue-tsc": "^2.2.0",
"wrangler": "^4.12.0",
"wxt": "^0.20.6"
"wxt": "^0.20.7"
},
"simple-git-hooks": {
"pre-commit": "npx lint-staged"
-22
View File
@@ -16,28 +16,6 @@ export default defineBackground({
}
})
const MP_EDITOR_PAGE_REGEX = /https:\/\/mp.weixin.qq.com\/cgi-bin\/appmsg\?t=.*/
browser.tabs.onUpdated.addListener(async (tabId, _info, tab) => {
if (!tab.url)
return
if (typeof browser.sidePanel === `undefined`)
return
const url = new URL(tab.url)
if (MP_EDITOR_PAGE_REGEX.test(url.href)) {
await browser.sidePanel.setOptions({
tabId,
path: `sidepanel.html`,
enabled: true,
})
}
else {
// Disables the side panel on all other sites
await browser.sidePanel.setOptions({
tabId,
enabled: false,
})
}
})
browser.runtime.onInstalled.addListener(() => {
if (typeof browser.sidePanel === `undefined`)
return
+13
View File
@@ -24,6 +24,11 @@ export default defineConfig({
matches: [`<all_urls>`],
},
],
side_panel: browser === `chrome`
? {
default_path: `sidepanel.html`,
}
: undefined,
sidebar_action: browser === `firefox`
? {
default_panel: `sidepanel.html`,
@@ -33,6 +38,14 @@ export default defineConfig({
default_title: `MD 公众号编辑器`,
}
: undefined,
commands: {
_execute_sidebar_action: {
description: `Open MD Editor Side Panel`,
suggested_key: {
default: `Ctrl+Shift+Y`,
},
},
},
}),
analysis: {
open: true,