diff --git a/404.html b/404.html index 28680195..d3581b59 100644 --- a/404.html +++ b/404.html @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@
- + \ No newline at end of file diff --git a/assets/app.C9AwRckm.js b/assets/app.C9AwRckm.js new file mode 100644 index 00000000..e170384a --- /dev/null +++ b/assets/app.C9AwRckm.js @@ -0,0 +1 @@ +import{U as o,ak as p,al as u,am as l,an as c,ao as f,ap as d,aq as m,ar as h,as as g,at as A,d as v,u as P,y,x as w,au as C,av as b,aw as E,ax as R}from"./chunks/framework.1smVRZMp.js";import{t as S}from"./chunks/theme.D57Qw8QF.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),_=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=P();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>R(s.Layout)}});async function x(){globalThis.__VITEPRESS__=!0;const e=D(),a=T();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function T(){return h(_)}function D(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{x as createApp}; diff --git a/assets/chunks/@localSearchIndexen-US.CfZvtUmg.js b/assets/chunks/@localSearchIndexen-US.CfZvtUmg.js new file mode 100644 index 00000000..d8a43a2a --- /dev/null +++ b/assets/chunks/@localSearchIndexen-US.CfZvtUmg.js @@ -0,0 +1 @@ +const e=`{"documentCount":55,"nextId":55,"documentIds":{"0":"/en-US/joplin-api/#joplin-api","1":"/en-US/joplin-api/#introduction","2":"/en-US/joplin-api/#quick-start","3":"/en-US/joplin-api/#api-reference","4":"/en-US/joplin-api/#conventions","5":"/en-US/joplin-api/#some-issues","6":"/en-US/joplin-search-integration/#joplin-search-integration","7":"/en-US/joplin-search-integration/#introduction","8":"/en-US/joplin-search-integration/#faq","9":"/en-US/joplin-search-integration/#what-are-token-port-and-where-can-i-find-them","10":"/en-US/joplin-search-integration/#no-search-results-in-brave-browser","11":"/en-US/joplin-search-integration/#cannot-read-or-modify-data-on-this-website","12":"/en-US/joplin-search-integration/#contribute","13":"/en-US/joplin-search-integration/privacy.html#privacy-policy","14":"/en-US/joplin-search-integration/privacy.html#overview","15":"/en-US/joplin-search-integration/privacy.html#data-storage","16":"/en-US/joplin-search-integration/privacy.html#data-collection","17":"/en-US/joplin-search-integration/privacy.html#contact","18":"/en-US/joplin-batch-web/#joplin-batch-web","19":"/en-US/joplin-batch-web/#getting-started","20":"/en-US/joplin-batch-web/#faq","21":"/en-US/joplin-batch-web/#why-not-use-a-cli-form","22":"/en-US/joplin-batch-web/#does-it-record-my-note-data","23":"/en-US/joplin-vscode-plugin/faq.html#frequently-asked-questions","24":"/en-US/joplin-vscode-plugin/faq.html#why-develop-this-plugin","25":"/en-US/joplin-vscode-plugin/faq.html#error-message-joplin-s-token-port-is-set-incorrectly-unable-to-access-joplin-service","26":"/en-US/joplin-vscode-plugin/faq.html#how-to-list-joplin-notes-opened-in-vscode","27":"/en-US/joplin-vscode-plugin/faq.html#unable-to-open-notes-from-the-sidebar","28":"/en-US/joplin-vscode-plugin/faq.html#unable-to-upload-clipboard-images-on-windows-10","29":"/en-US/joplin-vscode-plugin/faq.html#how-to-use-the-plugin-with-two-synchronized-vscode-configurations","30":"/en-US/joplin-vscode-plugin/faq.html#markdown-preview-can-t-display-images","31":"/en-US/joplin-vscode-plugin/faq.html#incompatibility-with-markdown-preview-enhanced-plugin","32":"/en-US/joplin-vscode-plugin/faq.html#unable-to-paste-images-into-notes-on-linux","33":"/en-US/joplin-vscode-plugin/feature.html#other-features","34":"/en-US/joplin-vscode-plugin/feature.html#configuration-table","35":"/en-US/joplin-vscode-plugin/feature.html#shortcuts","36":"/en-US/joplin-vscode-plugin/feature.html#editing-attachments","37":"/en-US/joplin-vscode-plugin/feature.html#pasting-images","38":"/en-US/joplin-vscode-plugin/feature.html#adding-attachments","39":"/en-US/joplin-vscode-plugin/feature.html#creating-attachments","40":"/en-US/joplin-vscode-plugin/feature.html#managing-tags","41":"/en-US/joplin-vscode-plugin/feature.html#creating-tags","42":"/en-US/joplin-vscode-plugin/feature.html#linking-notes","43":"/en-US/joplin-vscode-plugin/#quick-start","44":"/en-US/joplin-vscode-plugin/#overview","45":"/en-US/joplin-vscode-plugin/#requirements","46":"/en-US/joplin-vscode-plugin/#install-joplin-vscode-plugin","47":"/en-US/joplin-vscode-plugin/#configuration","48":"/en-US/joplin-vscode-plugin/#getting-started","49":"/en-US/joplin-vscode-plugin/#features","50":"/en-US/joplin-vscode-plugin/#commands-and-shortcuts","51":"/en-US/joplin-vscode-plugin/limitations.html#limitations","52":"/en-US/joplin-vscode-plugin/recommended.html#recommended-extensions","53":"/en-US/joplin-vscode-plugin/recommended.html#plugins","54":"/en-US/joplin-vscode-plugin/recommended.html#alternatives"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,5],"1":[1,2,22],"2":[2,2,37],"3":[2,2,70],"4":[1,2,61],"5":[2,2,20],"6":[3,1,1],"7":[1,3,23],"8":[1,3,1],"9":[11,4,12],"10":[6,4,19],"11":[8,4,35],"12":[1,3,36],"13":[2,1,40],"14":[1,2,29],"15":[2,2,65],"16":[2,2,14],"17":[1,2,10],"18":[3,1,67],"19":[2,3,18],"20":[1,3,1],"21":[6,4,24],"22":[6,4,23],"23":[3,1,1],"24":[4,3,98],"25":[14,3,33],"26":[8,3,55],"27":[7,3,113],"28":[8,3,27],"29":[10,3,45],"30":[6,3,48],"31":[6,3,45],"32":[8,3,8],"33":[2,1,1],"34":[2,2,56],"35":[1,2,40],"36":[2,2,39],"37":[2,2,41],"38":[2,2,31],"39":[2,2,32],"40":[2,2,26],"41":[2,2,15],"42":[2,2,20],"43":[2,1,1],"44":[1,2,73],"45":[1,2,13],"46":[4,2,14],"47":[1,2,74],"48":[2,2,22],"49":[1,2,43],"50":[3,2,38],"51":[1,1,94],"52":[2,1,1],"53":[1,2,95],"54":[1,2,94]},"averageFieldLength":[3.272727272727273,2.272727272727273,35.80000000000001],"storedFields":{"0":{"title":"Joplin API","titles":[]},"1":{"title":"Introduction","titles":["Joplin API"]},"2":{"title":"Quick Start","titles":["Joplin API"]},"3":{"title":"API Reference","titles":["Joplin API"]},"4":{"title":"Conventions","titles":["Joplin API"]},"5":{"title":"Some Issues","titles":["Joplin API"]},"6":{"title":"Joplin Search Integration","titles":[]},"7":{"title":"Introduction","titles":["Joplin Search Integration"]},"8":{"title":"FAQ","titles":["Joplin Search Integration"]},"9":{"title":"What are token/port, and where can I find them?","titles":["Joplin Search Integration","FAQ"]},"10":{"title":"No search results in Brave browser","titles":["Joplin Search Integration","FAQ"]},"11":{"title":"Cannot read or modify data on this website","titles":["Joplin Search Integration","FAQ"]},"12":{"title":"Contribute","titles":["Joplin Search Integration"]},"13":{"title":"Privacy Policy","titles":[]},"14":{"title":"Overview","titles":["Privacy Policy"]},"15":{"title":"Data Storage","titles":["Privacy Policy"]},"16":{"title":"Data Collection","titles":["Privacy Policy"]},"17":{"title":"Contact","titles":["Privacy Policy"]},"18":{"title":"Joplin Batch Web","titles":[]},"19":{"title":"Getting Started","titles":["Joplin Batch Web"]},"20":{"title":"FAQ","titles":["Joplin Batch Web"]},"21":{"title":"Why not use a CLI form","titles":["Joplin Batch Web","FAQ"]},"22":{"title":"Does it record my note data","titles":["Joplin Batch Web","FAQ"]},"23":{"title":"Frequently Asked Questions","titles":[]},"24":{"title":"Why Develop This Plugin","titles":["Frequently Asked Questions"]},"25":{"title":"Error Message Joplin’s token/port is set incorrectly, unable to access Joplin service!","titles":["Frequently Asked Questions"]},"26":{"title":"How to List Joplin Notes Opened in VSCode","titles":["Frequently Asked Questions"]},"27":{"title":"Unable to Open Notes from the Sidebar","titles":["Frequently Asked Questions"]},"28":{"title":"Unable to Upload Clipboard Images on Windows 10","titles":["Frequently Asked Questions"]},"29":{"title":"How to Use the Plugin with Two Synchronized VSCode Configurations","titles":["Frequently Asked Questions"]},"30":{"title":"Markdown Preview Can't Display Images","titles":["Frequently Asked Questions"]},"31":{"title":"Incompatibility with Markdown Preview Enhanced Plugin","titles":["Frequently Asked Questions"]},"32":{"title":"Unable to Paste Images into Notes on Linux","titles":["Frequently Asked Questions"]},"33":{"title":"Other Features","titles":[]},"34":{"title":"Configuration Table","titles":["Other Features"]},"35":{"title":"Shortcuts","titles":["Other Features"]},"36":{"title":"Editing Attachments","titles":["Other Features"]},"37":{"title":"Pasting Images","titles":["Other Features"]},"38":{"title":"Adding Attachments","titles":["Other Features"]},"39":{"title":"Creating Attachments","titles":["Other Features"]},"40":{"title":"Managing Tags","titles":["Other Features"]},"41":{"title":"Creating Tags","titles":["Other Features"]},"42":{"title":"Linking Notes","titles":["Other Features"]},"43":{"title":"Quick Start","titles":[]},"44":{"title":"Overview","titles":["Quick Start"]},"45":{"title":"Requirements","titles":["Quick Start"]},"46":{"title":"Install Joplin VSCode Plugin","titles":["Quick Start"]},"47":{"title":"Configuration","titles":["Quick Start"]},"48":{"title":"Getting Started","titles":["Quick Start"]},"49":{"title":"Features","titles":["Quick Start"]},"50":{"title":"Commands and Shortcuts","titles":["Quick Start"]},"51":{"title":"Limitations","titles":[]},"52":{"title":"Recommended Extensions","titles":[]},"53":{"title":"Plugins","titles":["Recommended Extensions"]},"54":{"title":"Alternatives","titles":["Recommended Extensions"]}},"dirtCount":0,"index":[["5240",{"2":{"51":1}}],["5921",{"2":{"27":1}}],["🦸♀️",{"2":{"49":1}}],["🎉",{"2":{"48":1}}],["66",{"2":{"45":1}}],["32540",{"2":{"51":1}}],["32592",{"2":{"51":1}}],["3",{"2":{"39":1,"40":1,"41":1}}],["keys",{"2":{"51":1}}],["key",{"2":{"37":1,"38":1,"40":1,"48":1,"51":1}}],["8",{"2":{"36":1,"45":1}}],["7",{"2":{"36":1,"37":1}}],["~",{"2":{"29":1}}],["46",{"2":{"31":1}}],["4",{"2":{"27":1,"53":1}}],["41184",{"2":{"25":1,"27":1,"34":1,"47":1}}],["2",{"2":{"45":1}}],["25",{"2":{"29":1}}],["257f6a9dacc1409580ee526d50ac4d49",{"2":{"27":1}}],["20",{"2":{"26":1,"35":1}}],["27583",{"2":{"2":1}}],["yet",{"2":{"24":1}}],["your",{"2":{"13":1,"14":1,"15":5,"47":1,"49":1}}],["you",{"2":{"11":1,"12":2,"13":4,"15":1,"17":1,"22":2,"26":1,"27":2,"28":1,"29":2,"30":2,"44":1,"47":3,"49":1,"53":1}}],["xclip",{"2":{"32":1}}],["x",{"2":{"18":4,"51":2}}],["questions",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1},"2":{"17":1}}],["quickly",{"2":{"39":1}}],["quick",{"0":{"2":1,"43":1},"1":{"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"36":1}}],["v2",{"2":{"45":1}}],["v0",{"2":{"36":1,"37":1,"38":1,"39":1,"40":1,"41":1}}],["v1",{"2":{"27":1,"45":1,"53":1}}],["verify",{"2":{"27":1}}],["version",{"2":{"27":2,"45":2,"53":1}}],["very",{"2":{"12":1,"21":1}}],["ve",{"2":{"24":1}}],["variety",{"2":{"54":1}}],["various",{"2":{"18":1}}],["values",{"2":{"34":1}}],["value",{"2":{"34":1}}],["valid",{"2":{"27":1}}],["vastly",{"2":{"24":1}}],["vscode",{"0":{"26":1,"29":1,"46":1},"2":{"24":5,"26":1,"27":2,"30":2,"31":1,"36":1,"37":1,"44":3,"45":1,"46":2,"49":1,"50":1,"51":4,"53":2,"54":3}}],["vim",{"2":{"54":2}}],["video",{"2":{"51":1}}],["view",{"2":{"44":1,"48":1,"54":1}}],["viewing",{"2":{"44":1}}],["visualstudio",{"2":{"51":1}}],["visual",{"2":{"18":1}}],["via",{"2":{"15":1,"37":1,"38":1,"44":1}}],["+",{"2":{"4":2,"24":1}}],["number",{"2":{"54":1}}],["numerous",{"2":{"50":1}}],["null",{"2":{"5":1}}],["namespace",{"2":{"51":1}}],["naming",{"2":{"4":3}}],["navigate",{"2":{"19":1}}],["necessary",{"2":{"27":1}}],["never",{"2":{"14":1,"18":1}}],["new",{"2":{"12":1}}],["needs",{"2":{"24":1}}],["needed",{"2":{"24":1,"47":1}}],["need",{"2":{"11":1,"24":1,"28":1,"29":1,"47":2,"51":1}}],["no",{"0":{"10":1},"2":{"22":1,"25":1,"47":1,"51":1}}],["nothing",{"2":{"53":1}}],["noticed",{"2":{"53":1}}],["not",{"0":{"21":1},"2":{"5":2,"11":1,"14":1,"15":1,"16":1,"18":1,"21":1,"24":1,"27":1,"30":1,"50":1,"51":1}}],["notebook",{"2":{"49":1}}],["notebooks",{"2":{"44":1,"48":1,"49":3}}],["noteid",{"2":{"27":2}}],["noteextapi",{"2":{"3":1}}],["notes",{"0":{"26":1,"27":1,"32":1,"42":1},"2":{"3":4,"7":1,"18":1,"21":1,"24":1,"26":1,"27":2,"34":2,"35":2,"38":1,"44":4,"49":3,"51":1,"54":1}}],["noteactionapi",{"2":{"3":1}}],["noteapi",{"2":{"2":2,"3":1,"4":8}}],["note",{"0":{"22":1},"2":{"3":5,"4":3,"18":1,"24":2,"34":1,"35":3,"36":1,"42":2,"44":1,"49":1,"51":1,"53":1,"54":1}}],["great",{"2":{"54":1}}],["gray",{"2":{"11":1}}],["git",{"2":{"24":1}}],["github",{"2":{"2":1,"27":1,"29":1,"31":1,"51":3}}],["go",{"2":{"18":1}}],["google",{"2":{"7":1,"10":1}}],["gt",{"2":{"9":2,"40":1,"41":1,"45":2,"47":2}}],["generates",{"2":{"29":1}}],["generally",{"2":{"4":1,"9":1,"47":1}}],["getting",{"0":{"19":1,"48":1},"2":{"4":1}}],["get",{"2":{"4":3,"5":1,"47":1}}],["global",{"2":{"3":1}}],["ui",{"2":{"51":1}}],["unotes",{"2":{"54":1}}],["underneath",{"2":{"49":1}}],["understand",{"2":{"44":1}}],["unable",{"0":{"25":1,"27":1,"28":1,"32":1},"2":{"51":4}}],["unused",{"2":{"18":2}}],["us",{"2":{"54":1}}],["usually",{"2":{"18":1,"29":1}}],["useful",{"2":{"53":1}}],["used",{"2":{"18":1,"39":1,"51":1}}],["use",{"0":{"21":1,"29":1},"2":{"13":4,"14":1,"18":1,"26":1,"27":1,"30":1,"31":1,"37":1,"42":1}}],["using",{"2":{"7":1,"13":1,"24":2,"47":2,"54":1}}],["url",{"2":{"12":1,"47":1}}],["uploaded",{"2":{"37":1}}],["upload",{"0":{"28":1},"2":{"35":2}}],["uploading",{"2":{"3":1}}],["up",{"2":{"18":1,"24":1,"40":1}}],["update",{"2":{"4":3}}],["utility",{"2":{"3":1}}],["utils",{"2":{"2":1,"29":1,"31":1}}],["wysiwyg",{"2":{"54":1}}],["word",{"2":{"53":1}}],["working",{"2":{"49":1}}],["works",{"2":{"22":1}}],["wl",{"2":{"32":1}}],["we",{"2":{"13":1,"14":2,"15":1,"24":1,"47":1}}],["webview",{"2":{"31":1}}],["websites",{"2":{"14":1}}],["website",{"0":{"11":1},"2":{"11":1,"22":1}}],["web",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1},"2":{"3":2,"9":1,"19":1,"22":1,"34":1,"44":2,"45":1,"47":5}}],["windows",{"0":{"28":1},"2":{"28":1}}],["within",{"2":{"24":1,"44":1,"49":1}}],["without",{"2":{"18":1,"44":1}}],["with",{"0":{"29":1,"31":1},"2":{"13":2,"14":1,"22":1,"24":2,"25":1,"27":1,"28":1,"30":1,"36":1,"44":1,"50":1,"51":1,"53":2}}],["will",{"2":{"7":1,"42":1}}],["want",{"2":{"12":1,"18":1}}],["whiteboard",{"2":{"53":1}}],["while",{"2":{"24":1}}],["which",{"2":{"21":1,"24":1,"53":1}}],["why",{"0":{"21":1,"24":1},"2":{"44":1}}],["whether",{"2":{"34":1}}],["wheel",{"2":{"24":1}}],["where",{"0":{"9":1}}],["when",{"2":{"7":1,"13":1,"30":1}}],["what",{"0":{"9":1},"2":{"44":1}}],["wrapped",{"2":{"4":1}}],["wrapper",{"2":{"1":1}}],["written",{"2":{"1":1,"54":1}}],["help",{"2":{"47":1}}],["header",{"2":{"27":1}}],["here",{"2":{"4":1,"47":1,"50":1,"54":1}}],["hint",{"2":{"50":1}}],["higher",{"2":{"27":1}}],["history",{"2":{"3":1}}],["how",{"0":{"26":1,"29":1}}],["however",{"2":{"15":1,"29":1,"54":1}}],["handle",{"2":{"18":1}}],["haven",{"2":{"18":1}}],["have",{"2":{"13":1,"17":1,"22":1,"24":1,"51":1,"53":2,"54":1}}],["has",{"2":{"4":1,"24":1,"30":1,"36":1,"37":1,"38":1,"39":1,"50":1,"51":1,"54":2}}],["https",{"2":{"2":1,"27":2,"29":1,"31":1,"51":4}}],["http",{"2":{"2":1,"25":1,"27":1,"34":1,"47":1}}],["etc",{"2":{"44":1}}],["easily",{"2":{"30":1}}],["each",{"2":{"29":1,"53":1}}],["ecosystem",{"2":{"24":1}}],["edit",{"2":{"24":1,"49":1}}],["editing",{"0":{"36":1},"2":{"24":1,"27":1,"36":1,"44":1,"53":1,"54":1}}],["editor",{"2":{"3":2,"24":2,"26":1,"27":3,"36":1,"44":1,"49":1,"51":1,"54":3}}],["edge",{"2":{"15":1}}],["even",{"2":{"15":1,"26":1}}],["event",{"2":{"3":1}}],["eventapi",{"2":{"3":1}}],["effect",{"2":{"11":1,"26":1}}],["error",{"0":{"25":1},"2":{"5":1,"18":1}}],["enjoying",{"2":{"54":1}}],["enhanced",{"0":{"31":1},"2":{"31":1}}],["enter",{"2":{"30":1,"48":1}}],["entirely",{"2":{"22":1}}],["entities",{"2":{"4":1}}],["enoent",{"2":{"28":1}}],["encounter",{"2":{"30":1}}],["encompassing",{"2":{"26":1}}],["encapsulated",{"2":{"4":1}}],["endpoint",{"2":{"44":1,"47":1}}],["end",{"2":{"24":1}}],["ensure",{"2":{"18":1,"27":2}}],["enabled",{"2":{"47":1}}],["enable",{"2":{"15":1,"19":1,"45":1}}],["engine",{"2":{"12":2,"14":1}}],["engines",{"2":{"7":1}}],["extremely",{"2":{"54":1}}],["extensive",{"2":{"24":1}}],["extensions",{"0":{"52":1},"1":{"53":1,"54":1},"2":{"44":1}}],["extension",{"2":{"3":2,"13":1,"14":3,"15":3,"16":1,"31":1,"51":1}}],["externaleditwatcher",{"2":{"27":1}}],["external",{"2":{"3":2,"18":1,"27":1}}],["excalidraw",{"2":{"53":1}}],["excellent",{"2":{"53":1}}],["exception",{"2":{"5":1}}],["execute",{"2":{"27":1}}],["executing",{"2":{"25":1}}],["export",{"2":{"53":1}}],["exports",{"2":{"24":1}}],["explore",{"2":{"50":1}}],["expand",{"2":{"49":1}}],["expire",{"2":{"18":1}}],["existing",{"2":{"44":1,"51":1,"53":1}}],["exist",{"2":{"5":1,"44":1}}],["example",{"2":{"4":3,"21":1,"47":1,"53":1}}],["examples",{"2":{"2":1}}],["own",{"2":{"31":1}}],["overlap",{"2":{"26":1}}],["overview",{"0":{"14":1,"44":1},"2":{"51":1}}],["outline",{"2":{"54":2}}],["out",{"2":{"27":1,"50":1,"53":1}}],["outperform",{"2":{"24":1}}],["outside",{"2":{"14":1,"15":1}}],["our",{"2":{"13":2}}],["order",{"2":{"34":2}}],["org",{"2":{"27":1}}],["or",{"0":{"11":1},"2":{"11":1,"12":1,"14":1,"15":1,"16":1,"21":1,"27":1,"34":1,"35":2,"37":1,"38":1,"39":1,"44":1,"54":1}}],["one",{"2":{"24":1,"31":1,"53":1,"54":1}}],["only",{"2":{"14":1,"15":1}}],["on",{"0":{"11":1,"28":1,"32":1},"2":{"10":1,"11":1,"15":2,"19":1,"21":1,"27":2,"28":1,"42":1,"47":1,"49":1,"51":1}}],["otherwise",{"2":{"25":1}}],["others",{"2":{"24":1}}],["other",{"0":{"33":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"10":1,"15":1,"24":1}}],["optional",{"2":{"34":1}}],["options",{"2":{"9":1,"47":1}}],["operations",{"2":{"18":1}}],["openandwatch",{"2":{"27":1}}],["opened",{"0":{"26":1},"2":{"26":1,"47":1}}],["open",{"0":{"27":1},"2":{"17":1,"19":1,"26":1,"27":3,"42":1,"49":1}}],["opening",{"2":{"3":2,"27":1,"48":1}}],["of",{"2":{"3":2,"5":1,"12":1,"13":3,"14":2,"15":1,"24":2,"26":2,"34":3,"35":1,"36":1,"50":1,"51":2,"53":2,"54":3}}],["official",{"2":{"0":1,"26":1}}],["object",{"2":{"3":1}}],["snippets",{"2":{"54":1}}],["system",{"2":{"54":2}}],["synchronized",{"0":{"29":1}}],["synchronization",{"2":{"15":1,"24":1}}],["sync",{"2":{"15":3}}],["save",{"2":{"49":1}}],["same",{"2":{"4":1,"29":1,"44":1}}],["spelling",{"2":{"53":1}}],["spell",{"2":{"53":2}}],["specific",{"2":{"53":1}}],["specified",{"2":{"36":1}}],["special",{"2":{"4":1,"47":1,"54":1}}],["spawn",{"2":{"28":1}}],["sharing",{"2":{"44":1}}],["shpowershell",{"2":{"28":1}}],["shcurl",{"2":{"27":1}}],["showing",{"2":{"35":1}}],["showpreviewsecurityselector",{"2":{"30":1}}],["show",{"2":{"30":1,"35":1,"48":2}}],["shortcuts",{"0":{"35":1,"50":1},"2":{"50":2}}],["shortcut",{"2":{"24":1,"26":1,"36":1,"37":1,"38":1,"40":1,"48":1,"50":1,"51":2}}],["should",{"2":{"5":2,"25":1}}],["square",{"2":{"24":1}}],["scenario",{"2":{"21":1}}],["step",{"2":{"50":1}}],["string",{"2":{"34":2}}],["still",{"2":{"15":1,"22":1,"27":1,"53":1}}],["stored",{"2":{"15":1}}],["store",{"2":{"15":1,"24":1}}],["storage",{"0":{"15":1}}],["stating",{"2":{"30":1}}],["static",{"2":{"3":1}}],["started",{"0":{"19":1,"48":1},"2":{"47":1}}],["start",{"0":{"2":1,"43":1},"1":{"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"53":1}}],["since",{"2":{"31":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1}}],["sidebar",{"0":{"27":1},"2":{"48":1,"49":1,"54":1}}],["similar",{"2":{"24":1,"26":1}}],["simple",{"2":{"12":1}}],["site",{"2":{"10":1}}],["s",{"0":{"25":1},"2":{"12":1,"24":1,"26":1,"27":1,"31":1,"34":1,"36":1,"53":1}}],["sortorder",{"2":{"34":1}}],["sorting",{"2":{"34":3}}],["sort",{"2":{"34":2}}],["sortnotestype",{"2":{"34":1}}],["sortnotes",{"2":{"34":1}}],["source",{"2":{"22":1}}],["so",{"2":{"10":1}}],["sometimes",{"2":{"11":1}}],["some",{"0":{"5":1},"2":{"4":1,"15":1,"18":3,"30":1,"51":1,"53":1,"54":1}}],["sub",{"2":{"49":1}}],["submit",{"2":{"12":1}}],["suitable",{"2":{"21":1}}],["supports",{"2":{"24":1}}],["support",{"2":{"12":1,"18":1,"24":1,"26":2,"27":1,"53":2}}],["supported",{"2":{"7":1,"14":1,"39":2,"40":1,"41":1}}],["such",{"2":{"3":11,"4":1,"15":2,"51":1}}],["seamlessly",{"2":{"49":1}}],["searx",{"2":{"7":1}}],["searching",{"2":{"44":1}}],["search",{"0":{"6":1,"10":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"2":{"3":1,"7":3,"10":1,"12":2,"13":1,"14":1,"15":1,"24":1,"35":1,"46":1}}],["searchapi",{"2":{"3":1}}],["see",{"2":{"42":1,"49":1,"51":4}}],["select",{"2":{"30":1,"37":1,"38":1}}],["several",{"2":{"27":1}}],["setting",{"2":{"27":1}}],["settings",{"2":{"14":1,"15":1,"19":1,"27":1,"29":1,"47":2,"51":1}}],["set",{"0":{"25":1},"2":{"29":1}}],["servers",{"2":{"16":1,"22":1}}],["services",{"2":{"27":1}}],["service",{"0":{"25":1},"2":{"3":1,"13":2,"15":2,"34":1,"47":1}}],["sent",{"2":{"15":1}}],["send",{"2":{"14":1,"15":1,"16":1}}],["src",{"2":{"2":1}}],["push",{"2":{"49":1}}],["picker",{"2":{"35":2}}],["ping",{"2":{"25":1}}],["pdf",{"2":{"24":1,"53":2}}],["please",{"2":{"17":1,"25":1,"32":1}}],["plugins",{"0":{"53":1},"2":{"24":1,"53":3,"54":3}}],["plugin",{"0":{"24":1,"29":1,"31":1,"46":1},"2":{"11":2,"24":1,"27":1,"30":1,"44":3,"46":1,"50":1,"51":3,"54":6}}],["persistent",{"2":{"54":1}}],["persists",{"2":{"27":1}}],["personally",{"2":{"24":1}}],["personal",{"2":{"13":1,"24":1}}],["permanently",{"2":{"15":1}}],["pop",{"2":{"40":1}}],["powershell",{"2":{"28":5}}],["post",{"2":{"27":1}}],["policies",{"2":{"13":1}}],["policy",{"0":{"13":1},"1":{"14":1,"15":1,"16":1,"17":1},"2":{"13":1}}],["port",{"0":{"9":1,"25":1}}],["prevents",{"2":{"54":1}}],["preview",{"0":{"30":1,"31":1},"2":{"30":2,"31":1,"51":1}}],["previous",{"2":{"18":1}}],["prettier",{"2":{"53":1,"54":1}}],["precisely",{"2":{"51":1}}],["prefix",{"2":{"50":1}}],["present",{"2":{"18":1}}],["prompt",{"2":{"34":1}}],["prompted",{"2":{"28":1}}],["professional",{"2":{"24":1}}],["prot",{"2":{"15":1}}],["provided",{"2":{"31":1}}],["provide",{"2":{"13":1}}],["provides",{"2":{"1":1,"44":1}}],["privacy",{"0":{"13":1},"1":{"14":1,"15":1,"16":1,"17":1}}],["pr",{"2":{"12":1}}],["pane",{"2":{"54":1}}],["palette",{"2":{"50":1}}],["pay",{"2":{"47":1}}],["pasting",{"0":{"37":1}}],["pasted",{"2":{"37":1}}],["paste",{"0":{"32":1},"2":{"37":3,"47":1,"54":1}}],["path",{"2":{"34":1}}],["parent",{"2":{"18":1}}],["page",{"2":{"13":1,"19":2,"31":1}}],["pageutil",{"2":{"3":1}}],["pagination",{"2":{"3":1}}],["packages",{"2":{"2":1}}],["multilanguage",{"2":{"53":1}}],["multiple",{"2":{"4":1}}],["must",{"2":{"47":2}}],["means",{"2":{"47":1}}],["menu",{"2":{"37":1}}],["message",{"0":{"25":1},"2":{"30":1}}],["metager",{"2":{"7":1}}],["method",{"2":{"5":1}}],["my",{"0":{"22":1},"2":{"44":1,"53":1}}],["microsoft",{"2":{"51":3}}],["mindmap",{"2":{"53":1}}],["mind",{"2":{"39":1,"53":1}}],["missing",{"2":{"18":2,"28":1}}],["might",{"2":{"11":1,"18":1,"24":1,"26":1,"30":1}}],["math",{"2":{"54":1}}],["matching",{"2":{"12":1}}],["marketplace",{"2":{"46":1}}],["markdown",{"0":{"30":1,"31":1},"2":{"24":2,"30":3,"31":4,"53":8,"54":5}}],["map",{"2":{"39":1,"53":1}}],["mainly",{"2":{"39":1}}],["main",{"2":{"26":1}}],["massive",{"2":{"24":1}}],["master",{"2":{"2":1}}],["may",{"2":{"15":2,"30":1,"53":1}}],["managing",{"0":{"40":1},"2":{"44":1}}],["management",{"2":{"40":1}}],["manager",{"2":{"37":1}}],["manage",{"2":{"35":1,"40":1,"44":1}}],["many",{"2":{"24":1,"54":1}}],["manifest",{"2":{"12":1}}],["manually",{"2":{"11":1,"29":1}}],["mode",{"2":{"54":1}}],["modifications",{"2":{"49":1}}],["modified",{"2":{"26":1,"35":1}}],["modify",{"0":{"11":1},"2":{"11":1,"29":1,"44":1}}],["modifying",{"2":{"3":1,"44":1}}],["motivation",{"2":{"44":1}}],["most",{"2":{"26":1,"54":1}}],["moving",{"2":{"3":1}}],["more",{"2":{"2":1,"26":1,"44":1,"53":1}}],["rich",{"2":{"54":1}}],["right",{"2":{"37":1,"39":1,"42":1}}],["random",{"2":{"29":1}}],["raw",{"2":{"27":1}}],["raise",{"2":{"12":1}}],["running",{"2":{"3":1,"47":1}}],["review",{"2":{"54":1}}],["revision",{"2":{"3":1}}],["required",{"2":{"47":1}}],["requirements",{"0":{"45":1}}],["request",{"2":{"27":1}}],["rename",{"2":{"35":1}}],["renaming",{"2":{"3":1}}],["rendering",{"2":{"31":1}}],["refer",{"2":{"27":2,"28":1,"31":1,"47":1}}],["references",{"2":{"18":1}}],["referenced",{"2":{"18":1}}],["referenceentity",{"2":{"4":1}}],["reference",{"0":{"3":1},"2":{"29":1,"51":1}}],["recommended",{"0":{"52":1},"1":{"53":1,"54":1},"2":{"31":1}}],["record",{"0":{"22":1}}],["recently",{"2":{"26":2,"53":1,"54":1}}],["reinvent",{"2":{"24":1}}],["realized",{"2":{"51":1}}],["reaching",{"2":{"27":1}}],["reason",{"2":{"26":1}}],["reasons",{"2":{"18":1,"27":1,"44":1}}],["read",{"0":{"11":1},"2":{"11":1,"44":1}}],["remote",{"2":{"16":1,"47":1}}],["remove",{"2":{"4":2}}],["regarding",{"2":{"13":1}}],["relevant",{"2":{"7":1,"19":1}}],["related",{"2":{"3":6,"4":1,"24":1,"53":1}}],["return",{"2":{"5":1,"25":1}}],["retrieving",{"2":{"3":2}}],["rest",{"2":{"44":2}}],["restarted",{"2":{"15":1}}],["resolved",{"2":{"30":1,"51":1}}],["resources",{"2":{"10":1,"18":2,"36":1,"38":1,"39":1}}],["resourceapi",{"2":{"3":1}}],["resourceactionapi",{"2":{"3":1}}],["resource",{"2":{"3":2}}],["results",{"0":{"10":1},"2":{"7":1,"50":1}}],["res",{"2":{"2":2}}],["rxliuli",{"2":{"2":1,"29":1,"31":1}}],["boolean",{"2":{"34":2}}],["boasts",{"2":{"24":1}}],["built",{"2":{"50":1}}],["but",{"2":{"24":1,"53":2}}],["bulk",{"2":{"18":1}}],["blog",{"2":{"18":1}}],["blocks",{"2":{"10":1}}],["brought",{"2":{"54":1}}],["browser",{"0":{"10":1},"2":{"14":1,"15":4,"44":1}}],["brainmap",{"2":{"39":1}}],["brave",{"0":{"10":1},"2":{"10":1}}],["back",{"2":{"49":1}}],["backend",{"2":{"22":1}}],["batch",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1},"2":{"22":1}}],["baidu",{"2":{"7":1,"39":1}}],["bash",{"2":{"25":1}}],["base",{"2":{"34":1,"47":1}}],["based",{"2":{"27":1,"51":1}}],["basesearchengineadapter",{"2":{"12":1}}],["baseurl",{"2":{"2":1,"34":1}}],["basic",{"2":{"3":1}}],["bing",{"2":{"7":1}}],["by",{"2":{"4":3,"10":1,"13":1,"14":1,"15":1,"28":1,"29":1,"31":1,"34":1,"35":1,"39":2,"47":1,"50":2,"51":1,"53":1,"54":1}}],["because",{"2":{"51":1}}],["behind",{"2":{"44":1}}],["before",{"2":{"34":1}}],["between",{"2":{"24":1,"26":1}}],["been",{"2":{"18":1,"24":2,"30":1,"36":1,"37":1,"38":1,"39":1}}],["being",{"2":{"4":1,"24":1}}],["be",{"2":{"2":1,"9":1,"15":2,"18":1,"21":1,"26":1,"28":1,"30":1,"37":2,"38":1,"47":2,"49":1,"53":1}}],["let",{"2":{"53":1}}],["leaving",{"2":{"44":1}}],["layout",{"2":{"54":1}}],["large",{"2":{"54":1}}],["language",{"2":{"53":1}}],["latest",{"2":{"35":1}}],["laurent22",{"2":{"27":2}}],["lacks",{"2":{"27":1}}],["lack",{"2":{"26":1}}],["limitations",{"0":{"51":1},"2":{"51":2}}],["like",{"2":{"27":1,"44":1,"54":1}}],["linking",{"0":{"42":1},"2":{"44":1}}],["link",{"2":{"37":1,"42":3}}],["links",{"2":{"18":3}}],["linux",{"0":{"32":1}}],["linter",{"2":{"53":1}}],["lint",{"2":{"24":1,"53":1}}],["line",{"2":{"21":1}}],["listing",{"2":{"53":1}}],["listed",{"2":{"50":1}}],["lists",{"2":{"44":1}}],["list",{"0":{"26":1},"2":{"2":1,"3":1,"4":6,"26":2,"30":1,"36":1}}],["located",{"2":{"29":1}}],["location",{"2":{"27":1}}],["localhost",{"2":{"27":1,"34":1}}],["locally",{"2":{"22":1,"47":1}}],["local",{"2":{"15":1,"30":1}}],["log",{"2":{"2":1}}],["10",{"0":{"28":1},"2":{"38":1}}],["1002692774",{"2":{"27":1}}],["16735",{"2":{"27":1}}],["1",{"2":{"2":1,"25":1,"37":1,"38":1,"47":1}}],["127",{"2":{"2":1,"25":1,"47":1}}],["0",{"2":{"2":2,"25":2,"39":1,"40":1,"41":1,"47":2}}],["=",{"2":{"2":3}}],["flowchart",{"2":{"39":1,"53":1}}],["f2",{"2":{"35":1}}],["false",{"2":{"34":1}}],["faq",{"0":{"8":1,"20":1},"1":{"9":1,"10":1,"11":1,"21":1,"22":1}}],["freely",{"2":{"49":1}}],["frequent",{"2":{"36":1}}],["frequently",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1}}],["from",{"0":{"27":1},"2":{"2":1,"10":1,"30":1,"35":3,"37":1,"47":1,"54":2}}],["features",{"0":{"33":1,"49":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1},"2":{"24":1,"44":1,"54":1}}],["feature",{"2":{"15":1,"27":1,"36":1,"37":1,"39":1,"54":1}}],["fetching",{"2":{"3":2}}],["field",{"2":{"34":1}}],["first",{"2":{"30":1,"32":1}}],["firefox",{"2":{"11":1,"15":1}}],["file",{"2":{"27":1,"29":1,"35":2,"37":1,"38":1}}],["files",{"2":{"26":3,"31":1,"38":1,"51":1}}],["filing",{"2":{"25":1}}],["fill",{"2":{"19":1}}],["find",{"0":{"9":1},"2":{"46":1,"50":1}}],["functionalities",{"2":{"27":1,"44":1,"50":1,"51":1,"54":2}}],["functionality",{"2":{"4":1,"24":1,"36":1,"44":1}}],["functional",{"2":{"26":1}}],["functions",{"2":{"24":1}}],["function",{"2":{"4":1,"19":1,"53":2}}],["full",{"2":{"3":1,"4":1}}],["folding",{"2":{"54":2}}],["folders",{"2":{"3":1}}],["folderextapi",{"2":{"3":1}}],["folder",{"2":{"3":3}}],["folderapi",{"2":{"3":1}}],["followed",{"2":{"50":1}}],["following",{"2":{"25":1,"27":1}}],["found",{"2":{"2":1,"9":1,"24":1,"49":1}}],["formatter",{"2":{"54":1}}],["formatting",{"2":{"24":1,"53":1,"54":1}}],["formal",{"2":{"26":1}}],["form",{"0":{"21":1},"2":{"21":1}}],["fork",{"2":{"12":1,"53":1}}],["for",{"2":{"1":1,"3":1,"4":4,"12":1,"18":1,"21":2,"24":3,"26":1,"27":2,"29":1,"31":1,"34":2,"36":1,"46":1,"47":2,"53":3,"54":1}}],["csv",{"2":{"54":2}}],["celebrate",{"2":{"48":1}}],["creating",{"0":{"39":1,"41":1},"2":{"41":1}}],["create",{"2":{"4":3,"35":1,"39":2,"41":1,"49":1,"51":1}}],["ctrl+click",{"2":{"42":1}}],["ctrl+l",{"2":{"35":1,"36":1}}],["ctrl+m",{"2":{"35":1,"40":1}}],["ctrl+i",{"2":{"35":1}}],["ctrl+o",{"2":{"35":1}}],["ctrl+j",{"2":{"35":4,"36":1,"40":1,"48":2,"50":1,"51":1}}],["ctrl+alt+shift+e",{"2":{"35":1,"38":1}}],["ctrl+alt+e",{"2":{"35":1,"37":1}}],["ctrl+alt+u",{"2":{"35":1,"37":1}}],["c+o",{"2":{"26":1}}],["c+j",{"2":{"26":1}}],["cmdcurl",{"2":{"25":1}}],["cmd",{"2":{"25":1,"28":1}}],["customize",{"2":{"51":1}}],["current",{"2":{"27":1,"35":1,"36":1,"51":1}}],["currently",{"2":{"1":1,"7":1,"26":1,"31":1,"51":1}}],["cumbersome",{"2":{"21":1,"51":1}}],["challenging",{"2":{"51":1}}],["checker",{"2":{"53":2}}],["checkbox",{"2":{"40":1}}],["checks",{"2":{"24":1}}],["check",{"2":{"18":3,"22":1,"27":1,"28":1,"53":1}}],["checking",{"2":{"3":1,"21":1}}],["choices",{"2":{"13":1}}],["chrome",{"2":{"11":1,"15":1}}],["capabilities",{"2":{"51":1}}],["cases",{"2":{"4":1}}],["cannot",{"0":{"11":1},"2":{"11":1}}],["can",{"0":{"9":1,"30":1},"2":{"2":1,"9":1,"12":1,"15":1,"21":1,"22":1,"26":1,"27":3,"29":1,"30":1,"44":1,"49":2,"53":1}}],["closed",{"2":{"26":1}}],["client",{"2":{"47":1}}],["clicking",{"2":{"42":1}}],["click",{"2":{"36":1,"37":1,"39":1,"42":1,"46":1,"49":1}}],["clipboard",{"0":{"28":1},"2":{"32":1,"35":1,"37":1,"42":1}}],["clipper",{"2":{"3":1,"9":1,"15":1,"19":1,"44":1,"45":1,"47":5}}],["cli",{"0":{"21":1},"2":{"21":1,"27":1}}],["cleaned",{"2":{"18":1}}],["classes",{"2":{"4":1}}],["class",{"2":{"3":1,"4":1}}],["copy",{"2":{"42":2,"47":2,"49":1}}],["correctly",{"2":{"27":1}}],["could",{"2":{"27":1,"28":1}}],["code",{"2":{"22":1,"51":1,"53":1,"54":1}}],["collect",{"2":{"16":1}}],["collection",{"0":{"16":1},"2":{"13":2}}],["combination",{"2":{"48":1}}],["communicate",{"2":{"44":1}}],["common",{"2":{"44":1,"51":1}}],["commands",{"0":{"50":1}}],["command",{"2":{"21":1,"25":1,"27":2,"30":1,"37":1,"38":1,"40":1,"41":1,"48":1,"50":1}}],["computer",{"2":{"27":1,"29":1}}],["company",{"2":{"24":1}}],["compatible",{"2":{"15":1}}],["comparison",{"2":{"4":1,"54":1}}],["complete",{"2":{"1":1}}],["com",{"2":{"2":1,"27":1,"29":1,"31":1,"51":4}}],["conflicts",{"2":{"50":1,"51":1}}],["confirmation",{"2":{"34":1}}],["configure",{"2":{"11":1}}],["configuring",{"2":{"11":1}}],["configurations",{"0":{"29":1}}],["configuration",{"0":{"34":1,"47":1},"2":{"3":1,"19":1,"29":1,"47":2}}],["config",{"2":{"2":3,"3":1,"29":1}}],["connect",{"2":{"47":1}}],["connects",{"2":{"44":1}}],["concerns",{"2":{"22":1}}],["convert",{"2":{"18":2}}],["conventions",{"0":{"4":1}}],["contrast",{"2":{"54":1}}],["contribute",{"0":{"12":1}}],["contact",{"0":{"17":1}}],["content",{"2":{"3":1,"27":1,"30":2}}],["consider",{"2":{"25":1,"27":1,"51":1}}],["consistent",{"2":{"4":1}}],["console",{"2":{"2":1}}],["constructs",{"2":{"31":1}}],["const",{"2":{"2":1}}],["covers",{"2":{"1":1}}],["drop",{"2":{"51":2}}],["drag",{"2":{"51":2}}],["draw",{"2":{"39":1,"53":2}}],["due",{"2":{"28":1,"36":1}}],["duckduckgo",{"2":{"7":1}}],["diff",{"2":{"54":2}}],["directly",{"2":{"51":1}}],["directory",{"2":{"18":1,"35":2}}],["disregards",{"2":{"31":1}}],["displaying",{"2":{"30":1}}],["display",{"0":{"30":1},"2":{"36":1}}],["discourse",{"2":{"27":1}}],["disclosure",{"2":{"13":1}}],["disabled",{"2":{"30":1}}],["disable",{"2":{"10":1}}],["database",{"2":{"47":1}}],["data",{"0":{"11":1,"15":1,"16":1,"22":1},"2":{"11":1,"13":3,"15":3,"16":1,"27":1}}],["dom",{"2":{"51":1}}],["domains",{"2":{"10":1}}],["done",{"2":{"49":1}}],["don",{"2":{"24":1}}],["do",{"2":{"14":1,"44":1,"53":1}}],["doesn",{"2":{"27":1}}],["does",{"0":{"22":1},"2":{"5":1,"15":1,"16":1,"18":1,"27":1,"44":1}}],["document",{"2":{"30":1}}],["documents",{"2":{"24":2}}],["documented",{"2":{"1":1}}],["documentation",{"2":{"0":2,"30":1}}],["developers",{"2":{"54":1}}],["developed",{"2":{"24":1,"54":1}}],["development",{"2":{"44":1}}],["develop",{"0":{"24":1}}],["device",{"2":{"15":2}}],["desc",{"2":{"34":1}}],["descending",{"2":{"34":2}}],["description",{"2":{"3":1,"34":1}}],["desktop",{"2":{"19":1,"27":1,"29":1,"47":1}}],["default",{"2":{"10":1,"14":1,"29":1,"34":3,"35":1,"36":1,"40":1,"51":1}}],["definitions",{"2":{"1":1}}],["deleteconfirm",{"2":{"34":1}}],["delete",{"2":{"4":1,"34":1,"35":2,"49":1}}],["io",{"2":{"39":1,"53":2}}],["image",{"2":{"35":2,"37":3}}],["images",{"0":{"28":1,"30":1,"32":1,"37":1},"2":{"3":1,"30":1,"37":1,"51":1}}],["important",{"2":{"53":1}}],["improve",{"2":{"13":1}}],["implements",{"2":{"53":1}}],["implemented",{"2":{"36":1,"39":1,"53":1}}],["implement",{"2":{"12":1}}],["i",{"0":{"9":1},"2":{"24":5,"51":1}}],["id",{"2":{"4":2,"18":1}}],["isn",{"2":{"26":1}}],["issuecomment",{"2":{"27":1}}],["issue",{"2":{"12":1,"17":1,"25":1,"27":3}}],["issues",{"0":{"5":1},"2":{"25":1,"27":1,"29":1,"30":1,"31":1,"36":1,"51":3}}],["is",{"0":{"25":1},"2":{"3":1,"4":5,"15":2,"21":1,"24":1,"27":2,"29":1,"31":1,"36":1,"40":3,"41":2,"47":2,"51":1,"53":3}}],["if",{"2":{"3":1,"5":1,"11":1,"12":1,"15":2,"17":1,"18":3,"22":1,"25":1,"27":5,"28":1,"47":2}}],["its",{"2":{"31":1,"44":1}}],["itself",{"2":{"15":1,"18":1,"54":1}}],["item",{"2":{"5":1}}],["it",{"0":{"22":1},"2":{"1":1,"5":1,"10":1,"11":4,"12":1,"16":1,"24":2,"25":1,"27":3,"29":1,"31":3,"44":1,"47":1,"49":1,"51":1,"53":1,"54":1}}],["insecure",{"2":{"30":1}}],["inspect",{"2":{"27":1}}],["install",{"0":{"46":1},"2":{"28":1,"32":1,"46":1}}],["installed",{"2":{"27":1,"47":1}}],["installing",{"2":{"11":1,"28":1}}],["instance",{"2":{"4":1,"24":1}}],["instead",{"2":{"5":1,"31":1}}],["including",{"2":{"44":1}}],["includes",{"2":{"26":1,"27":1}}],["include",{"2":{"7":1,"15":1}}],["incompatible",{"2":{"31":1}}],["incompatibility",{"0":{"31":1}}],["incorrectly",{"0":{"25":1}}],["information",{"2":{"13":1,"14":1,"15":4}}],["informs",{"2":{"13":1}}],["indicates",{"2":{"11":1}}],["into",{"0":{"32":1},"2":{"37":1,"51":1}}],["integrated",{"2":{"53":1}}],["integration",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"2":{"13":1,"15":1,"53":4}}],["internal",{"2":{"18":2,"44":1}}],["interacts",{"2":{"14":1}}],["interface",{"2":{"12":1,"18":1,"31":1}}],["introduction",{"0":{"1":1,"7":1}}],["involving",{"2":{"4":1}}],["in",{"0":{"10":1,"26":1},"2":{"1":1,"3":2,"4":3,"7":1,"9":1,"12":1,"13":1,"18":1,"19":1,"25":1,"26":1,"27":4,"28":1,"30":2,"31":1,"36":1,"42":1,"46":1,"49":2,"50":2,"53":2,"54":3}}],["tsv",{"2":{"54":1}}],["tsimport",{"2":{"2":1}}],["titles",{"2":{"34":1}}],["template",{"2":{"54":1}}],["temporarily",{"2":{"51":1}}],["text",{"2":{"27":1}}],["tests",{"2":{"2":1}}],["two",{"0":{"29":1},"2":{"26":1,"47":1,"50":1}}],["t",{"0":{"30":1},"2":{"18":1,"24":1,"26":1,"27":3}}],["true",{"2":{"34":1}}],["try",{"2":{"25":1}}],["track",{"2":{"14":1}}],["tree",{"2":{"2":1,"3":1}}],["typing",{"2":{"28":1,"50":1}}],["typically",{"2":{"10":1}}],["type",{"2":{"1":1,"27":1,"34":1}}],["typescript",{"2":{"1":1}}],["toggle",{"2":{"27":1}}],["tool",{"2":{"24":1,"53":2}}],["tools",{"2":{"9":1,"24":1}}],["to",{"0":{"25":1,"26":1,"27":1,"28":1,"29":1,"32":1},"2":{"11":2,"12":1,"13":2,"15":1,"16":1,"18":5,"19":1,"24":3,"26":1,"27":3,"28":3,"29":2,"31":2,"34":1,"36":3,"37":5,"38":4,"39":2,"40":1,"42":3,"44":5,"47":7,"48":1,"49":4,"50":2,"51":7,"53":3,"54":1}}],["token=",{"2":{"27":1}}],["token",{"0":{"9":1,"25":1},"2":{"2":1,"15":1,"29":3,"34":2,"47":3}}],["through",{"2":{"27":1}}],["throwing",{"2":{"5":1}}],["throw",{"2":{"5":1}}],["than",{"2":{"26":1}}],["that",{"2":{"11":1,"13":1,"15":1,"18":1,"24":1,"47":1,"51":2,"53":2}}],["though",{"2":{"26":1}}],["those",{"2":{"24":1}}],["thus",{"2":{"24":1}}],["this",{"0":{"11":1,"24":1},"2":{"11":1,"13":2,"14":1,"15":3,"16":1,"21":1,"24":1,"27":2,"28":1,"30":2,"44":1,"47":1,"48":1,"50":1,"53":1}}],["these",{"2":{"51":1,"53":1,"54":1}}],["then",{"2":{"48":1}}],["they",{"2":{"9":1,"18":1,"53":1}}],["them",{"0":{"9":1},"2":{"18":1,"51":1}}],["there",{"2":{"4":1,"18":3,"25":1,"26":1,"51":1}}],["the",{"0":{"27":1,"29":1},"2":{"1":1,"3":4,"4":8,"5":1,"7":2,"10":1,"11":2,"12":4,"13":5,"14":2,"15":3,"19":3,"21":1,"22":2,"24":1,"25":1,"26":8,"27":8,"29":3,"30":5,"31":1,"34":3,"35":2,"36":5,"37":3,"38":1,"39":1,"40":3,"41":1,"42":4,"44":5,"46":1,"47":4,"48":3,"49":4,"50":1,"51":6,"53":1,"54":3}}],["tabs",{"2":{"54":1}}],["table",{"0":{"34":1},"2":{"4":1,"54":2}}],["taking",{"2":{"24":2,"53":1}}],["take",{"2":{"11":1}}],["tagsbyid",{"2":{"4":1}}],["tags",{"0":{"40":1,"41":1},"2":{"3":1,"35":1,"40":1,"41":1,"44":2}}],["tag",{"2":{"3":1,"4":1,"40":1,"41":1}}],["tagapi",{"2":{"3":1}}],["jump",{"2":{"36":1}}],["just",{"2":{"10":1,"24":1,"26":1,"29":1}}],["json",{"2":{"12":1,"27":1,"29":1}}],["javascript",{"2":{"1":1}}],["joplinapp",{"2":{"27":1}}],["joplinapi",{"2":{"3":1}}],["joplinclipperserver",{"2":{"25":1}}],["joplin",{"0":{"0":1,"6":1,"18":1,"25":2,"26":1,"46":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"19":1,"20":1,"21":1,"22":1},"2":{"0":1,"1":1,"2":3,"3":3,"7":1,"13":1,"15":2,"18":1,"19":1,"22":1,"24":2,"25":1,"26":1,"27":5,"29":3,"30":1,"31":1,"34":3,"37":1,"38":1,"40":1,"41":1,"44":4,"45":2,"46":2,"47":7,"48":1,"49":1,"50":1,"51":1,"53":1,"54":3}}],["audio",{"2":{"51":1}}],["automatically",{"2":{"51":1}}],["authorization",{"2":{"47":2}}],["avoid",{"2":{"50":1}}],["available",{"2":{"15":1,"53":1}}],["advanced",{"2":{"47":1}}],["address",{"2":{"51":1}}],["adding",{"0":{"38":1},"2":{"44":1}}],["additionally",{"2":{"26":1}}],["added",{"2":{"37":1,"38":2}}],["add",{"2":{"12":2,"35":1,"38":2,"39":1}}],["aims",{"2":{"44":1}}],["ability",{"2":{"38":1}}],["abnormal",{"2":{"21":1}}],["aforementioned",{"2":{"27":1}}],["after",{"2":{"11":1,"24":1}}],["arise",{"2":{"27":1}}],["are",{"0":{"9":1},"2":{"4":1,"18":3,"25":1,"47":2,"51":3,"53":1,"54":1}}],["agree",{"2":{"13":1}}],["activates",{"2":{"48":1}}],["actions",{"2":{"44":1}}],["actionentity",{"2":{"4":1}}],["action",{"2":{"3":2,"27":3}}],["achieving",{"2":{"26":1}}],["accordance",{"2":{"13":1}}],["accessed",{"2":{"15":1}}],["access",{"0":{"25":1},"2":{"11":1,"47":1,"51":1}}],["application",{"2":{"27":1}}],["applied",{"2":{"27":1}}],["appears",{"2":{"11":1}}],["appear",{"2":{"7":1}}],["apis",{"2":{"1":1,"4":2,"27":2}}],["api",{"0":{"0":1,"3":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1},"2":{"0":1,"1":1,"2":3,"3":11,"4":2,"29":1,"31":1,"34":1,"44":1,"47":1,"51":1}}],["alternatives",{"0":{"54":1},"2":{"54":1}}],["although",{"2":{"51":1}}],["alphabetical",{"2":{"34":3}}],["already",{"2":{"24":1,"53":1}}],["also",{"2":{"7":1,"24":1}}],["allowing",{"2":{"37":1,"38":1,"44":1}}],["allow",{"2":{"11":1,"30":1}}],["all",{"2":{"1":1,"14":1,"31":1,"48":1,"49":2,"53":1,"54":1}}],["another",{"2":{"42":1}}],["any",{"2":{"15":2,"16":2,"17":1,"18":1}}],["an",{"2":{"3":2,"5":3,"12":1,"17":1,"18":1,"24":1,"25":1,"27":1,"37":1,"38":1,"54":1}}],["and",{"0":{"9":1,"50":1},"2":{"1":1,"11":2,"12":1,"13":4,"18":1,"24":3,"31":1,"32":1,"37":1,"39":1,"40":1,"44":2,"46":1,"47":2,"48":1,"49":4,"51":5,"53":1,"54":2}}],["assigning",{"2":{"51":1}}],["assumes",{"2":{"50":1}}],["associated",{"2":{"13":1}}],["ascending",{"2":{"34":2}}],["asc",{"2":{"34":2}}],["asked",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1}}],["as",{"2":{"3":11,"4":1,"15":1,"24":1,"27":2,"38":2,"51":1}}],["attention",{"2":{"47":1}}],["attachment",{"2":{"18":2,"35":2,"36":2,"38":2,"39":1}}],["attachments",{"0":{"36":1,"38":1,"39":1},"2":{"3":1,"18":2,"21":1,"35":1,"38":1,"44":1}}],["at",{"2":{"2":1,"14":1,"29":1}}],["await",{"2":{"2":1}}],["a",{"0":{"21":1},"2":{"1":1,"12":2,"18":2,"24":5,"26":1,"27":1,"29":1,"30":1,"38":1,"39":1,"47":1,"49":3,"50":2,"51":2,"53":2,"54":3}}]],"serializationVersion":2}`;export{e as default}; diff --git a/assets/chunks/@localSearchIndexzh-CN.BoIEo7Jl.js b/assets/chunks/@localSearchIndexzh-CN.BoIEo7Jl.js new file mode 100644 index 00000000..a8616e43 --- /dev/null +++ b/assets/chunks/@localSearchIndexzh-CN.BoIEo7Jl.js @@ -0,0 +1 @@ +const t='{"documentCount":58,"nextId":58,"documentIds":{"0":"/zh-CN/joplin-api/#joplin-api","1":"/zh-CN/joplin-api/#简介","2":"/zh-CN/joplin-api/#快速启动","3":"/zh-CN/joplin-api/#api-参考","4":"/zh-CN/joplin-api/#约定俗称","5":"/zh-CN/joplin-api/#一些问题","6":"/zh-CN/joplin-batch-web/#joplin-batch-web","7":"/zh-CN/joplin-batch-web/#开始","8":"/zh-CN/joplin-batch-web/#faq","9":"/zh-CN/joplin-batch-web/#为什么不使用-cli-的形式","10":"/zh-CN/joplin-batch-web/#它会记录我的笔记数据么","11":"/zh-CN/joplin-publisher/#joplin-publisher","12":"/zh-CN/joplin-publisher/#简介","13":"/zh-CN/joplin-publisher/#使用","14":"/zh-CN/joplin-search-integration/#joplin-search-integration","15":"/zh-CN/joplin-search-integration/#简介","16":"/zh-CN/joplin-search-integration/#常见问题","17":"/zh-CN/joplin-search-integration/#token-port-指的是什么-在哪儿可以找到","18":"/zh-CN/joplin-search-integration/#在-brave-浏览器中没有搜索结果","19":"/zh-CN/joplin-search-integration/#不能在这个网站上读取或修改数据","20":"/zh-CN/joplin-search-integration/#贡献","21":"/zh-CN/joplin-search-integration/privacy.html#隐私政策","22":"/zh-CN/joplin-search-integration/privacy.html#概括","23":"/zh-CN/joplin-search-integration/privacy.html#数据存储","24":"/zh-CN/joplin-search-integration/privacy.html#数据采集","25":"/zh-CN/joplin-search-integration/privacy.html#接触","26":"/zh-CN/joplin-vscode-plugin/faq.html#常问问题","27":"/zh-CN/joplin-vscode-plugin/faq.html#为什么要开发这个插件","28":"/zh-CN/joplin-vscode-plugin/faq.html#显示错误信息-joplin-s-token-port-is-set-incorrectly-unable-to-access-joplin-service","29":"/zh-CN/joplin-vscode-plugin/faq.html#如何列出-vscode-打开的-joplin-笔记","30":"/zh-CN/joplin-vscode-plugin/faq.html#在侧边栏中点击无法打开笔记","31":"/zh-CN/joplin-vscode-plugin/faq.html#windows-10-无法上传剪切版图片","32":"/zh-CN/joplin-vscode-plugin/faq.html#如何在两个配置同步的-vscode-使用插件","33":"/zh-CN/joplin-vscode-plugin/faq.html#markdown-预览无法显示图片","34":"/zh-CN/joplin-vscode-plugin/faq.html#不兼容插件-markdown-preview-enhanced","35":"/zh-CN/joplin-vscode-plugin/faq.html#linux-上无法粘贴图片到笔记中","36":"/zh-CN/joplin-vscode-plugin/feature.html#其他功能","37":"/zh-CN/joplin-vscode-plugin/feature.html#配置表","38":"/zh-CN/joplin-vscode-plugin/feature.html#快捷键","39":"/zh-CN/joplin-vscode-plugin/feature.html#编辑附件","40":"/zh-CN/joplin-vscode-plugin/feature.html#粘贴图片","41":"/zh-CN/joplin-vscode-plugin/feature.html#添加附件","42":"/zh-CN/joplin-vscode-plugin/feature.html#创建附件","43":"/zh-CN/joplin-vscode-plugin/feature.html#管理标签","44":"/zh-CN/joplin-vscode-plugin/feature.html#创建标签","45":"/zh-CN/joplin-vscode-plugin/feature.html#链接笔记","46":"/zh-CN/joplin-vscode-plugin/#快速启动","47":"/zh-CN/joplin-vscode-plugin/#概述","48":"/zh-CN/joplin-vscode-plugin/#要求","49":"/zh-CN/joplin-vscode-plugin/#安装-joplin-vscode-插件","50":"/zh-CN/joplin-vscode-plugin/#配置","51":"/zh-CN/joplin-vscode-plugin/#开始使用","52":"/zh-CN/joplin-vscode-plugin/#功能","53":"/zh-CN/joplin-vscode-plugin/#命令和快捷键","54":"/zh-CN/joplin-vscode-plugin/limitations.html#限制","55":"/zh-CN/joplin-vscode-plugin/recommended.html#推荐扩展","56":"/zh-CN/joplin-vscode-plugin/recommended.html#插件","57":"/zh-CN/joplin-vscode-plugin/recommended.html#替代品"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,5],"1":[1,2,11],"2":[1,2,32],"3":[2,2,46],"4":[1,2,42],"5":[1,2,6],"6":[3,1,19],"7":[1,3,9],"8":[1,3,1],"9":[3,4,5],"10":[1,4,8],"11":[2,1,1],"12":[1,2,8],"13":[1,2,48],"14":[3,1,1],"15":[1,3,10],"16":[1,3,1],"17":[5,4,7],"18":[3,4,7],"19":[1,4,7],"20":[1,3,17],"21":[1,1,10],"22":[1,1,5],"23":[1,1,25],"24":[1,1,2],"25":[1,1,3],"26":[1,1,1],"27":[1,1,33],"28":[13,1,19],"29":[5,1,16],"30":[1,1,71],"31":[3,1,16],"32":[3,1,25],"33":[2,1,25],"34":[4,1,30],"35":[2,1,6],"36":[1,1,1],"37":[1,1,37],"38":[1,1,23],"39":[1,1,13],"40":[1,1,15],"41":[1,1,10],"42":[1,1,13],"43":[1,1,15],"44":[1,1,11],"45":[1,1,7],"46":[1,1,1],"47":[1,1,33],"48":[1,1,13],"49":[4,1,9],"50":[1,1,41],"51":[1,1,12],"52":[1,1,16],"53":[1,1,12],"54":[1,1,41],"55":[1,1,1],"56":[1,1,47],"57":[1,1,56]},"averageFieldLength":[1.7413793103448276,1.5517241379310347,17.32758620689655],"storedFields":{"0":{"title":"Joplin API","titles":[]},"1":{"title":"简介","titles":["Joplin API"]},"2":{"title":"快速启动","titles":["Joplin API"]},"3":{"title":"API 参考","titles":["Joplin API"]},"4":{"title":"约定俗称","titles":["Joplin API"]},"5":{"title":"一些问题","titles":["Joplin API"]},"6":{"title":"Joplin Batch Web","titles":[]},"7":{"title":"开始","titles":["Joplin Batch Web"]},"8":{"title":"FAQ","titles":["Joplin Batch Web"]},"9":{"title":"为什么不使用 cli 的形式","titles":["Joplin Batch Web","FAQ"]},"10":{"title":"它会记录我的笔记数据么","titles":["Joplin Batch Web","FAQ"]},"11":{"title":"Joplin Publisher","titles":[]},"12":{"title":"简介","titles":["Joplin Publisher"]},"13":{"title":"使用","titles":["Joplin Publisher"]},"14":{"title":"Joplin Search Integration","titles":[]},"15":{"title":"简介","titles":["Joplin Search Integration"]},"16":{"title":"常见问题","titles":["Joplin Search Integration"]},"17":{"title":"token/port 指的是什么,在哪儿可以找到?","titles":["Joplin Search Integration","常见问题"]},"18":{"title":"在 Brave 浏览器中没有搜索结果","titles":["Joplin Search Integration","常见问题"]},"19":{"title":"不能在这个网站上读取或修改数据","titles":["Joplin Search Integration","常见问题"]},"20":{"title":"贡献","titles":["Joplin Search Integration"]},"21":{"title":"隐私政策","titles":[]},"22":{"title":"概括","titles":["隐私政策"]},"23":{"title":"数据存储","titles":["隐私政策"]},"24":{"title":"数据采集","titles":["隐私政策"]},"25":{"title":"接触","titles":["隐私政策"]},"26":{"title":"常问问题","titles":[]},"27":{"title":"为什么要开发这个插件","titles":["常问问题"]},"28":{"title":"显示错误信息 Joplin’s token/port is set incorrectly, unable to access Joplin service!","titles":["常问问题"]},"29":{"title":"如何列出 VSCode 打开的 joplin 笔记","titles":["常问问题"]},"30":{"title":"在侧边栏中点击无法打开笔记","titles":["常问问题"]},"31":{"title":"Windows 10 无法上传剪切版图片","titles":["常问问题"]},"32":{"title":"如何在两个配置同步的 vscode 使用插件","titles":["常问问题"]},"33":{"title":"markdown 预览无法显示图片","titles":["常问问题"]},"34":{"title":"不兼容插件 Markdown Preview Enhanced","titles":["常问问题"]},"35":{"title":"Linux 上无法粘贴图片到笔记中","titles":["常问问题"]},"36":{"title":"其他功能","titles":[]},"37":{"title":"配置表","titles":["其他功能"]},"38":{"title":"快捷键","titles":["其他功能"]},"39":{"title":"编辑附件","titles":["其他功能"]},"40":{"title":"粘贴图片","titles":["其他功能"]},"41":{"title":"添加附件","titles":["其他功能"]},"42":{"title":"创建附件","titles":["其他功能"]},"43":{"title":"管理标签","titles":["其他功能"]},"44":{"title":"创建标签","titles":["其他功能"]},"45":{"title":"链接笔记","titles":["其他功能"]},"46":{"title":"快速启动","titles":[]},"47":{"title":"概述","titles":["快速启动"]},"48":{"title":"要求","titles":["快速启动"]},"49":{"title":"安装 Joplin VSCode 插件","titles":["快速启动"]},"50":{"title":"配置","titles":["快速启动"]},"51":{"title":"开始使用","titles":["快速启动"]},"52":{"title":"功能","titles":["快速启动"]},"53":{"title":"命令和快捷键","titles":["快速启动"]},"54":{"title":"限制","titles":[]},"55":{"title":"推荐扩展","titles":[]},"56":{"title":"插件","titles":["推荐扩展"]},"57":{"title":"替代品","titles":["推荐扩展"]}},"dirtCount":0,"index":[["模式",{"2":{"57":1}}],["模板功能",{"2":{"57":1}}],["表格格式化",{"2":{"57":1}}],["特殊粘贴",{"2":{"57":1}}],["下面列出了一些",{"2":{"57":1}}],["本身就有一个极其庞大的插件系统",{"2":{"57":1}}],["本身不支持的批量操作",{"2":{"6":1}}],["然而",{"2":{"57":1}}],["然后庆祝",{"2":{"51":1}}],["各种插件",{"2":{"57":1}}],["也有许多开发者在为它编写",{"2":{"57":1}}],["也正是由于这些限制的存在",{"2":{"54":1}}],["替代品",{"0":{"57":1}}],["才实现的拼写检查功能已经存在现有的",{"2":{"56":1}}],["最近开发了插件系统",{"2":{"57":1}}],["最近",{"2":{"56":1}}],["没什么关系",{"2":{"56":1}}],["没有后端服务器",{"2":{"10":1}}],["单词拼写检查",{"2":{"56":1}}],["白板集成",{"2":{"56":1}}],["思维导图集成",{"2":{"56":1}}],["流程图集成",{"2":{"56":1}}],["对比",{"2":{"57":1}}],["对",{"2":{"56":1}}],["对象",{"2":{"3":1}}],["多语言格式化工具",{"2":{"56":1}}],["语言支持",{"2":{"56":1}}],["先简单列出吾辈与笔记相关的插件列表",{"2":{"56":1}}],["推荐扩展",{"0":{"55":1},"1":{"56":1,"57":1}}],["推荐使用",{"2":{"34":1}}],["需要考虑与现有快捷键的冲突",{"2":{"54":1}}],["需要注意两个设置",{"2":{"50":1}}],["5240",{"2":{"54":1}}],["5921",{"2":{"30":1}}],["拖放到编辑器中并自动创建引用",{"2":{"54":1}}],["无法自定义插件的",{"2":{"54":1}}],["无法预览显示音视频",{"2":{"54":1}}],["无法将文件",{"2":{"54":1}}],["无法拖放笔记",{"2":{"54":1}}],["无法上传剪切版图片",{"0":{"31":1}}],["虽然目前插件已经实现了",{"2":{"54":1}}],["虽然没有正式的支持",{"2":{"29":1}}],["限制",{"0":{"54":1}}],["找出这里没有告诉你的功能",{"2":{"53":1}}],["找到",{"2":{"49":1}}],["探索在命令调色板中输入",{"2":{"53":1}}],["有很多快捷键",{"2":{"53":1}}],["有时候安装完插件并且配置好后没有效果",{"2":{"19":1}}],["🦸♀️",{"2":{"52":1}}],["保存它以将修改推送回",{"2":{"52":1}}],["展开笔记本可以看到下面的子笔记本和笔记",{"2":{"52":1}}],["您的所有笔记和记事本都可以在侧边栏中找到",{"2":{"52":1}}],["您只需要修改其中的",{"2":{"32":1}}],["🎉",{"2":{"51":1}}],["输入快捷键",{"2":{"51":1}}],["输入命令",{"2":{"33":1}}],["桌面客户端",{"2":{"50":1}}],["桌面版",{"2":{"7":1,"30":1}}],["基本路径",{"2":{"50":1}}],["基础路径",{"2":{"37":1}}],["基础",{"2":{"3":1}}],["令牌",{"2":{"50":1}}],["拷贝",{"2":{"50":1}}],["高级选项",{"2":{"50":1}}],["授权令牌",{"2":{"50":1}}],["关于",{"2":{"50":1}}],["必须启用",{"2":{"50":1}}],["必须运行",{"2":{"50":1}}],["要启动并运行",{"2":{"50":1}}],["要访问",{"2":{"50":1}}],["要求",{"0":{"48":1}}],["市场中搜索",{"2":{"49":1}}],["插件了",{"2":{"56":1}}],["插件",{"0":{"49":1,"56":1}}],["插件时",{"2":{"33":1}}],["安装",{"0":{"49":1}}],["安装插件",{"2":{"13":1}}],["启用",{"2":{"48":1}}],["启用网页剪辑器",{"2":{"7":1}}],["66",{"2":{"48":1}}],["版本",{"2":{"48":2,"56":1}}],["列出了现有的功能",{"2":{"47":1}}],["列表",{"2":{"4":1}}],["功能",{"0":{"52":1},"2":{"47":1}}],["功能打开",{"2":{"30":1}}],["了解开发它的原因",{"2":{"47":1}}],["阅读",{"2":{"47":1}}],["端点",{"2":{"47":1,"50":1}}],["连接到相同的",{"2":{"47":1}}],["标签等",{"2":{"47":1}}],["标签相关",{"2":{"3":1}}],["共享笔记",{"2":{"47":1}}],["与浏览器扩展进行通信",{"2":{"47":1}}],["旨在通过",{"2":{"47":1}}],["内部链接",{"2":{"47":1}}],["管理笔记的标签",{"2":{"47":1}}],["管理标签",{"0":{"43":1},"2":{"38":1}}],["包括常见的查看",{"2":{"47":1}}],["包含目前所有在文档中公开的",{"2":{"1":1}}],["概述",{"0":{"47":1}}],["概括",{"0":{"22":1}}],["复制链接",{"2":{"45":1}}],["由",{"2":{"42":1}}],["由百度脑图提供支持",{"2":{"42":1}}],["由于在",{"2":{"39":1}}],["由于",{"2":{"34":1}}],["主要用于快速创建并添加一个思维导图",{"2":{"42":1}}],["32540",{"2":{"54":1}}],["32592",{"2":{"54":1}}],["3",{"2":{"42":1,"43":1,"44":1}}],["粘贴剪切板的图片",{"2":{"40":1}}],["粘贴图片",{"0":{"40":1}}],["命令和快捷键",{"0":{"53":1}}],["命令",{"2":{"51":1}}],["命令是",{"2":{"43":1,"44":1}}],["命令或快捷键将图片上传到",{"2":{"40":1}}],["命名空间下暂时解决",{"2":{"54":1}}],["命名则一般是",{"2":{"4":1}}],["命名",{"2":{"4":1}}],["用以快速编辑指定附件资源",{"2":{"39":1}}],["之后支持创建标签",{"2":{"44":1}}],["之后支持管理标签",{"2":{"43":1}}],["之后实现了右键创建附件资源的功能",{"2":{"42":1}}],["之后实现了显示当前笔记附件列表的功能",{"2":{"39":1}}],["之后新增了添加附件的功能",{"2":{"41":1}}],["之后新增了图片粘贴功能",{"2":{"40":1}}],["之所以没有正式支持",{"2":{"29":1}}],["8",{"2":{"39":1,"48":1}}],["7",{"2":{"39":1,"40":1}}],["显示所有的笔记本",{"2":{"51":1}}],["显示当前笔记的附件资源",{"2":{"38":1}}],["显示错误信息",{"0":{"28":1}}],["条笔记",{"2":{"38":1}}],["从",{"2":{"50":1}}],["从文件选择器添加附件",{"2":{"38":1}}],["从文件选择器上传图片",{"2":{"38":1}}],["从剪切板上传图片",{"2":{"38":1}}],["重命名笔记或目录",{"2":{"38":1}}],["降序",{"2":{"37":1}}],["升序",{"2":{"37":1}}],["升序或降序",{"2":{"37":1}}],["按照标题的字母顺序排序",{"2":{"37":1}}],["服务",{"2":{"50":1}}],["服务的",{"2":{"37":1}}],["服务是否打开",{"2":{"3":1}}],["说明",{"2":{"37":1}}],["默认的快捷键设置比较麻烦",{"2":{"54":1}}],["默认的排序",{"2":{"37":1}}],["默认快捷键为",{"2":{"39":1,"43":1}}],["默认显示最近修改的",{"2":{"38":1}}],["默认值",{"2":{"37":1}}],["默认情况下",{"2":{"22":1,"32":1}}],["字段",{"2":{"37":1}}],["其他功能",{"0":{"36":1},"1":{"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1}}],["上无法粘贴图片到笔记中",{"0":{"35":1}}],["上安装",{"2":{"31":1}}],["所以吾辈才没有使用直接基于",{"2":{"54":1}}],["所以现在无法兼容",{"2":{"34":1}}],["所以在",{"2":{"18":1,"39":1}}],["页面",{"2":{"34":1}}],["页面填写配置",{"2":{"7":1}}],["文件渲染的",{"2":{"34":1}}],["文档",{"2":{"0":1,"33":1}}],["自行构建了",{"2":{"34":1}}],["预览中查看图片的问题",{"2":{"33":1}}],["预览无法显示图片",{"0":{"33":1}}],["你可能注意到其中部分插件和",{"2":{"56":1}}],["你可以随心所欲地创建",{"2":{"52":1}}],["你也许会遇到无法在",{"2":{"33":1}}],["你需要设置一个编辑器",{"2":{"30":1}}],["当你第一次使用",{"2":{"33":1}}],["即可弹出复选框",{"2":{"43":1}}],["即可",{"2":{"32":1}}],["即使您的浏览器重新启动",{"2":{"23":1}}],["为了避免与内置的快捷键冲突",{"2":{"53":1}}],["为相同的",{"2":{"32":1}}],["为什么会有这个插件",{"2":{"47":1}}],["为什么要开发这个插件",{"0":{"27":1}}],["为什么不使用",{"0":{"9":1}}],["~",{"2":{"32":1}}],["会生成随机的",{"2":{"32":1}}],["会默认阻止其他域的资源",{"2":{"18":1}}],["每台电脑上的",{"2":{"32":1}}],["wysiwyg",{"2":{"57":1}}],["wl",{"2":{"35":1}}],["windows",{"0":{"31":1},"2":{"31":1}}],["webview",{"2":{"34":1}}],["web",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"3":2,"10":1,"37":1,"47":2,"48":1,"50":4}}],["outline",{"2":{"57":1}}],["overview",{"2":{"54":1}}],["one",{"2":{"34":1,"56":1,"57":1}}],["openandwatch",{"2":{"30":1}}],["org",{"2":{"30":1}}],["has",{"2":{"33":1}}],["header",{"2":{"30":1}}],["https",{"2":{"2":1,"30":2,"32":1,"34":1,"54":4}}],["http",{"2":{"2":1,"28":1,"30":1,"37":1,"50":1}}],["该插件假定了一个快捷键前缀",{"2":{"53":1}}],["该插件并不支持",{"2":{"30":1}}],["该扩展仅与支持的搜索引擎网站交互",{"2":{"22":1}}],["确定是在当前电脑上安装",{"2":{"30":1}}],["因为它并不包含上述的",{"2":{"30":1}}],["因为它包含了必须的",{"2":{"30":1}}],["因此",{"2":{"27":1}}],["因此它已经实现了",{"2":{"27":1}}],["46",{"2":{"34":1}}],["4",{"2":{"30":1,"56":1}}],["41184",{"2":{"28":1,"30":1,"37":1,"50":1}}],["vim",{"2":{"57":2}}],["visualstudio",{"2":{"54":1}}],["view",{"2":{"51":1,"57":1}}],["v2",{"2":{"48":1}}],["v0",{"2":{"39":1,"40":1,"41":1,"42":1,"43":1,"44":1}}],["v1",{"2":{"30":1,"48":1,"56":1}}],["vscode",{"0":{"29":1,"32":1,"49":1},"2":{"27":5,"29":1,"30":2,"33":2,"34":1,"39":1,"40":1,"47":3,"48":1,"49":2,"52":1,"53":1,"54":4,"56":2,"57":3}}],["则无法享受大部分插件带来的功能",{"2":{"57":1}}],["则不需要特殊配置",{"2":{"50":1}}],["则需要进行配置",{"2":{"50":1}}],["则需要安装",{"2":{"31":1}}],["则需要检查设置页面中的文本编辑器命令",{"2":{"30":1}}],["则此信息可能会由您的浏览器发送到该服务",{"2":{"23":1}}],["切换外部编辑",{"2":{"30":1}}],["中不间断的完成",{"2":{"52":1}}],["中管理",{"2":{"47":1}}],["中",{"2":{"40":1}}],["中输入",{"2":{"31":1}}],["中根据",{"2":{"30":1}}],["中通过",{"2":{"30":1}}],["中看到",{"2":{"17":1}}],["这个快捷键组合激活了",{"2":{"51":1}}],["这个问题可以很简单的解决",{"2":{"33":1}}],["这个问题可能有多个原因",{"2":{"30":1}}],["这意味着",{"2":{"50":1}}],["这时候需要手动配置为允许",{"2":{"19":1}}],["另外",{"2":{"29":1}}],["个",{"2":{"29":1}}],["2",{"2":{"48":1}}],["25",{"2":{"32":1}}],["257f6a9dacc1409580ee526d50ac4d49",{"2":{"30":1}}],["20",{"2":{"29":1,"38":1}}],["27583",{"2":{"2":1}}],["来列出最后修改的",{"2":{"29":1}}],["来自动化构建部署",{"2":{"12":1}}],["官方项目",{"2":{"30":1}}],["官方提",{"2":{"28":1}}],["官方文档",{"2":{"0":1}}],["否则你需要向",{"2":{"28":1}}],["它们都实现了某项特定功能且可以组合",{"2":{"56":1}}],["它能做什么",{"2":{"47":1}}],["它应该返回",{"2":{"28":1}}],["它会记录我的笔记数据么",{"0":{"10":1}}],["执行以下命令",{"2":{"28":1}}],["请参考",{"2":{"50":1}}],["请先安装",{"2":{"35":1}}],["请使用版本",{"2":{"30":1}}],["请去",{"2":{"30":1}}],["请尝试在",{"2":{"28":1}}],["请打开一个问题",{"2":{"25":1}}],["吾辈为有相同需求的人编写了此插件",{"2":{"27":1}}],["吾辈一直在使用",{"2":{"27":1}}],["我的动机",{"2":{"47":1}}],["我发现我需要编辑",{"2":{"27":1}}],["我们需要连接到",{"2":{"50":1}}],["我们无需在笔记工具中重新创建编辑器的轮子",{"2":{"27":1}}],["我们将一些数据永久存储在您的本地设备上",{"2":{"23":1}}],["我们绝不会在您的浏览器之外发送信息或扩展设置",{"2":{"22":1}}],["我们根本不跟踪扩展程序的使用情况",{"2":{"22":1}}],["我们使用您的数据来提供和改进服务",{"2":{"21":1}}],["但它们对于编辑而言仍然是重要的",{"2":{"56":1}}],["但更加好用",{"2":{"56":1}}],["但却是存在一些难以处理的限制",{"2":{"54":1}}],["但您可以手动修改它",{"2":{"32":1}}],["但你可以使用快捷键",{"2":{"29":1}}],["但过了一会儿",{"2":{"27":1}}],["但是",{"2":{"23":1}}],["还用于存储个人笔记",{"2":{"27":1}}],["同时",{"2":{"27":1}}],["同一个功能含义保持统一的命名",{"2":{"4":1}}],["并点击安装",{"2":{"49":1}}],["并粘贴链接到",{"2":{"40":1}}],["并使用",{"2":{"27":1}}],["并通过",{"2":{"12":1}}],["编辑器布局",{"2":{"57":1}}],["编辑器中的持久折叠",{"2":{"57":1}}],["编辑器中实现的点击跳转功能经常存在问题",{"2":{"39":1}}],["编辑",{"2":{"57":1}}],["编辑和删除",{"2":{"52":1}}],["编辑笔记",{"2":{"47":1}}],["编辑附件",{"0":{"39":1}}],["编辑降价文档",{"2":{"27":1}}],["编写",{"2":{"1":1}}],["可选值",{"2":{"37":1}}],["可能是没有安装",{"2":{"31":1}}],["可能是方轮子",{"2":{"27":1}}],["可能要询问",{"2":{"30":1}}],["可能就是因为两者的功能重叠",{"2":{"29":1}}],["可以在不离开编辑器的情况下查看和修改笔记",{"2":{"47":1}}],["可以通过命令或快捷键将文件作为附件资源添加到",{"2":{"41":1}}],["可以通过右键菜单",{"2":{"40":1}}],["可以提出",{"2":{"20":1}}],["可以检查源代码",{"2":{"10":1}}],["导出",{"2":{"56":1}}],["导出和其他所有功能",{"2":{"27":1}}],["导航到相关功能页面",{"2":{"7":1}}],["校验",{"2":{"27":1}}],["格式化",{"2":{"27":1}}],["而使用",{"2":{"57":1}}],["而且不在乎",{"2":{"34":1}}],["而且具有非常大的插件生态系统",{"2":{"27":1}}],["而是包括已经关闭的",{"2":{"29":1}}],["而非抛出异常",{"2":{"5":1}}],["不兼容插件",{"0":{"34":1}}],["不仅是一个编辑器",{"2":{"27":1}}],["不能在这个网站上读取或修改数据",{"0":{"19":1}}],["快捷键",{"0":{"38":1}}],["快捷键支持",{"2":{"27":1}}],["快速启动",{"0":{"2":1,"46":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1}}],["作为专业的编辑器",{"2":{"27":1}}],["作为模版创建一个新的仓库",{"2":{"13":1}}],["常问问题",{"0":{"26":1},"1":{"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1}}],["常见问题",{"0":{"16":1},"1":{"17":1,"18":1,"19":1}}],["接触",{"0":{"25":1}}],["接口",{"2":{"20":1}}],["数据库",{"2":{"50":1}}],["数据采集",{"0":{"24":1}}],["数据存储",{"0":{"23":1}}],["或流程图",{"2":{"42":1}}],["或更高",{"2":{"30":1}}],["或任何其他兼容的浏览器数据同步功能",{"2":{"23":1}}],["或者有无效的设置",{"2":{"30":1}}],["或者",{"2":{"20":1}}],["editor",{"2":{"57":1}}],["edge",{"2":{"23":1}}],["excalidraw",{"2":{"56":1}}],["extension",{"2":{"54":1}}],["externaleditwatcher",{"2":{"30":1}}],["enhanced",{"0":{"34":1},"2":{"34":1}}],["enoent",{"2":{"31":1}}],["eventapi",{"2":{"3":1}}],["如何在两个配置同步的",{"0":{"32":1}}],["如何列出",{"0":{"29":1}}],["如",{"2":{"23":1}}],["如果使用远端的",{"2":{"50":1}}],["如果提示",{"2":{"31":1}}],["如果仍然无法在编辑器中打开",{"2":{"30":1}}],["如果仍然有问题",{"2":{"30":1}}],["如果不能打开",{"2":{"30":1}}],["如果不存在应该返回",{"2":{"5":1}}],["如果没有问题",{"2":{"28":1}}],["如果您有任何问题",{"2":{"25":1}}],["如果您启用",{"2":{"23":1}}],["如果你使用本地安装的",{"2":{"50":1}}],["如果你希望添加新的搜索引擎支持",{"2":{"20":1}}],["如果你还没有的话",{"2":{"13":1}}],["如果你仍然担忧",{"2":{"10":1}}],["存储与公司相关的文档",{"2":{"27":1}}],["存储的信息可能包括",{"2":{"23":1}}],["存在一些特殊情况",{"2":{"4":1}}],["扩展接口",{"2":{"34":1}}],["扩展本身不会将任何此类信息发送到您的设备之外",{"2":{"23":1}}],["扩展设置",{"2":{"23":1}}],["扩展程序访问",{"2":{"23":1}}],["扩展时收集",{"2":{"21":1}}],["此为",{"2":{"56":1}}],["此扩展程序不会收集任何数据或将其发送到任何远程服务器",{"2":{"24":1}}],["此数据只能通过浏览器上的",{"2":{"23":1}}],["此信息仍然可用",{"2":{"23":1}}],["此页面告知您我们在使用",{"2":{"21":1}}],["隐私政策",{"0":{"21":1},"1":{"22":1,"23":1,"24":1,"25":1}}],["实际上",{"2":{"27":1}}],["实际上是",{"2":{"18":1}}],["实现",{"2":{"20":1}}],["添加",{"2":{"47":1}}],["添加附件",{"0":{"41":1}}],["添加匹配的搜索引擎的",{"2":{"20":1}}],["添加标签",{"2":{"13":1}}],["非常简单",{"2":{"20":1}}],["后修改提",{"2":{"20":1}}],["贡献",{"0":{"20":1}}],["提示",{"2":{"53":1}}],["提示无法在这个网站上读取或修改数据",{"2":{"19":1}}],["提供在",{"2":{"47":1}}],["提供支持",{"2":{"42":1}}],["提供的",{"2":{"34":1}}],["提供完整的类型定义",{"2":{"1":1}}],["提出",{"2":{"30":1}}],["查看插件显示为灰色的",{"2":{"19":1}}],["查看你发布的笔记了",{"2":{"13":1}}],["搜索等功能",{"2":{"47":1}}],["搜索笔记",{"2":{"38":1}}],["搜索功能",{"2":{"27":1}}],["搜索网站关闭它即可",{"2":{"18":1}}],["搜索相关",{"2":{"3":1}}],["浏览器中没有搜索结果",{"0":{"18":1}}],["网页剪辑",{"2":{"50":1}}],["网页剪辑器",{"2":{"17":1}}],["网站是全本地工作的",{"2":{"10":1}}],["选项",{"2":{"17":1}}],["选择要添加为附件的文件",{"2":{"41":1}}],["选择一个笔记",{"2":{"13":1}}],["选择",{"2":{"13":1}}],["工具",{"2":{"17":1,"56":1}}],["指的是什么",{"0":{"17":1}}],["mindmap",{"2":{"56":1}}],["microsoft",{"2":{"54":3}}],["math",{"2":{"57":1}}],["manage",{"2":{"43":1}}],["manifest",{"2":{"20":1}}],["markdown",{"0":{"33":1,"34":1},"2":{"27":1,"33":3,"34":4,"56":8,"57":5}}],["master",{"2":{"2":1}}],["metager",{"2":{"15":1}}],["diff",{"2":{"57":2}}],["disabled",{"2":{"33":1}}],["discourse",{"2":{"30":1}}],["dom",{"2":{"54":1}}],["document",{"2":{"33":1}}],["draw",{"2":{"42":1,"56":2}}],["delete",{"2":{"38":1}}],["deleteconfirm",{"2":{"37":1}}],["desc",{"2":{"37":1}}],["desktop",{"2":{"32":1}}],["default",{"2":{"37":1}}],["deployment",{"2":{"13":1}}],["data",{"2":{"30":1}}],["duckduckgo",{"2":{"15":1}}],["目前已通过将之分配到",{"2":{"54":1}}],["目前支持的搜索引擎包括",{"2":{"15":1}}],["目录扩展",{"2":{"3":1}}],["目录相关",{"2":{"3":1}}],["就可以前往",{"2":{"13":1}}],["稍等两分钟",{"2":{"13":1}}],["点击一个笔记",{"2":{"52":1}}],["点击即复制到剪切板",{"2":{"45":1}}],["点击",{"2":{"13":1}}],["分别设置",{"2":{"13":1}}],["分页相关的静态工具类",{"2":{"3":1}}],["仓库的权限",{"2":{"13":1}}],["和",{"2":{"13":1,"35":1,"52":1}}],["至少选择",{"2":{"13":1}}],["it",{"2":{"34":1}}],["insecure",{"2":{"33":1}}],["in",{"2":{"33":1,"34":1,"56":1,"57":1}}],["incorrectly",{"0":{"28":1}}],["integration",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"21":1,"23":1,"56":1}}],["is",{"0":{"28":1}}],["issuecomment",{"2":{"30":1}}],["issues",{"2":{"30":1,"32":1,"34":1,"54":3}}],["issue",{"2":{"20":1,"28":1,"30":1}}],["io",{"2":{"13":3,"42":1,"56":2}}],["id",{"2":{"4":2,"6":1}}],["名字是",{"2":{"13":1}}],["账户",{"2":{"13":1}}],["注册一个",{"2":{"13":1}}],["发布",{"2":{"12":1,"13":1}}],["plugin",{"2":{"47":2,"49":1,"57":5}}],["plugins",{"2":{"13":1}}],["powershell",{"2":{"31":5}}],["post",{"2":{"30":1}}],["port",{"0":{"17":1,"28":1}}],["ping",{"2":{"28":1}}],["pdf",{"2":{"27":1,"56":2}}],["prettier",{"2":{"56":1,"57":1}}],["preview",{"0":{"34":1},"2":{"34":1}}],["prot",{"2":{"23":1}}],["pr",{"2":{"20":1}}],["publish",{"2":{"13":1}}],["publisher",{"0":{"11":1},"1":{"12":1,"13":1},"2":{"13":1}}],["pane",{"2":{"57":1}}],["pages",{"2":{"13":1}}],["pageutil",{"2":{"3":1}}],["packages",{"2":{"2":1}}],["设置中复制你的授权令牌并粘贴到这里",{"2":{"50":1}}],["设置",{"2":{"7":1}}],["在后面继续添加二步快捷键",{"2":{"53":1}}],["在编辑器中打开一个工作副本",{"2":{"52":1}}],["在笔记上右键菜单可以看到",{"2":{"45":1}}],["在列表中选择",{"2":{"33":1}}],["在预览中存在提示",{"2":{"33":1}}],["在侧边栏中点击无法打开笔记",{"0":{"30":1}}],["在哪儿可以找到",{"0":{"17":1}}],["在命令行下比较麻烦",{"2":{"9":1}}],["在",{"0":{"18":1},"2":{"7":1,"20":1,"31":2,"42":1,"43":1,"44":1,"49":1,"57":1}}],["打开侧边栏",{"2":{"51":1}}],["打开到其他笔记中",{"2":{"45":1}}],["打开笔记",{"2":{"30":1}}],["打开的",{"0":{"29":1},"2":{"50":1}}],["打开",{"2":{"7":1,"13":1}}],["开始使用",{"0":{"51":1}}],["开始",{"0":{"7":1}}],["一切都在",{"2":{"52":1}}],["一般而言",{"2":{"50":1}}],["一般配置文件在",{"2":{"32":1}}],["一般可以在",{"2":{"17":1}}],["一般是错误",{"2":{"6":1}}],["一些正在使用的附件可能由于各种原因不存在了",{"2":{"6":1}}],["一些没有使用的附件资源没有被及时清理",{"2":{"6":1}}],["一些问题",{"0":{"5":1}}],["链接笔记",{"0":{"45":1}}],["链接以保证永不过期",{"2":{"6":1}}],["链接转换为内部的",{"2":{"6":1}}],["希望能够将之前的",{"2":{"6":1}}],["转换外部链接为内部笔记引用",{"2":{"6":1}}],["检查",{"2":{"31":1}}],["检查下面命令是否能够正常执行",{"2":{"30":1}}],["检查是否可以在",{"2":{"30":1}}],["检查是否存在没有父级目录的笔记",{"2":{"6":1}}],["检查是否存在没有引用的附件资源",{"2":{"6":1}}],["检查引用的附件资源不存在的情况",{"2":{"6":1}}],["xclip",{"2":{"35":1}}],["x",{"2":{"6":4,"54":2}}],["以及繁多的功能",{"2":{"57":1}}],["以及您与该数据相关的选择",{"2":{"21":1}}],["以可视化界面的形式展现出来",{"2":{"6":1}}],["以下为完整对照表",{"2":{"4":1}}],["处理一些",{"2":{"6":1}}],["前往使用",{"2":{"6":1}}],["no",{"2":{"54":1}}],["notes",{"2":{"57":1}}],["noteid",{"2":{"30":2}}],["note",{"2":{"4":1}}],["noteextapi",{"2":{"3":1}}],["noteactionapi",{"2":{"3":1}}],["noteapi",{"2":{"2":2,"3":1,"4":8}}],["null",{"2":{"5":1}}],["方法不应该报错",{"2":{"5":1}}],["是否对笔记进行排序",{"2":{"37":1}}],["是",{"2":{"4":1}}],["依据实体",{"2":{"4":1}}],["boolean",{"2":{"37":2}}],["been",{"2":{"33":1}}],["brave",{"0":{"18":1},"2":{"18":1}}],["bing",{"2":{"15":1}}],["build",{"2":{"13":1}}],["blog",{"2":{"6":1,"13":2}}],["bash",{"2":{"28":1}}],["basesearchengineadapter",{"2":{"20":1}}],["baseurl",{"2":{"2":1,"37":1}}],["baidu",{"2":{"15":1}}],["batch",{"0":{"6":1},"1":{"7":1,"8":1,"9":1,"10":1},"2":{"10":1}}],["by",{"2":{"4":1}}],["+",{"2":{"4":2,"27":2}}],["操作实体",{"2":{"4":1}}],["删除笔记或目录",{"2":{"38":1}}],["删除时是否提醒",{"2":{"37":1}}],["删除",{"2":{"4":1}}],["unotes",{"2":{"57":1}}],["unable",{"0":{"28":1}}],["ui",{"2":{"54":1}}],["url",{"2":{"20":1}}],["username",{"2":{"13":4}}],["update",{"2":{"4":2}}],["utils",{"2":{"2":1,"32":1,"34":1}}],["修改附件",{"2":{"47":1}}],["修改",{"2":{"4":1,"13":1}}],["创建标签",{"0":{"44":1}}],["创建附件",{"0":{"42":1},"2":{"38":1}}],["创建完成之后复制得到的",{"2":{"13":1}}],["创建一个",{"2":{"13":1}}],["创建",{"2":{"4":1}}],["git",{"2":{"27":1}}],["github",{"2":{"2":1,"12":2,"13":12,"30":1,"32":1,"34":1,"54":3}}],["google",{"2":{"15":1,"18":1}}],["gt",{"2":{"13":9,"17":2,"43":1,"44":1,"48":2,"50":2}}],["get",{"2":{"4":2,"5":1}}],["获取标签列表的",{"2":{"4":1}}],["获取",{"2":{"4":1}}],["根据笔记",{"2":{"4":1}}],["根据",{"2":{"4":1}}],["示例",{"2":{"4":1}}],["含义",{"2":{"4":1}}],["类中",{"2":{"4":1}}],["被封装在",{"2":{"4":1}}],["相关的乔普林笔记也会显示在搜索结果中",{"2":{"15":1}}],["相关的",{"2":{"4":1}}],["约定俗称",{"0":{"4":1}}],["配置表",{"0":{"37":1}}],["配置",{"0":{"50":1},"2":{"3":1}}],["csv",{"2":{"57":2}}],["checker",{"2":{"56":1}}],["chrome",{"2":{"19":1,"23":1}}],["capabilities",{"2":{"54":1}}],["ctrl+单击",{"2":{"45":1}}],["ctrl+l",{"2":{"38":1,"39":1}}],["ctrl+m",{"2":{"38":1,"43":1}}],["ctrl+i",{"2":{"38":1}}],["ctrl+o",{"2":{"38":1}}],["ctrl+j",{"2":{"38":4,"39":1,"43":1,"51":2,"53":1,"54":1}}],["ctrl+alt+shift+e",{"2":{"38":1,"41":1}}],["ctrl+alt+e",{"2":{"38":1,"40":1}}],["ctrl+alt+u",{"2":{"38":1,"40":1}}],["c+o",{"2":{"29":1}}],["c+j",{"2":{"29":1}}],["cmdcurl",{"2":{"28":1}}],["cmd",{"2":{"28":1,"31":1}}],["create",{"2":{"4":2,"44":1}}],["clipboard",{"2":{"35":1}}],["clipper",{"2":{"3":1,"23":1,"47":1,"48":1,"50":4}}],["cli",{"0":{"9":1},"2":{"9":1,"30":1}}],["class",{"2":{"4":1}}],["code",{"2":{"54":1,"56":1,"57":1}}],["com",{"2":{"2":1,"30":1,"32":1,"34":1,"54":4}}],["content",{"2":{"13":1,"30":1,"33":2}}],["console",{"2":{"2":1}}],["const",{"2":{"2":1}}],["config",{"2":{"2":3,"3":1,"32":1}}],["全局",{"2":{"3":1}}],["snippets",{"2":{"57":1}}],["spell",{"2":{"56":1}}],["spawn",{"2":{"31":1}}],["sortorder",{"2":{"37":1}}],["sortnotestype",{"2":{"37":1}}],["sortnotes",{"2":{"37":1}}],["some",{"2":{"33":1}}],["string",{"2":{"37":2}}],["show",{"2":{"51":1}}],["showpreviewsecurityselector",{"2":{"33":1}}],["shpowershell",{"2":{"31":1}}],["shcurl",{"2":{"30":1}}],["s",{"0":{"28":1}}],["sync",{"2":{"23":3}}],["set",{"0":{"28":1}}],["settings",{"2":{"13":2,"32":1}}],["services",{"2":{"30":1}}],["service",{"0":{"28":1},"2":{"23":1}}],["searx",{"2":{"15":1}}],["search",{"0":{"14":1},"1":{"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"21":1,"23":1}}],["searchapi",{"2":{"3":1}}],["src",{"2":{"2":1}}],["资源相关",{"2":{"3":1}}],["资源动作",{"2":{"3":1}}],["笔记大纲侧边栏",{"2":{"57":1}}],["笔记本",{"2":{"47":1,"52":1}}],["笔记的功能",{"2":{"47":1}}],["笔记中",{"2":{"41":1}}],["笔记排序的顺序",{"2":{"37":1}}],["笔记排序的类型",{"2":{"37":1}}],["笔记做到类似的事情",{"2":{"29":1}}],["笔记",{"0":{"29":1},"2":{"52":1}}],["笔记到",{"2":{"12":1}}],["笔记扩展",{"2":{"3":1}}],["笔记相关",{"2":{"3":1}}],["笔记相关动作",{"2":{"3":1}}],["例如图片",{"2":{"54":1}}],["例如在",{"2":{"30":1}}],["例如在外部编辑器打开附件资源",{"2":{"3":1}}],["例如在外部编辑器打开笔记",{"2":{"3":1}}],["例如需要预览异常的附件或笔记",{"2":{"9":1}}],["例如涉及到多个实体的",{"2":{"4":1}}],["例如笔记列表是",{"2":{"4":1}}],["例如",{"2":{"4":2,"27":1,"50":1,"56":1,"57":1}}],["例如修改笔记的标签",{"2":{"3":1}}],["例如上传图片",{"2":{"3":1}}],["例如重命名",{"2":{"3":1}}],["例如检查",{"2":{"3":1}}],["例如移动目录",{"2":{"3":1}}],["例如获取全量笔记列表",{"2":{"3":1}}],["例如获取笔记的内容",{"2":{"3":1}}],["例如获取笔记修改历史",{"2":{"3":1}}],["例如获取目录树",{"2":{"3":1}}],["f2",{"2":{"38":1}}],["false",{"2":{"37":1}}],["faq",{"0":{"8":1},"1":{"9":1,"10":1}}],["folding",{"2":{"57":1}}],["folderextapi",{"2":{"3":1}}],["folderapi",{"2":{"3":1}}],["formatter",{"2":{"57":1}}],["fork",{"2":{"20":1,"56":1}}],["firefox",{"2":{"19":1,"23":1}}],["from",{"2":{"2":1,"57":1}}],["事件相关的",{"2":{"3":1}}],["描述",{"2":{"3":1}}],["参考",{"0":{"3":1},"2":{"30":2,"31":1,"32":1,"34":1,"54":4}}],["rich",{"2":{"57":1}}],["raw",{"2":{"30":1}}],["review",{"2":{"57":1}}],["request",{"2":{"30":1}}],["repo",{"2":{"13":1}}],["remove",{"2":{"4":2}}],["rest",{"2":{"47":2}}],["resourceapi",{"2":{"3":1}}],["resourceactionapi",{"2":{"3":1}}],["res",{"2":{"2":2}}],["rxliuli",{"2":{"2":1,"32":1,"34":1}}],["更多示例参考",{"2":{"2":1}}],["local",{"2":{"33":1}}],["localhost",{"2":{"30":1,"37":1}}],["location",{"2":{"30":1}}],["log",{"2":{"2":1}}],["laurent22",{"2":{"30":2}}],["linux",{"0":{"35":1}}],["linter",{"2":{"56":1}}],["lint",{"2":{"27":1,"56":1}}],["list",{"2":{"2":1,"4":3}}],["lt",{"2":{"13":3}}],["asc",{"2":{"37":2}}],["alphabetical",{"2":{"37":2}}],["all",{"2":{"34":1,"56":1,"57":1}}],["allow",{"2":{"33":1}}],["application",{"2":{"30":1}}],["api",{"0":{"0":1,"3":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1},"2":{"0":1,"1":2,"2":3,"3":11,"4":4,"30":2,"32":1,"34":1,"37":1,"47":1,"50":1,"54":1}}],["action",{"2":{"30":3}}],["actions",{"2":{"12":1,"13":1}}],["access",{"0":{"28":1},"2":{"54":1}}],["and",{"2":{"13":1}}],["await",{"2":{"2":1}}],["tabs",{"2":{"57":1}}],["table",{"2":{"57":1}}],["tag",{"2":{"44":1}}],["tags",{"2":{"43":1}}],["tagsbyid",{"2":{"4":1}}],["tagapi",{"2":{"3":1}}],["true",{"2":{"37":1}}],["tree",{"2":{"2":1}}],["this",{"2":{"33":1}}],["type",{"2":{"30":1}}],["t",{"2":{"30":1}}],["to",{"0":{"28":1},"2":{"13":1}}],["tools",{"2":{"13":1}}],["token=",{"2":{"30":1}}],["token",{"0":{"17":1,"28":1},"2":{"2":1,"13":3,"23":1,"32":3,"37":2,"50":1}}],["template",{"2":{"13":1}}],["tests",{"2":{"2":1}}],["tsv",{"2":{"57":1}}],["tsimport",{"2":{"2":1}}],["ts",{"2":{"1":1}}],["10",{"0":{"31":1},"2":{"41":1}}],["1002692774",{"2":{"30":1}}],["16735",{"2":{"30":1}}],["1",{"2":{"2":1,"28":1,"40":1,"41":1,"50":1}}],["127",{"2":{"2":1,"28":1,"50":1}}],["0",{"2":{"2":2,"28":2,"42":1,"43":1,"44":1,"50":2}}],["=",{"2":{"2":3}}],["使用文件管理器选择图片粘贴",{"2":{"40":1}}],["使用插件",{"0":{"32":1}}],["使用服务即表示您同意按照本政策收集和使用信息",{"2":{"21":1}}],["使用和披露个人数据的政策",{"2":{"21":1}}],["使用搜索时",{"2":{"15":1}}],["使用模版项目",{"2":{"13":1}}],["使用",{"0":{"13":1},"2":{"1":1,"4":1,"45":1}}],["封装",{"2":{"1":1,"4":1}}],["json",{"2":{"20":1,"30":1,"32":1}}],["js",{"2":{"1":1}}],["joplinapp",{"2":{"30":1}}],["joplinapi",{"2":{"3":1}}],["joplinclipperserver",{"2":{"28":1}}],["joplin",{"0":{"0":1,"6":1,"11":1,"14":1,"28":2,"29":1,"49":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"7":1,"8":1,"9":1,"10":1,"12":1,"13":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"0":1,"1":1,"2":3,"3":3,"6":1,"7":1,"10":1,"12":1,"13":3,"21":1,"23":2,"27":2,"28":1,"29":1,"30":4,"32":3,"33":1,"34":1,"37":3,"40":1,"41":1,"43":1,"44":1,"47":4,"48":2,"49":2,"50":7,"51":1,"52":1,"53":1,"54":1,"56":1,"57":3}}],["的替代插件或功能",{"2":{"57":1}}],["的支持非常好",{"2":{"56":1}}],["的笔记插件",{"2":{"54":1}}],["的常用功能",{"2":{"54":1}}],["的结果",{"2":{"53":1}}],["的帮助",{"2":{"50":1}}],["的最近打开的文件也不仅仅是当前编辑器正在打开的文件",{"2":{"29":1}}],["的同步",{"2":{"27":1}}],["的编辑功能是笔记工具所无法比拟的",{"2":{"27":1}}],["的形式不太适合这种场景",{"2":{"9":1}}],["的形式",{"0":{"9":1}}],["的",{"2":{"1":1}}],["简介",{"0":{"1":1,"12":1,"15":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/VPLocalSearchBox.BRvigAGp.js b/assets/chunks/VPLocalSearchBox.BRvigAGp.js new file mode 100644 index 00000000..eaaabb7a --- /dev/null +++ b/assets/chunks/VPLocalSearchBox.BRvigAGp.js @@ -0,0 +1,7 @@ +var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var _e=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{X as Oe,s as oe,v as We,ay as kt,az as _t,d as Ot,G as xe,aA as rt,h as Fe,aB as Rt,aC as Mt,x as Lt,aD as Pt,y as Re,R as de,Q as Ee,aE as zt,aF as Vt,Y as Bt,U as $t,aG as Wt,o as ee,b as Kt,j as k,a1 as Jt,k as j,aH as Ut,aI as jt,aJ as Gt,c as re,n as at,e as Se,E as nt,F as it,a as ve,t as pe,aK as Ht,p as Qt,l as qt,aL as ot,aM as Yt,an as Zt,at as Xt,aN as er,_ as tr}from"./framework.1smVRZMp.js";import{u as rr,c as ar}from"./theme.D57Qw8QF.js";const nr={"en-US":()=>Oe(()=>import("./@localSearchIndexen-US.CfZvtUmg.js"),[]),root:()=>Oe(()=>import("./@localSearchIndexroot.cVud1dAQ.js"),[]),"zh-CN":()=>Oe(()=>import("./@localSearchIndexzh-CN.BoIEo7Jl.js"),[])};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return st(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return st(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:Ke.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,Ke.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:Ke(t,e)},xr=mt.concat("iframe").join(","),Me=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function ut(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function lt(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Nr=function(e){return ge(e)&&!e.shiftKey},Cr=function(e){return ge(e)&&e.shiftKey},ft=function(e){return setTimeout(e,0)},ht=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),C=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),P=p.slice().reverse().find(function(m){return le(m)}),z=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:z,firstTabbableNode:C,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:P,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(H){return le(H)}):p.slice(0,p.indexOf(x)).reverse().find(function(H){return le(H)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,C=c.isBackward,I=C===void 0?!1:C;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var P=l(f,p),z=P>=0?i.containerGroups[P]:void 0;if(P<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ht(i.tabbableGroups,function(V){var U=V.firstTabbableNode;return f===U});if(m<0&&(z.container===f||Me(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!z.nextTabbableNode(f,!1))&&(m=P),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=z.nextTabbableNode(f,!1))}else{var K=ht(i.tabbableGroups,function(V){var U=V.lastTabbableNode;return f===U});if(K<0&&(z.container===f||Me(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!z.nextTabbableNode(f))&&(K=P),K>=0){var H=K===i.tabbableGroups.length-1?0:K+1,Q=i.tabbableGroups[H];M=se(f)>=0?Q.firstTabbableNode:Q.firstDomTabbableNode}else ge(p)||(M=z.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var C,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),P=i.containerGroups[M].tabbableNodes;if(P.length>0){var z=P.findIndex(function(m){return m===i.mostRecentlyFocusedNode});z>=0&&(a.isKeyForward(i.recentNavEvent)?z+1=0&&(C=P[z-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(C=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(C||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},R=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},B=function(){if(i.active)return ct.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ft(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",R,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},N=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",R,!0),r.removeEventListener("keydown",L,!0),s},O=function(c){var f=c.some(function(p){var C=Array.from(p.removedNodes);return C.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(O):void 0,_=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),C=u(c,"checkCanFocusTrap");C||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){C&&v(),B(),_(),p==null||p()};return C?(C(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=lt({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,N(),i.active=!1,i.paused=!1,_(),ct.deactivateTrap(n,s);var p=u(f,"onDeactivate"),C=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var P=function(){ft(function(){M&&b(E(i.nodeFocusedBeforeActivation)),C==null||C()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(P,P),this):(P(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),N(),_(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),B(),_(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),_(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return We(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),_t(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let _r=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Or(o){const e=new _r(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Et="KEYS",St="VALUES",G="",Le=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case St:return this.value();case Et:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},Pr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}At(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Pe=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(Ge(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,zr(this._tree,e)},o.prototype.entries=function(){return new Le(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return Pr(this._tree,e,t)},o.prototype.get=function(e){var t=Je(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Je(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Le(this,Et)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Le(this,St)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Je=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Je(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Pe,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=je,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return Rr(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,R,B,N,O,A,_,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Ue.batchSize,a=e.batchWait||Ue.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(O=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(_=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){_={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(_)throw _.error}}}}catch(f){O={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(O)throw O.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return R=c.sent(),B={error:R},[3,9];case 8:try{u&&!u.done&&(N=s.return)&&N.call(s)}finally{if(B)throw B.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||$e.minDirtCount,r=r||$e.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(pt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(R){r={error:R}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(R){a={error:R}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(pt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Ve(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Pe;try{for(var L=D(F._documentIds),R=L.next();!R.done;R=L.next()){var B=J(R.value,2),N=B[0],O=B[1];F._idToShortId.set(O,N)}}catch(z){r={error:z}}finally{try{R&&!R.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),_=A.next();!_.done;_=A.next()){var w=J(_.value,2),c=w[0],f=w[1],p=new Map;try{for(var C=(s=void 0,D(Object.keys(f))),I=C.next();!I.done;I=C.next()){var M=I.value,P=f[M];T===1&&(P=P.ds),p.set(parseInt(M,10),Te(P))}}catch(z){s={error:z}}finally{try{I&&!I.done&&(u=C.return)&&u.call(C)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(z){a={error:z}}finally{try{_&&!_.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,P){var z;return W(W({},M),(z={},z[P]=Ve(s.boost,P)||1,z))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},dt.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,R=L<1?Math.min(d,Math.round(e.term.length*L)):L;R&&(F=this._index.fuzzyGet(e.term,R))}if(T)try{for(var B=D(T),N=B.next();!N.done;N=B.next()){var O=J(N.value,2),A=O[0],_=O[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,_,u,l,v,S)}}}catch(M){r={error:M}}finally{try{N&&!N.done&&(n=B.return)&&n.call(B)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,C=J(F.get(A),2),I=C[0],w=C[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=He),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,R=this._avgFieldLength[T];try{for(var B=(d=void 0,D(F.keys())),N=B.next();!N.done;N=B.next()){var O=N.value;if(!this._documentIds.has(O)){this.removeTerm(T,O,t),L-=1;continue}var A=i?i(this._documentIds.get(O),t,this._storedFields.get(O)):1;if(A){var _=F.get(O),w=this._fieldLength.get(O)[T],c=Kr(_,L,this._documentCount,w,R,s),f=r*S*A*c,p=u.get(O);if(p){p.score+=f,jr(p.terms,e);var C=Ve(p.match,t);C?C.push(g):p.match[t]=[g]}else u.set(O,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{N&&!N.done&&(v=B.return)&&v.call(B)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,yt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,yt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Qt("data-v-802e18e1"),o=o(),qt(),o),Qr=["aria-owns"],qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Na={class:"search-keyboard-shortcuts"},Ca=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],_a=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),Oa=[_a],Ra=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],Pa=["aria-label"],za=Ot({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var P,z;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=rt(async()=>{var m,x,$,K,H,Q,V,U,Z;return ot(Br.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((Q=(H=l.value.search.options)==null?void 0:H.miniSearch)==null?void 0:Q.searchOptions)},...((V=l.value.search)==null?void 0:V.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):Rt("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((P=l.value.search)==null?void 0:P.provider)==="local"&&((z=l.value.search.options)==null?void 0:z.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,H,Q,V,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((Q=(H=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:H.button)==null?void 0:Q.buttonText)||((U=(V=m==null?void 0:m.translations)==null?void 0:V.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);We(v,()=>{S.value=!1});const T=rt(async()=>{if(n.value)return ot(new Or(n.value))},null),F=new Hr(16);Pt(()=>[h.value,v.value,y.value],async([m,x,$],K,H)=>{var be,Qe,qe,Ye;(K==null?void 0:K[0])!==m&&F.clear();let Q=!1;if(H(()=>{Q=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const V=$?await Promise.all(g.value.map(q=>L(q.id))):[];if(Q)return;for(const{id:q,mod:ae}of V){const ne=q.slice(0,q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ze=document.createElement("div");ie.mount(Ze),Ze.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var tt;const we=(tt=he.querySelector("a"))==null?void 0:tt.getAttribute("href"),Xe=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Xe)return;let et="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)et+=he.outerHTML;te.set(Xe,et)}),ie.unmount()}if(Q)return}const U=new Set;if(g.value=g.value.map(q=>{const[ae,ne]=q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in q.match)U.add(ie);return{...q,text:X}}),await de(),Q)return;await new Promise(q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const q of Z)(Qe=q.querySelector('mark[data-markjs="true"]'))==null||Qe.scrollIntoView({block:"center"});(Ye=(qe=n.value)==null?void 0:qe.firstElementChild)==null||Ye.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(x)}}catch($){return console.error($),{id:m,mod:{}}}}const R=oe(),B=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function N(m=!0){var x,$;(x=R.value)==null||x.focus(),m&&(($=R.value)==null||$.select())}Re(()=>{N()});function O(m){m.pointerType==="mouse"&&N()}const A=oe(-1),_=oe(!1);We(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),_.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),_.value=!0,w()});const c=zt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Re(()=>{window.history.pushState(null,"",null)}),Vt("popstate",m=>{m.preventDefault(),t("close")});const C=Bt($t?document.body:null);Re(()=>{de(()=>{C.value=!0,de().then(()=>s())})}),Wt(()=>{C.value=!1});function I(){v.value="",de().then(()=>N(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,H,Q;return ee(),Kt(Ht,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=V=>m.$emit("close"))}),k("div",qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=V=>O(V)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=V=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:R,"onUpdate:modelValue":x[2]||(x[2]=V=>Gt(v)?v.value=V:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:at(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=V=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:B.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(H=g.value)!=null&&H.length?"listbox":void 0,"aria-labelledby":(Q=g.value)!=null&&Q.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=V=>_.value=!1)},[(ee(!0),re(it,null,nt(g.value,(V,U)=>(ee(),re("li",{key:V.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:V.id,class:at(["result",{selected:A.value===U}]),"aria-label":[...V.titles,V.title].join(" > "),onMouseenter:Z=>!_.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(it,null,nt(V.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:V.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[V.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:V.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Na,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Ca),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},Oa,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,Ra),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,Pa),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Qr)])}}}),Ja=tr(za,[["__scopeId","data-v-802e18e1"]]);export{Ja as default}; diff --git a/assets/chunks/framework.1smVRZMp.js b/assets/chunks/framework.1smVRZMp.js new file mode 100644 index 00000000..a1800d4f --- /dev/null +++ b/assets/chunks/framework.1smVRZMp.js @@ -0,0 +1,17 @@ +/** +* @vue/shared v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function wr(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const ee={},mt=[],xe=()=>{},Ti=()=>!1,kt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Er=e=>e.startsWith("onUpdate:"),ie=Object.assign,Cr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,Y=(e,t)=>Ai.call(e,t),k=Array.isArray,_t=e=>xn(e)==="[object Map]",Gs=e=>xn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",ft=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",zs=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Xs=Object.prototype.toString,xn=e=>Xs.call(e),Ri=e=>xn(e).slice(8,-1),Ys=e=>xn(e)==="[object Object]",xr=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yt=wr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Oi=/-(\w)/g,$e=Sn(e=>e.replace(Oi,(t,n)=>n?n.toUpperCase():"")),Li=/\B([A-Z])/g,dt=Sn(e=>e.replace(Li,"-$1").toLowerCase()),Tn=Sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),un=Sn(e=>e?`on${Tn(e)}`:""),Je=(e,t)=>!Object.is(e,t),fn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ii=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Jr;const Qs=()=>Jr||(Jr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Sr(e){if(k(e)){const t={};for(let n=0;n{if(n){const r=n.split(Pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Tr(e){let t="";if(se(e))t=e;else if(k(e))for(let n=0;nse(e)?e:e==null?"":k(e)||Z(e)&&(e.toString===Xs||!K(e.toString))?JSON.stringify(e,eo,2):String(e),eo=(e,t)=>t&&t.__v_isRef?eo(e,t.value):_t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Bn(r,o)+" =>"]=s,n),{})}:Gs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Bn(n))}:ft(t)?Bn(t):Z(t)&&!k(t)&&!Ys(t)?String(t):t,Bn=(e,t="")=>{var n;return ft(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let we;class Hi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=we,!t&&we&&(this.index=(we.scopes||(we.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=we;try{return we=this,t()}finally{we=n}}}on(){we=this}off(){we=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),et()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Xe,n=ct;try{return Xe=!0,ct=this,this._runnings++,Qr(this),this.fn()}finally{Zr(this),this._runnings--,ct=n,Xe=t}}stop(){this.active&&(Qr(this),Zr(this),this.onStop&&this.onStop(),this.active=!1)}}function Ui(e){return e.value}function Qr(e){e._trackId++,e._depsLength=0}function Zr(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},mn=new WeakMap,at=Symbol(""),ur=Symbol("");function be(e,t,n){if(Xe&&ct){let r=mn.get(e);r||mn.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=io(()=>r.delete(n))),so(ct,s)}}function Ve(e,t,n,r,s,o){const i=mn.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&k(e)){const c=Number(r);i.forEach((a,f)=>{(f==="length"||!ft(f)&&f>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":k(e)?xr(n)&&l.push(i.get("length")):(l.push(i.get(at)),_t(e)&&l.push(i.get(ur)));break;case"delete":k(e)||(l.push(i.get(at)),_t(e)&&l.push(i.get(ur)));break;case"set":_t(e)&&l.push(i.get(at));break}Rr();for(const c of l)c&&oo(c,4);Or()}function Bi(e,t){const n=mn.get(e);return n&&n.get(t)}const ki=wr("__proto__,__v_isRef,__isVue"),lo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ft)),es=Ki();function Ki(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=J(this);for(let o=0,i=this.length;o{e[t]=function(...n){Ze(),Rr();const r=J(this)[t].apply(this,n);return Or(),et(),r}}),e}function Wi(e){ft(e)||(e=String(e));const t=J(this);return be(t,"has",e),t.hasOwnProperty(e)}class co{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?sl:ho:o?fo:uo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=k(t);if(!s){if(i&&Y(es,n))return Reflect.get(es,n,r);if(n==="hasOwnProperty")return Wi}const l=Reflect.get(t,n,r);return(ft(n)?lo.has(n):ki(n))||(s||be(t,"get",n),o)?l:de(l)?i&&xr(n)?l:l.value:Z(l)?s?On(l):Rn(l):l}}class ao extends co{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){const c=$t(o);if(!_n(r)&&!$t(r)&&(o=J(o),r=J(r)),!k(t)&&de(o)&&!de(r))return c?!1:(o.value=r,!0)}const i=k(t)&&xr(n)?Number(n)e,An=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,r=!1){e=e.__v_raw;const s=J(e),o=J(t);n||(Je(t,o)&&be(s,"get",t),be(s,"get",o));const{has:i}=An(s),l=r?Lr:n?Pr:jt;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Jt(e,t=!1){const n=this.__v_raw,r=J(n),s=J(e);return t||(Je(e,s)&&be(r,"has",e),be(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Qt(e,t=!1){return e=e.__v_raw,!t&&be(J(e),"iterate",at),Reflect.get(e,"size",e)}function ts(e){e=J(e);const t=J(this);return An(t).has.call(t,e)||(t.add(e),Ve(t,"add",e,e)),this}function ns(e,t){t=J(t);const n=J(this),{has:r,get:s}=An(n);let o=r.call(n,e);o||(e=J(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Je(t,i)&&Ve(n,"set",e,t):Ve(n,"add",e,t),this}function rs(e){const t=J(this),{has:n,get:r}=An(t);let s=n.call(t,e);s||(e=J(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&Ve(t,"delete",e,void 0),o}function ss(){const e=J(this),t=e.size!==0,n=e.clear();return t&&Ve(e,"clear",void 0,void 0),n}function Zt(e,t){return function(r,s){const o=this,i=o.__v_raw,l=J(i),c=t?Lr:e?Pr:jt;return!e&&be(l,"iterate",at),i.forEach((a,f)=>r.call(s,c(a),c(f),o))}}function en(e,t,n){return function(...r){const s=this.__v_raw,o=J(s),i=_t(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,a=s[e](...r),f=n?Lr:t?Pr:jt;return!t&&be(o,"iterate",c?ur:at),{next(){const{value:h,done:m}=a.next();return m?{value:h,done:m}:{value:l?[f(h[0]),f(h[1])]:f(h),done:m}},[Symbol.iterator](){return this}}}}function Ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(){const e={get(o){return Yt(this,o)},get size(){return Qt(this)},has:Jt,add:ts,set:ns,delete:rs,clear:ss,forEach:Zt(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Qt(this)},has:Jt,add:ts,set:ns,delete:rs,clear:ss,forEach:Zt(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Qt(this,!0)},has(o){return Jt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Zt(!0,!1)},r={get(o){return Yt(this,o,!0,!0)},get size(){return Qt(this,!0)},has(o){return Jt.call(this,o,!0)},add:Ue("add"),set:Ue("set"),delete:Ue("delete"),clear:Ue("clear"),forEach:Zt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=en(o,!1,!1),n[o]=en(o,!0,!1),t[o]=en(o,!1,!0),r[o]=en(o,!0,!0)}),[e,n,t,r]}const[Ji,Qi,Zi,el]=Yi();function Ir(e,t){const n=t?e?el:Zi:e?Qi:Ji;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Y(n,s)&&s in r?n:r,s,o)}const tl={get:Ir(!1,!1)},nl={get:Ir(!1,!0)},rl={get:Ir(!0,!1)};const uo=new WeakMap,fo=new WeakMap,ho=new WeakMap,sl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ri(e))}function Rn(e){return $t(e)?e:Mr(e,!1,Gi,tl,uo)}function ll(e){return Mr(e,!1,Xi,nl,fo)}function On(e){return Mr(e,!0,zi,rl,ho)}function Mr(e,t,n,r,s){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=il(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function Rt(e){return $t(e)?Rt(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function _n(e){return!!(e&&e.__v_isShallow)}function po(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function dn(e){return Object.isExtensible(e)&&Js(e,"__v_skip",!0),e}const jt=e=>Z(e)?Rn(e):e,Pr=e=>Z(e)?On(e):e;class go{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ar(()=>t(this._value),()=>Ot(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Je(t._value,t._value=t.effect.run())&&Ot(t,4),Nr(t),t.effect._dirtyLevel>=2&&Ot(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function cl(e,t,n=!1){let r,s;const o=K(e);return o?(r=e,s=xe):(r=e.get,s=e.set),new go(r,s,o||!s,n)}function Nr(e){var t;Xe&&ct&&(e=J(e),so(ct,(t=e.dep)!=null?t:e.dep=io(()=>e.dep=void 0,e instanceof go?e:void 0)))}function Ot(e,t=4,n){e=J(e);const r=e.dep;r&&oo(r,t)}function de(e){return!!(e&&e.__v_isRef===!0)}function re(e){return mo(e,!1)}function Fr(e){return mo(e,!0)}function mo(e,t){return de(e)?e:new al(e,t)}class al{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:jt(t)}get value(){return Nr(this),this._value}set value(t){const n=this.__v_isShallow||_n(t)||$t(t);t=n?t:J(t),Je(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:jt(t),Ot(this,4))}}function _o(e){return de(e)?e.value:e}const ul={get:(e,t,n)=>_o(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return de(s)&&!de(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function yo(e){return Rt(e)?e:new Proxy(e,ul)}class fl{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Nr(this),()=>Ot(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function dl(e){return new fl(e)}class hl{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Bi(J(this._object),this._key)}}class pl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gl(e,t,n){return de(e)?e:K(e)?new pl(e):Z(e)&&arguments.length>1?ml(e,t,n):re(e)}function ml(e,t,n){const r=e[t];return de(r)?r:new hl(e,t,n)}/** +* @vue/runtime-core v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ye(e,t,n,r){try{return r?e(...r):e()}catch(s){Kt(s,t,n)}}function Se(e,t,n,r){if(K(e)){const s=Ye(e,t,n,r);return s&&zs(s)&&s.catch(o=>{Kt(o,t,n)}),s}if(k(e)){const s=[];for(let o=0;o>>1,s=pe[r],o=Vt(s);oPe&&pe.splice(t,1)}function vl(e){k(e)?bt.push(...e):(!We||!We.includes(e,e.allowRecurse?ot+1:ot))&&bt.push(e),vo()}function os(e,t,n=Ht?Pe+1:0){for(;nVt(n)-Vt(r));if(bt.length=0,We){We.push(...t);return}for(We=t,ot=0;ote.id==null?1/0:e.id,wl=(e,t)=>{const n=Vt(e)-Vt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function wo(e){fr=!1,Ht=!0,pe.sort(wl);try{for(Pe=0;Pese(b)?b.trim():b)),h&&(s=n.map(lr))}let l,c=r[l=un(t)]||r[l=un($e(t))];!c&&o&&(c=r[l=un(dt(t))]),c&&Se(c,e,6,s);const a=r[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Se(a,e,6,s)}}function Eo(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!K(e)){const c=a=>{const f=Eo(a,t,!0);f&&(l=!0,ie(i,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Z(e)&&r.set(e,null),null):(k(o)?o.forEach(c=>i[c]=null):ie(i,o),Z(e)&&r.set(e,i),i)}function Mn(e,t){return!e||!kt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,dt(t))||Y(e,t))}let ce=null,Pn=null;function bn(e){const t=ce;return ce=e,Pn=e&&e.type.__scopeId||null,t}function eu(e){Pn=e}function tu(){Pn=null}function Cl(e,t=ce,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&bs(-1);const o=bn(t);let i;try{i=e(...s)}finally{bn(o),r._d&&bs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function kn(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:c,render:a,renderCache:f,props:h,data:m,setupState:b,ctx:C,inheritAttrs:I}=e,$=bn(e);let q,D;try{if(n.shapeFlag&4){const _=s||r,M=_;q=Ae(a.call(M,_,f,h,b,m,C)),D=l}else{const _=t;q=Ae(_.length>1?_(h,{attrs:l,slots:i,emit:c}):_(h,null)),D=t.props?l:xl(l)}}catch(_){Nt.length=0,Kt(_,e,1),q=oe(ye)}let p=q;if(D&&I!==!1){const _=Object.keys(D),{shapeFlag:M}=p;_.length&&M&7&&(o&&_.some(Er)&&(D=Sl(D,o)),p=Qe(p,D,!1,!0))}return n.dirs&&(p=Qe(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),q=p,bn($),q}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||kt(n))&&((t||(t={}))[n]=e[n]);return t},Sl=(e,t)=>{const n={};for(const r in e)(!Er(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Tl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?is(r,i,a):!!i;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;function To(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const Ol=Symbol.for("v-scx"),Ll=()=>wt(Ol);function jr(e,t){return Nn(e,null,t)}function su(e,t){return Nn(e,null,{flush:"post"})}const tn={};function Ne(e,t,n){return Nn(e,t,n)}function Nn(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ee){if(t&&o){const O=t;t=(...N)=>{O(...N),M()}}const c=ue,a=O=>r===!0?O:lt(O,r===!1?1:void 0);let f,h=!1,m=!1;if(de(e)?(f=()=>e.value,h=_n(e)):Rt(e)?(f=()=>a(e),h=!0):k(e)?(m=!0,h=e.some(O=>Rt(O)||_n(O)),f=()=>e.map(O=>{if(de(O))return O.value;if(Rt(O))return a(O);if(K(O))return Ye(O,c,2)})):K(e)?t?f=()=>Ye(e,c,2):f=()=>(b&&b(),Se(e,c,3,[C])):f=xe,t&&r){const O=f;f=()=>lt(O())}let b,C=O=>{b=p.onStop=()=>{Ye(O,c,4),b=p.onStop=void 0}},I;if(Gt)if(C=xe,t?n&&Se(t,c,3,[f(),m?[]:void 0,C]):f(),s==="sync"){const O=Ll();I=O.__watcherHandles||(O.__watcherHandles=[])}else return xe;let $=m?new Array(e.length).fill(tn):tn;const q=()=>{if(!(!p.active||!p.dirty))if(t){const O=p.run();(r||h||(m?O.some((N,T)=>Je(N,$[T])):Je(O,$)))&&(b&&b(),Se(t,c,3,[O,$===tn?void 0:m&&$[0]===tn?[]:$,C]),$=O)}else p.run()};q.allowRecurse=!!t;let D;s==="sync"?D=q:s==="post"?D=()=>me(q,c&&c.suspense):(q.pre=!0,c&&(q.id=c.uid),D=()=>In(q));const p=new Ar(f,xe,D),_=to(),M=()=>{p.stop(),_&&Cr(_.effects,p)};return t?n?q():$=p.run():s==="post"?me(p.run.bind(p),c&&c.suspense):p.run(),I&&I.push(M),M}function Il(e,t,n){const r=this.proxy,s=se(e)?e.includes(".")?Ao(r,e):()=>r[e]:e.bind(r,r);let o;K(t)?o=t:(o=t.handler,n=t);const i=qt(this),l=Nn(s,o.bind(r),n);return i(),l}function Ao(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{lt(r,t,n)});else if(Ys(e))for(const r in e)lt(e[r],t,n);return e}function ou(e,t){if(ce===null)return e;const n=Hn(ce)||ce.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s{e.isMounted=!0}),Mo(()=>{e.isUnmounting=!0}),e}const Ee=[Function,Array],Ro={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ee,onEnter:Ee,onAfterEnter:Ee,onEnterCancelled:Ee,onBeforeLeave:Ee,onLeave:Ee,onAfterLeave:Ee,onLeaveCancelled:Ee,onBeforeAppear:Ee,onAppear:Ee,onAfterAppear:Ee,onAppearCancelled:Ee},Pl={name:"BaseTransition",props:Ro,setup(e,{slots:t}){const n=jn(),r=Ml();return()=>{const s=t.default&&Lo(t.default(),!0);if(!s||!s.length)return;let o=s[0];if(s.length>1){for(const m of s)if(m.type!==ye){o=m;break}}const i=J(e),{mode:l}=i;if(r.isLeaving)return Kn(o);const c=cs(o);if(!c)return Kn(o);const a=dr(c,i,r,n);hr(c,a);const f=n.subTree,h=f&&cs(f);if(h&&h.type!==ye&&!it(c,h)){const m=dr(h,i,r,n);if(hr(h,m),l==="out-in"&&c.type!==ye)return r.isLeaving=!0,m.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Kn(o);l==="in-out"&&c.type!==ye&&(m.delayLeave=(b,C,I)=>{const $=Oo(r,h);$[String(h.key)]=h,b[qe]=()=>{C(),b[qe]=void 0,delete a.delayedLeave},a.delayedLeave=I})}return o}}},Nl=Pl;function Oo(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function dr(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:m,onAfterLeave:b,onLeaveCancelled:C,onBeforeAppear:I,onAppear:$,onAfterAppear:q,onAppearCancelled:D}=t,p=String(e.key),_=Oo(n,e),M=(T,F)=>{T&&Se(T,r,9,F)},O=(T,F)=>{const w=F[1];M(T,F),k(T)?T.every(H=>H.length<=1)&&w():T.length<=1&&w()},N={mode:o,persisted:i,beforeEnter(T){let F=l;if(!n.isMounted)if(s)F=I||l;else return;T[qe]&&T[qe](!0);const w=_[p];w&&it(e,w)&&w.el[qe]&&w.el[qe](),M(F,[T])},enter(T){let F=c,w=a,H=f;if(!n.isMounted)if(s)F=$||c,w=q||a,H=D||f;else return;let A=!1;const G=T[nn]=le=>{A||(A=!0,le?M(H,[T]):M(w,[T]),N.delayedLeave&&N.delayedLeave(),T[nn]=void 0)};F?O(F,[T,G]):G()},leave(T,F){const w=String(e.key);if(T[nn]&&T[nn](!0),n.isUnmounting)return F();M(h,[T]);let H=!1;const A=T[qe]=G=>{H||(H=!0,F(),G?M(C,[T]):M(b,[T]),T[qe]=void 0,_[w]===e&&delete _[w])};_[w]=e,m?O(m,[T,A]):A()},clone(T){return dr(T,t,n,r)}};return N}function Kn(e){if(Wt(e))return e=Qe(e),e.children=null,e}function cs(e){if(!Wt(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function hr(e,t){e.shapeFlag&6&&e.component?hr(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lo(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function iu(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,a,f=0;const h=()=>(f++,c=null,m()),m=()=>{let b;return c||(b=c=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),l)return new Promise((I,$)=>{l(C,()=>I(h()),()=>$(C),f+1)});throw C}).then(C=>b!==c&&c?c:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),a=C,C)))};return Hr({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return a},setup(){const b=ue;if(a)return()=>Wn(a,b);const C=D=>{c=null,Kt(D,b,13,!r)};if(i&&b.suspense||Gt)return m().then(D=>()=>Wn(D,b)).catch(D=>(C(D),()=>r?oe(r,{error:D}):null));const I=re(!1),$=re(),q=re(!!s);return s&&setTimeout(()=>{q.value=!1},s),o!=null&&setTimeout(()=>{if(!I.value&&!$.value){const D=new Error(`Async component timed out after ${o}ms.`);C(D),$.value=D}},o),m().then(()=>{I.value=!0,b.parent&&Wt(b.parent.vnode)&&(b.parent.effect.dirty=!0,In(b.parent.update))}).catch(D=>{C(D),$.value=D}),()=>{if(I.value&&a)return Wn(a,b);if($.value&&r)return oe(r,{error:$.value});if(n&&!q.value)return oe(n)}}})}function Wn(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=oe(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Wt=e=>e.type.__isKeepAlive;function Fl(e,t){Io(e,"a",t)}function $l(e,t){Io(e,"da",t)}function Io(e,t,n=ue){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Fn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Wt(s.parent.vnode)&&jl(r,t,n,s),s=s.parent}}function jl(e,t,n,r){const s=Fn(t,e,r,!0);$n(()=>{Cr(r[t],s)},n)}function Fn(e,t,n=ue,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Ze();const l=qt(n),c=Se(t,n,e,i);return l(),et(),c});return r?s.unshift(o):s.push(o),o}}const De=e=>(t,n=ue)=>(!Gt||e==="sp")&&Fn(e,(...r)=>t(...r),n),Hl=De("bm"),xt=De("m"),Vl=De("bu"),Dl=De("u"),Mo=De("bum"),$n=De("um"),Ul=De("sp"),Bl=De("rtg"),kl=De("rtc");function Kl(e,t=ue){Fn("ec",e,t)}function lu(e,t,n,r){let s;const o=n;if(k(e)||se(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lEn(t)?!(t.type===ye||t.type===_e&&!Po(t.children)):!0)?e:null}function au(e,t){const n={};for(const r in e)n[/[A-Z]/.test(r)?`on:${r}`:un(r)]=e[r];return n}const pr=e=>e?ei(e)?Hn(e)||e.proxy:pr(e.parent):null,Lt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>pr(e.parent),$root:e=>pr(e.root),$emit:e=>e.emit,$options:e=>Vr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,In(e.update)}),$nextTick:e=>e.n||(e.n=Ln.bind(e.proxy)),$watch:e=>Il.bind(e)}),qn=(e,t)=>e!==ee&&!e.__isScriptSetup&&Y(e,t),Wl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const b=i[t];if(b!==void 0)switch(b){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(qn(r,t))return i[t]=1,r[t];if(s!==ee&&Y(s,t))return i[t]=2,s[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,o[t];if(n!==ee&&Y(n,t))return i[t]=4,n[t];gr&&(i[t]=0)}}const f=Lt[t];let h,m;if(f)return t==="$attrs"&&be(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==ee&&Y(n,t))return i[t]=4,n[t];if(m=c.config.globalProperties,Y(m,t))return m[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return qn(s,t)?(s[t]=n,!0):r!==ee&&Y(r,t)?(r[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ee&&Y(e,i)||qn(t,i)||(l=o[0])&&Y(l,i)||Y(r,i)||Y(Lt,i)||Y(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function uu(){return ql().slots}function ql(){const e=jn();return e.setupContext||(e.setupContext=ni(e))}function as(e){return k(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let gr=!0;function Gl(e){const t=Vr(e),n=e.proxy,r=e.ctx;gr=!1,t.beforeCreate&&us(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:m,beforeUpdate:b,updated:C,activated:I,deactivated:$,beforeDestroy:q,beforeUnmount:D,destroyed:p,unmounted:_,render:M,renderTracked:O,renderTriggered:N,errorCaptured:T,serverPrefetch:F,expose:w,inheritAttrs:H,components:A,directives:G,filters:le}=t;if(a&&zl(a,r,null),i)for(const X in i){const V=i[X];K(V)&&(r[X]=V.bind(n))}if(s){const X=s.call(n,n);Z(X)&&(e.data=Rn(X))}if(gr=!0,o)for(const X in o){const V=o[X],je=K(V)?V.bind(n,n):K(V.get)?V.get.bind(n,n):xe,zt=!K(V)&&K(V.set)?V.set.bind(n):xe,tt=ne({get:je,set:zt});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Le=>tt.value=Le})}if(l)for(const X in l)No(l[X],r,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(V=>{ec(V,X[V])})}f&&us(f,e,"c");function U(X,V){k(V)?V.forEach(je=>X(je.bind(n))):V&&X(V.bind(n))}if(U(Hl,h),U(xt,m),U(Vl,b),U(Dl,C),U(Fl,I),U($l,$),U(Kl,T),U(kl,O),U(Bl,N),U(Mo,D),U($n,_),U(Ul,F),k(w))if(w.length){const X=e.exposed||(e.exposed={});w.forEach(V=>{Object.defineProperty(X,V,{get:()=>n[V],set:je=>n[V]=je})})}else e.exposed||(e.exposed={});M&&e.render===xe&&(e.render=M),H!=null&&(e.inheritAttrs=H),A&&(e.components=A),G&&(e.directives=G)}function zl(e,t,n=xe){k(e)&&(e=mr(e));for(const r in e){const s=e[r];let o;Z(s)?"default"in s?o=wt(s.from||r,s.default,!0):o=wt(s.from||r):o=wt(s),de(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function us(e,t,n){Se(k(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function No(e,t,n,r){const s=r.includes(".")?Ao(n,r):()=>n[r];if(se(e)){const o=t[e];K(o)&&Ne(s,o)}else if(K(e))Ne(s,e.bind(n));else if(Z(e))if(k(e))e.forEach(o=>No(o,t,n,r));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&Ne(s,o,e)}}function Vr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(a=>vn(c,a,i,!0)),vn(c,t,i)),Z(t)&&o.set(t,c),c}function vn(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&vn(e,o,n,!0),s&&s.forEach(i=>vn(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Xl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xl={data:fs,props:ds,emits:ds,methods:At,computed:At,beforeCreate:ge,created:ge,beforeMount:ge,mounted:ge,beforeUpdate:ge,updated:ge,beforeDestroy:ge,beforeUnmount:ge,destroyed:ge,unmounted:ge,activated:ge,deactivated:ge,errorCaptured:ge,serverPrefetch:ge,components:At,directives:At,watch:Jl,provide:fs,inject:Yl};function fs(e,t){return t?e?function(){return ie(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return At(mr(e),mr(t))}function mr(e){if(k(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(r&&r.proxy):t}}const $o={},jo=()=>Object.create($o),Ho=e=>Object.getPrototypeOf(e)===$o;function tc(e,t,n,r=!1){const s={},o=jo();e.propsDefaults=Object.create(null),Vo(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ll(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function nc(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=J(s),[c]=e.propsOptions;let a=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[m,b]=Do(h,t,!0);ie(i,m),b&&l.push(...b)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Z(e)&&r.set(e,mt),mt;if(k(o))for(let f=0;f-1,b[1]=I<0||C-1||Y(b,"default"))&&l.push(h)}}}const a=[i,l];return Z(e)&&r.set(e,a),a}function hs(e){return e[0]!=="$"&&!yt(e)}function ps(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function gs(e,t){return ps(e)===ps(t)}function ms(e,t){return k(t)?t.findIndex(n=>gs(n,e)):K(t)&&gs(t,e)?0:-1}const Uo=e=>e[0]==="_"||e==="$stable",Dr=e=>k(e)?e.map(Ae):[Ae(e)],rc=(e,t,n)=>{if(t._n)return t;const r=Cl((...s)=>Dr(t(...s)),n);return r._c=!1,r},Bo=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Uo(s))continue;const o=e[s];if(K(o))t[s]=rc(s,o,r);else if(o!=null){const i=Dr(o);t[s]=()=>i}}},ko=(e,t)=>{const n=Dr(t);e.slots.default=()=>n},sc=(e,t)=>{const n=e.slots=jo();if(e.vnode.shapeFlag&32){const r=t._;r?(ie(n,t),Js(n,"_",r,!0)):Bo(t,n)}else t&&ko(e,t)},oc=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ee;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(s,t),!n&&l===1&&delete s._):(o=!t.$stable,Bo(t,s)),i=t}else t&&(ko(e,t),i={default:1});if(o)for(const l in s)!Uo(l)&&i[l]==null&&delete s[l]};function wn(e,t,n,r,s=!1){if(k(e)){e.forEach((m,b)=>wn(m,t&&(k(t)?t[b]:t),n,r,s));return}if(vt(r)&&!s)return;const o=r.shapeFlag&4?Hn(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,a=t&&t.r,f=l.refs===ee?l.refs={}:l.refs,h=l.setupState;if(a!=null&&a!==c&&(se(a)?(f[a]=null,Y(h,a)&&(h[a]=null)):de(a)&&(a.value=null)),K(c))Ye(c,l,12,[i,f]);else{const m=se(c),b=de(c);if(m||b){const C=()=>{if(e.f){const I=m?Y(h,c)?h[c]:f[c]:c.value;s?k(I)&&Cr(I,o):k(I)?I.includes(o)||I.push(o):m?(f[c]=[o],Y(h,c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else m?(f[c]=i,Y(h,c)&&(h[c]=i)):b&&(c.value=i,e.k&&(f[e.k]=i))};i?(C.id=-1,me(C,n)):C()}}}let Be=!1;const ic=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",lc=e=>e.namespaceURI.includes("MathML"),rn=e=>{if(ic(e))return"svg";if(lc(e))return"mathml"},sn=e=>e.nodeType===8;function cc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:a}}=e,f=(p,_)=>{if(!_.hasChildNodes()){n(null,p,_),yn(),_._vnode=p;return}Be=!1,h(_.firstChild,p,null,null,null),yn(),_._vnode=p,Be&&console.error("Hydration completed but contains mismatches.")},h=(p,_,M,O,N,T=!1)=>{T=T||!!_.dynamicChildren;const F=sn(p)&&p.data==="[",w=()=>I(p,_,M,O,N,F),{type:H,ref:A,shapeFlag:G,patchFlag:le}=_;let fe=p.nodeType;_.el=p,le===-2&&(T=!1,_.dynamicChildren=null);let U=null;switch(H){case Et:fe!==3?_.children===""?(c(_.el=s(""),i(p),p),U=p):U=w():(p.data!==_.children&&(Be=!0,p.data=_.children),U=o(p));break;case ye:D(p)?(U=o(p),q(_.el=p.content.firstChild,p,M)):fe!==8||F?U=w():U=o(p);break;case Pt:if(F&&(p=o(p),fe=p.nodeType),fe===1||fe===3){U=p;const X=!_.children.length;for(let V=0;V<_.staticCount;V++)X&&(_.children+=U.nodeType===1?U.outerHTML:U.data),V===_.staticCount-1&&(_.anchor=U),U=o(U);return F?o(U):U}else w();break;case _e:F?U=C(p,_,M,O,N,T):U=w();break;default:if(G&1)(fe!==1||_.type.toLowerCase()!==p.tagName.toLowerCase())&&!D(p)?U=w():U=m(p,_,M,O,N,T);else if(G&6){_.slotScopeIds=N;const X=i(p);if(F?U=$(p):sn(p)&&p.data==="teleport start"?U=$(p,p.data,"teleport end"):U=o(p),t(_,X,null,M,O,rn(X),T),vt(_)){let V;F?(V=oe(_e),V.anchor=U?U.previousSibling:X.lastChild):V=p.nodeType===3?Zo(""):oe("div"),V.el=p,_.component.subTree=V}}else G&64?fe!==8?U=w():U=_.type.hydrate(p,_,M,O,N,T,e,b):G&128&&(U=_.type.hydrate(p,_,M,O,rn(i(p)),N,T,e,h))}return A!=null&&wn(A,null,O,_),U},m=(p,_,M,O,N,T)=>{T=T||!!_.dynamicChildren;const{type:F,props:w,patchFlag:H,shapeFlag:A,dirs:G,transition:le}=_,fe=F==="input"||F==="option";if(fe||H!==-1){G&&Me(_,null,M,"created");let U=!1;if(D(p)){U=Wo(O,le)&&M&&M.vnode.props&&M.vnode.props.appear;const V=p.content.firstChild;U&&le.beforeEnter(V),q(V,p,M),_.el=p=V}if(A&16&&!(w&&(w.innerHTML||w.textContent))){let V=b(p.firstChild,_,p,M,O,N,T);for(;V;){Be=!0;const je=V;V=V.nextSibling,l(je)}}else A&8&&p.textContent!==_.children&&(Be=!0,p.textContent=_.children);if(w)if(fe||!T||H&48)for(const V in w)(fe&&(V.endsWith("value")||V==="indeterminate")||kt(V)&&!yt(V)||V[0]===".")&&r(p,V,null,w[V],void 0,void 0,M);else w.onClick&&r(p,"onClick",null,w.onClick,void 0,void 0,M);let X;(X=w&&w.onVnodeBeforeMount)&&Ce(X,M,_),G&&Me(_,null,M,"beforeMount"),((X=w&&w.onVnodeMounted)||G||U)&&To(()=>{X&&Ce(X,M,_),U&&le.enter(p),G&&Me(_,null,M,"mounted")},O)}return p.nextSibling},b=(p,_,M,O,N,T,F)=>{F=F||!!_.dynamicChildren;const w=_.children,H=w.length;for(let A=0;A{const{slotScopeIds:F}=_;F&&(N=N?N.concat(F):F);const w=i(p),H=b(o(p),_,w,M,O,N,T);return H&&sn(H)&&H.data==="]"?o(_.anchor=H):(Be=!0,c(_.anchor=a("]"),w,H),H)},I=(p,_,M,O,N,T)=>{if(Be=!0,_.el=null,T){const H=$(p);for(;;){const A=o(p);if(A&&A!==H)l(A);else break}}const F=o(p),w=i(p);return l(p),n(null,_,w,F,M,O,rn(w),N),F},$=(p,_="[",M="]")=>{let O=0;for(;p;)if(p=o(p),p&&sn(p)&&(p.data===_&&O++,p.data===M)){if(O===0)return o(p);O--}return p},q=(p,_,M)=>{const O=_.parentNode;O&&O.replaceChild(p,_);let N=M;for(;N;)N.vnode.el===_&&(N.vnode.el=N.subTree.el=p),N=N.parent},D=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[f,h]}const me=To;function ac(e){return Ko(e)}function uc(e){return Ko(e,cc)}function Ko(e,t){const n=Qs();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:m,setScopeId:b=xe,insertStaticContent:C}=e,I=(u,d,g,y=null,v=null,S=null,L=void 0,x=null,R=!!d.dynamicChildren)=>{if(u===d)return;u&&!it(u,d)&&(y=Xt(u),Le(u,v,S,!0),u=null),d.patchFlag===-2&&(R=!1,d.dynamicChildren=null);const{type:E,ref:P,shapeFlag:B}=d;switch(E){case Et:$(u,d,g,y);break;case ye:q(u,d,g,y);break;case Pt:u==null&&D(d,g,y,L);break;case _e:A(u,d,g,y,v,S,L,x,R);break;default:B&1?M(u,d,g,y,v,S,L,x,R):B&6?G(u,d,g,y,v,S,L,x,R):(B&64||B&128)&&E.process(u,d,g,y,v,S,L,x,R,ht)}P!=null&&v&&wn(P,u&&u.ref,S,d||u,!d)},$=(u,d,g,y)=>{if(u==null)r(d.el=l(d.children),g,y);else{const v=d.el=u.el;d.children!==u.children&&a(v,d.children)}},q=(u,d,g,y)=>{u==null?r(d.el=c(d.children||""),g,y):d.el=u.el},D=(u,d,g,y)=>{[u.el,u.anchor]=C(u.children,d,g,y,u.el,u.anchor)},p=({el:u,anchor:d},g,y)=>{let v;for(;u&&u!==d;)v=m(u),r(u,g,y),u=v;r(d,g,y)},_=({el:u,anchor:d})=>{let g;for(;u&&u!==d;)g=m(u),s(u),u=g;s(d)},M=(u,d,g,y,v,S,L,x,R)=>{d.type==="svg"?L="svg":d.type==="math"&&(L="mathml"),u==null?O(d,g,y,v,S,L,x,R):F(u,d,v,S,L,x,R)},O=(u,d,g,y,v,S,L,x)=>{let R,E;const{props:P,shapeFlag:B,transition:j,dirs:W}=u;if(R=u.el=i(u.type,S,P&&P.is,P),B&8?f(R,u.children):B&16&&T(u.children,R,null,y,v,Gn(u,S),L,x),W&&Me(u,null,y,"created"),N(R,u,u.scopeId,L,y),P){for(const Q in P)Q!=="value"&&!yt(Q)&&o(R,Q,null,P[Q],S,u.children,y,v,He);"value"in P&&o(R,"value",null,P.value,S),(E=P.onVnodeBeforeMount)&&Ce(E,y,u)}W&&Me(u,null,y,"beforeMount");const z=Wo(v,j);z&&j.beforeEnter(R),r(R,d,g),((E=P&&P.onVnodeMounted)||z||W)&&me(()=>{E&&Ce(E,y,u),z&&j.enter(R),W&&Me(u,null,y,"mounted")},v)},N=(u,d,g,y,v)=>{if(g&&b(u,g),y)for(let S=0;S{for(let E=R;E{const x=d.el=u.el;let{patchFlag:R,dynamicChildren:E,dirs:P}=d;R|=u.patchFlag&16;const B=u.props||ee,j=d.props||ee;let W;if(g&&nt(g,!1),(W=j.onVnodeBeforeUpdate)&&Ce(W,g,d,u),P&&Me(d,u,g,"beforeUpdate"),g&&nt(g,!0),E?w(u.dynamicChildren,E,x,g,y,Gn(d,v),S):L||V(u,d,x,null,g,y,Gn(d,v),S,!1),R>0){if(R&16)H(x,d,B,j,g,y,v);else if(R&2&&B.class!==j.class&&o(x,"class",null,j.class,v),R&4&&o(x,"style",B.style,j.style,v),R&8){const z=d.dynamicProps;for(let Q=0;Q{W&&Ce(W,g,d,u),P&&Me(d,u,g,"updated")},y)},w=(u,d,g,y,v,S,L)=>{for(let x=0;x{if(g!==y){if(g!==ee)for(const x in g)!yt(x)&&!(x in y)&&o(u,x,g[x],null,L,d.children,v,S,He);for(const x in y){if(yt(x))continue;const R=y[x],E=g[x];R!==E&&x!=="value"&&o(u,x,E,R,L,d.children,v,S,He)}"value"in y&&o(u,"value",g.value,y.value,L)}},A=(u,d,g,y,v,S,L,x,R)=>{const E=d.el=u?u.el:l(""),P=d.anchor=u?u.anchor:l("");let{patchFlag:B,dynamicChildren:j,slotScopeIds:W}=d;W&&(x=x?x.concat(W):W),u==null?(r(E,g,y),r(P,g,y),T(d.children||[],g,P,v,S,L,x,R)):B>0&&B&64&&j&&u.dynamicChildren?(w(u.dynamicChildren,j,g,v,S,L,x),(d.key!=null||v&&d===v.subTree)&&Ur(u,d,!0)):V(u,d,g,P,v,S,L,x,R)},G=(u,d,g,y,v,S,L,x,R)=>{d.slotScopeIds=x,u==null?d.shapeFlag&512?v.ctx.activate(d,g,y,L,R):le(d,g,y,v,S,L,R):fe(u,d,R)},le=(u,d,g,y,v,S,L)=>{const x=u.component=wc(u,y,v);if(Wt(u)&&(x.ctx.renderer=ht),Ec(x),x.asyncDep){if(v&&v.registerDep(x,U),!u.el){const R=x.subTree=oe(ye);q(null,R,d,g)}}else U(x,u,d,g,v,S,L)},fe=(u,d,g)=>{const y=d.component=u.component;if(Tl(u,d,g))if(y.asyncDep&&!y.asyncResolved){X(y,d,g);return}else y.next=d,bl(y.update),y.effect.dirty=!0,y.update();else d.el=u.el,y.vnode=d},U=(u,d,g,y,v,S,L)=>{const x=()=>{if(u.isMounted){let{next:P,bu:B,u:j,parent:W,vnode:z}=u;{const pt=qo(u);if(pt){P&&(P.el=z.el,X(u,P,L)),pt.asyncDep.then(()=>{u.isUnmounted||x()});return}}let Q=P,te;nt(u,!1),P?(P.el=z.el,X(u,P,L)):P=z,B&&fn(B),(te=P.props&&P.props.onVnodeBeforeUpdate)&&Ce(te,W,P,z),nt(u,!0);const ae=kn(u),Te=u.subTree;u.subTree=ae,I(Te,ae,h(Te.el),Xt(Te),u,v,S),P.el=ae.el,Q===null&&Al(u,ae.el),j&&me(j,v),(te=P.props&&P.props.onVnodeUpdated)&&me(()=>Ce(te,W,P,z),v)}else{let P;const{el:B,props:j}=d,{bm:W,m:z,parent:Q}=u,te=vt(d);if(nt(u,!1),W&&fn(W),!te&&(P=j&&j.onVnodeBeforeMount)&&Ce(P,Q,d),nt(u,!0),B&&Un){const ae=()=>{u.subTree=kn(u),Un(B,u.subTree,u,v,null)};te?d.type.__asyncLoader().then(()=>!u.isUnmounted&&ae()):ae()}else{const ae=u.subTree=kn(u);I(null,ae,g,y,u,v,S),d.el=ae.el}if(z&&me(z,v),!te&&(P=j&&j.onVnodeMounted)){const ae=d;me(()=>Ce(P,Q,ae),v)}(d.shapeFlag&256||Q&&vt(Q.vnode)&&Q.vnode.shapeFlag&256)&&u.a&&me(u.a,v),u.isMounted=!0,d=g=y=null}},R=u.effect=new Ar(x,xe,()=>In(E),u.scope),E=u.update=()=>{R.dirty&&R.run()};E.id=u.uid,nt(u,!0),E()},X=(u,d,g)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,nc(u,d.props,y,g),oc(u,d.children,g),Ze(),os(u),et()},V=(u,d,g,y,v,S,L,x,R=!1)=>{const E=u&&u.children,P=u?u.shapeFlag:0,B=d.children,{patchFlag:j,shapeFlag:W}=d;if(j>0){if(j&128){zt(E,B,g,y,v,S,L,x,R);return}else if(j&256){je(E,B,g,y,v,S,L,x,R);return}}W&8?(P&16&&He(E,v,S),B!==E&&f(g,B)):P&16?W&16?zt(E,B,g,y,v,S,L,x,R):He(E,v,S,!0):(P&8&&f(g,""),W&16&&T(B,g,y,v,S,L,x,R))},je=(u,d,g,y,v,S,L,x,R)=>{u=u||mt,d=d||mt;const E=u.length,P=d.length,B=Math.min(E,P);let j;for(j=0;jP?He(u,v,S,!0,!1,B):T(d,g,y,v,S,L,x,R,B)},zt=(u,d,g,y,v,S,L,x,R)=>{let E=0;const P=d.length;let B=u.length-1,j=P-1;for(;E<=B&&E<=j;){const W=u[E],z=d[E]=R?Ge(d[E]):Ae(d[E]);if(it(W,z))I(W,z,g,null,v,S,L,x,R);else break;E++}for(;E<=B&&E<=j;){const W=u[B],z=d[j]=R?Ge(d[j]):Ae(d[j]);if(it(W,z))I(W,z,g,null,v,S,L,x,R);else break;B--,j--}if(E>B){if(E<=j){const W=j+1,z=Wj)for(;E<=B;)Le(u[E],v,S,!0),E++;else{const W=E,z=E,Q=new Map;for(E=z;E<=j;E++){const ve=d[E]=R?Ge(d[E]):Ae(d[E]);ve.key!=null&&Q.set(ve.key,E)}let te,ae=0;const Te=j-z+1;let pt=!1,zr=0;const St=new Array(Te);for(E=0;E=Te){Le(ve,v,S,!0);continue}let Ie;if(ve.key!=null)Ie=Q.get(ve.key);else for(te=z;te<=j;te++)if(St[te-z]===0&&it(ve,d[te])){Ie=te;break}Ie===void 0?Le(ve,v,S,!0):(St[Ie-z]=E+1,Ie>=zr?zr=Ie:pt=!0,I(ve,d[Ie],g,null,v,S,L,x,R),ae++)}const Xr=pt?fc(St):mt;for(te=Xr.length-1,E=Te-1;E>=0;E--){const ve=z+E,Ie=d[ve],Yr=ve+1{const{el:S,type:L,transition:x,children:R,shapeFlag:E}=u;if(E&6){tt(u.component.subTree,d,g,y);return}if(E&128){u.suspense.move(d,g,y);return}if(E&64){L.move(u,d,g,ht);return}if(L===_e){r(S,d,g);for(let B=0;Bx.enter(S),v);else{const{leave:B,delayLeave:j,afterLeave:W}=x,z=()=>r(S,d,g),Q=()=>{B(S,()=>{z(),W&&W()})};j?j(S,z,Q):Q()}else r(S,d,g)},Le=(u,d,g,y=!1,v=!1)=>{const{type:S,props:L,ref:x,children:R,dynamicChildren:E,shapeFlag:P,patchFlag:B,dirs:j}=u;if(x!=null&&wn(x,null,g,u,!0),P&256){d.ctx.deactivate(u);return}const W=P&1&&j,z=!vt(u);let Q;if(z&&(Q=L&&L.onVnodeBeforeUnmount)&&Ce(Q,d,u),P&6)Si(u.component,g,y);else{if(P&128){u.suspense.unmount(g,y);return}W&&Me(u,null,d,"beforeUnmount"),P&64?u.type.remove(u,d,g,v,ht,y):E&&(S!==_e||B>0&&B&64)?He(E,d,g,!1,!0):(S===_e&&B&384||!v&&P&16)&&He(R,d,g),y&&qr(u)}(z&&(Q=L&&L.onVnodeUnmounted)||W)&&me(()=>{Q&&Ce(Q,d,u),W&&Me(u,null,d,"unmounted")},g)},qr=u=>{const{type:d,el:g,anchor:y,transition:v}=u;if(d===_e){xi(g,y);return}if(d===Pt){_(u);return}const S=()=>{s(g),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(u.shapeFlag&1&&v&&!v.persisted){const{leave:L,delayLeave:x}=v,R=()=>L(g,S);x?x(u.el,S,R):R()}else S()},xi=(u,d)=>{let g;for(;u!==d;)g=m(u),s(u),u=g;s(d)},Si=(u,d,g)=>{const{bum:y,scope:v,update:S,subTree:L,um:x}=u;y&&fn(y),v.stop(),S&&(S.active=!1,Le(L,u,d,g)),x&&me(x,d),me(()=>{u.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},He=(u,d,g,y=!1,v=!1,S=0)=>{for(let L=S;Lu.shapeFlag&6?Xt(u.component.subTree):u.shapeFlag&128?u.suspense.next():m(u.anchor||u.el);let Vn=!1;const Gr=(u,d,g)=>{u==null?d._vnode&&Le(d._vnode,null,null,!0):I(d._vnode||null,u,d,null,null,null,g),Vn||(Vn=!0,os(),yn(),Vn=!1),d._vnode=u},ht={p:I,um:Le,m:tt,r:qr,mt:le,mc:T,pc:V,pbc:w,n:Xt,o:e};let Dn,Un;return t&&([Dn,Un]=t(ht)),{render:Gr,hydrate:Dn,createApp:Zl(Gr,Dn)}}function Gn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Wo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ur(e,t,n=!1){const r=e.children,s=t.children;if(k(r)&&k(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function qo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qo(t)}const dc=e=>e.__isTeleport,Mt=e=>e&&(e.disabled||e.disabled===""),_s=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ys=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,yr=(e,t)=>{const n=e&&e.to;return se(n)?t?t(n):null:n},hc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,c,a){const{mc:f,pc:h,pbc:m,o:{insert:b,querySelector:C,createText:I,createComment:$}}=a,q=Mt(t.props);let{shapeFlag:D,children:p,dynamicChildren:_}=t;if(e==null){const M=t.el=I(""),O=t.anchor=I("");b(M,n,r),b(O,n,r);const N=t.target=yr(t.props,C),T=t.targetAnchor=I("");N&&(b(T,N),i==="svg"||_s(N)?i="svg":(i==="mathml"||ys(N))&&(i="mathml"));const F=(w,H)=>{D&16&&f(p,w,H,s,o,i,l,c)};q?F(n,O):N&&F(N,T)}else{t.el=e.el;const M=t.anchor=e.anchor,O=t.target=e.target,N=t.targetAnchor=e.targetAnchor,T=Mt(e.props),F=T?n:O,w=T?M:N;if(i==="svg"||_s(O)?i="svg":(i==="mathml"||ys(O))&&(i="mathml"),_?(m(e.dynamicChildren,_,F,s,o,i,l),Ur(e,t,!0)):c||h(e,t,F,w,s,o,i,l,!1),q)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):on(t,n,M,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const H=t.target=yr(t.props,C);H&&on(t,H,null,a,0)}else T&&on(t,O,N,a,1)}Go(t)},remove(e,t,n,r,{um:s,o:{remove:o}},i){const{shapeFlag:l,children:c,anchor:a,targetAnchor:f,target:h,props:m}=e;if(h&&o(f),i&&o(a),l&16){const b=i||!Mt(m);for(let C=0;C0?Re||mt:null,gc(),Dt>0&&Re&&Re.push(e),e}function du(e,t,n,r,s,o){return Xo(Qo(e,t,n,r,s,o,!0))}function Yo(e,t,n,r,s){return Xo(oe(e,t,n,r,s,!0))}function En(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Jo=({key:e})=>e??null,hn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||de(e)||K(e)?{i:ce,r:e,k:t,f:!!n}:e:null);function Qo(e,t=null,n=null,r=0,s=null,o=e===_e?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jo(t),ref:t&&hn(t),scopeId:Pn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:ce};return l?(Br(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Dt>0&&!i&&Re&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Re.push(c),c}const oe=mc;function mc(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===xo)&&(e=ye),En(e)){const l=Qe(e,t,!0);return n&&Br(l,n),Dt>0&&!o&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Tc(e)&&(e=e.__vccOpts),t){t=_c(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=Tr(l)),Z(c)&&(po(c)&&!k(c)&&(c=ie({},c)),t.style=Sr(c))}const i=se(e)?1:Rl(e)?128:dc(e)?64:Z(e)?4:K(e)?2:0;return Qo(e,t,n,r,s,i,o,!0)}function _c(e){return e?po(e)||Ho(e)?ie({},e):e:null}function Qe(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:c}=e,a=t?yc(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Jo(a),ref:t&&t.ref?n&&o?k(o)?o.concat(hn(t)):[o,hn(t)]:hn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qe(e.ssContent),ssFallback:e.ssFallback&&Qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&(f.transition=c.clone(f)),f}function Zo(e=" ",t=0){return oe(Et,null,e,t)}function hu(e,t){const n=oe(Pt,null,e);return n.staticCount=t,n}function pu(e="",t=!1){return t?(zo(),Yo(ye,null,e)):oe(ye,null,e)}function Ae(e){return e==null||typeof e=="boolean"?oe(ye):k(e)?oe(_e,null,e.slice()):typeof e=="object"?Ge(e):oe(Et,null,String(e))}function Ge(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qe(e)}function Br(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(k(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Br(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Ho(t)?t._ctx=ce:s===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),r&64?(n=16,t=[Zo(t)]):n=8);e.children=t,e.shapeFlag|=n}function yc(...e){const t={};for(let n=0;nue||ce;let Cn,br;{const e=Qs(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Cn=t("__VUE_INSTANCE_SETTERS__",n=>ue=n),br=t("__VUE_SSR_SETTERS__",n=>Gt=n)}const qt=e=>{const t=ue;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(t)}},vs=()=>{ue&&ue.scope.off(),Cn(null)};function ei(e){return e.vnode.shapeFlag&4}let Gt=!1;function Ec(e,t=!1){t&&br(t);const{props:n,children:r}=e.vnode,s=ei(e);tc(e,n,s,t),sc(e,r);const o=s?Cc(e,t):void 0;return t&&br(!1),o}function Cc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wl);const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?ni(e):null,o=qt(e);Ze();const i=Ye(r,e,0,[e.props,s]);if(et(),o(),zs(i)){if(i.then(vs,vs),t)return i.then(l=>{ws(e,l,t)}).catch(l=>{Kt(l,e,0)});e.asyncDep=i}else ws(e,i,t)}else ti(e,t)}function ws(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=yo(t)),ti(e,n)}let Es;function ti(e,t,n){const r=e.type;if(!e.render){if(!t&&Es&&!r.render){const s=r.template||Vr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,a=ie(ie({isCustomElement:o,delimiters:l},i),c);r.render=Es(s,a)}}e.render=r.render||xe}{const s=qt(e);Ze();try{Gl(e)}finally{et(),s()}}}const xc={get(e,t){return be(e,"get",""),e[t]}};function ni(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xc),slots:e.slots,emit:e.emit,expose:t}}function Hn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(yo(dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Lt)return Lt[n](e)},has(t,n){return n in t||n in Lt}}))}function Sc(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Tc(e){return K(e)&&"__vccOpts"in e}const ne=(e,t)=>cl(e,t,Gt);function vr(e,t,n){const r=arguments.length;return r===2?Z(t)&&!k(t)?En(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&En(n)&&(n=[n]),oe(e,t,n))}const Ac="3.4.27";/** +* @vue/runtime-dom v3.4.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Rc="http://www.w3.org/2000/svg",Oc="http://www.w3.org/1998/Math/MathML",ze=typeof document<"u"?document:null,Cs=ze&&ze.createElement("template"),Lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?ze.createElementNS(Rc,e):t==="mathml"?ze.createElementNS(Oc,e):ze.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ze.createTextNode(e),createComment:e=>ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Cs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Cs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ke="transition",Tt="animation",Ut=Symbol("_vtc"),ri=(e,{slots:t})=>vr(Nl,Ic(e),t);ri.displayName="Transition";const si={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ri.props=ie({},Ro,si);const rt=(e,t=[])=>{k(e)?e.forEach(n=>n(...t)):e&&e(...t)},xs=e=>e?k(e)?e.some(t=>t.length>1):e.length>1:!1;function Ic(e){const t={};for(const A in e)A in si||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:b=`${n}-leave-to`}=e,C=Mc(s),I=C&&C[0],$=C&&C[1],{onBeforeEnter:q,onEnter:D,onEnterCancelled:p,onLeave:_,onLeaveCancelled:M,onBeforeAppear:O=q,onAppear:N=D,onAppearCancelled:T=p}=t,F=(A,G,le)=>{st(A,G?f:l),st(A,G?a:i),le&&le()},w=(A,G)=>{A._isLeaving=!1,st(A,h),st(A,b),st(A,m),G&&G()},H=A=>(G,le)=>{const fe=A?N:D,U=()=>F(G,A,le);rt(fe,[G,U]),Ss(()=>{st(G,A?c:o),Ke(G,A?f:l),xs(fe)||Ts(G,r,I,U)})};return ie(t,{onBeforeEnter(A){rt(q,[A]),Ke(A,o),Ke(A,i)},onBeforeAppear(A){rt(O,[A]),Ke(A,c),Ke(A,a)},onEnter:H(!1),onAppear:H(!0),onLeave(A,G){A._isLeaving=!0;const le=()=>w(A,G);Ke(A,h),Ke(A,m),Fc(),Ss(()=>{A._isLeaving&&(st(A,h),Ke(A,b),xs(_)||Ts(A,r,$,le))}),rt(_,[A,le])},onEnterCancelled(A){F(A,!1),rt(p,[A])},onAppearCancelled(A){F(A,!0),rt(T,[A])},onLeaveCancelled(A){w(A),rt(M,[A])}})}function Mc(e){if(e==null)return null;if(Z(e))return[zn(e.enter),zn(e.leave)];{const t=zn(e);return[t,t]}}function zn(e){return Ii(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function Ss(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pc=0;function Ts(e,t,n,r){const s=e._endId=++Pc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Nc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=b=>{b.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=As(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=As(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const b=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:b}}function As(e,t){for(;e.lengthRs(n)+Rs(e[r])))}function Rs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function $c(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Os=Symbol("_vod"),jc=Symbol("_vsh"),Hc=Symbol(""),Vc=/(^|;)\s*display\s*:/;function Dc(e,t,n){const r=e.style,s=se(n);let o=!1;if(n&&!s){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(r,l,"")}else for(const i in t)n[i]==null&&pn(r,i,"");for(const i in n)i==="display"&&(o=!0),pn(r,i,n[i])}else if(s){if(t!==n){const i=r[Hc];i&&(n+=";"+i),r.cssText=n,o=Vc.test(n)}}else t&&e.removeAttribute("style");Os in e&&(e[Os]=o?r.display:"",e[jc]&&(r.display="none"))}const Ls=/\s*!important$/;function pn(e,t,n){if(k(n))n.forEach(r=>pn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Uc(e,t);Ls.test(n)?e.setProperty(dt(r),n.replace(Ls,""),"important"):e[r]=n}}const Is=["Webkit","Moz","ms"],Xn={};function Uc(e,t){const n=Xn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Xn[t]=r;r=Tn(r);for(let s=0;sYn||(Gc.then(()=>Yn=0),Yn=Date.now());function Xc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Yc(r,n.value),t,5,[r])};return n.value=e,n.attached=zc(),n}function Yc(e,t){if(k(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?$c(e,r,a):t==="style"?Dc(e,n,r):kt(t)?Er(t)||Wc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qc(e,t,r,a))?kc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Bc(e,t,r,a))};function Qc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fs(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Fs(t)&&se(n)?!1:t in e}const $s=e=>{const t=e.props["onUpdate:modelValue"]||!1;return k(t)?n=>fn(t,n):t};function Zc(e){e.target.composing=!0}function js(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Jn=Symbol("_assign"),gu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Jn]=$s(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=lr(l)),e[Jn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",Zc),gt(e,"compositionend",js),gt(e,"change",js))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[Jn]=$s(o),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?lr(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},ea=["ctrl","shift","alt","meta"],ta={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},mu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=dt(s.key);if(t.some(i=>i===o||na[i]===o))return e(s)})},oi=ie({patchProp:Jc},Lc);let Ft,Hs=!1;function ra(){return Ft||(Ft=ac(oi))}function sa(){return Ft=Hs?Ft:uc(oi),Hs=!0,Ft}const yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,ii(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},bu=(...e)=>{const t=sa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(s)return n(s,!0,ii(s))},t};function ii(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function li(e){return se(e)?document.querySelector(e):e}const vu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},wu="/images/read-and-change-data-error.jpg",Eu="/images/read-and-change-data-on-firefox.jpg",Cu="/images/manually-set-token-of-joplin.png",xu="/images/editResource.gif",Su="/images/pasteImage.gif",Tu="/images/copy-link.gif",Au="/images/install-plugin.png",Ru="/images/joplin-settings.png",Ou="/images/joplin-publisher-github-create-1.png",Lu="/images/joplin-publisher-github-create-2.png",Iu="/images/joplin-publisher-github-create-3.png",Mu="/images/joplin-publisher-github-setting-1.png",Pu="/images/joplin-publisher-github-setting-2.png",Nu="/images/joplin-publisher-joplin-setting-1.png",Fu="/images/joplin-publisher-joplin-publish-1.png",$u="/images/joplin-publisher-joplin-blog-1.png",oa="modulepreload",ia=function(e){return"/"+e},Vs={},ju=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=ia(l),l in Vs)return;Vs[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":oa,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},la=window.__VP_SITE_DATA__;function kr(e){return to()?(Di(e),!0):!1}function Fe(e){return typeof e=="function"?e():_o(e)}const ci=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ca=Object.prototype.toString,aa=e=>ca.call(e)==="[object Object]",Bt=()=>{},Ds=ua();function ua(){var e,t;return ci&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function fa(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function da(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function ha(e=ai){const t=re(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:On(t),pause:n,resume:r,eventFilter:s}}function pa(e){return jn()}function ui(...e){if(e.length!==1)return gl(...e);const t=e[0];return typeof t=="function"?On(dl(()=>({get:t,set:Bt}))):re(t)}function fi(e,t,n={}){const{eventFilter:r=ai,...s}=n;return Ne(e,fa(r,t),s)}function ga(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=ha(r);return{stop:fi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Kr(e,t=!0,n){pa()?xt(e,n):t?e():Ln(e)}function Hu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return fi(e,t,{...o,eventFilter:da(r,{maxWait:s})})}function Vu(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=re(!s),a=i?Fr(t):re(t);let f=0;return jr(async h=>{if(!c.value)return;f++;const m=f;let b=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(I=>{h(()=>{o&&(o.value=!1),b||I()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),b=!0}}),s?ne(()=>(c.value=!0,a.value)):a}function di(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=ci?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,b)=>(f.addEventListener(h,m,b),()=>f.removeEventListener(h,m,b)),c=Ne(()=>[di(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=aa(h)?{...h}:h;o.push(...n.flatMap(b=>r.map(C=>l(f,b,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return kr(a),a}function ma(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Du(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ma(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function _a(){const e=re(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function ya(e){const t=_a();return ne(()=>(t.value,!!e()))}function hi(e,t={}){const{window:n=Oe}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=re(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=jr(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",ba=va();function va(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function pi(e,t){return ba[e]||t}function wa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Ea={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Us="vueuse-storage";function Wr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Oe,eventFilter:m,onError:b=w=>{console.error(w)},initOnMounted:C}=r,I=(f?Fr:re)(typeof t=="function"?t():t);if(!n)try{n=pi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){b(w)}if(!n)return I;const $=Fe(t),q=wa($),D=(s=r.serializer)!=null?s:Ea[q],{pause:p,resume:_}=ga(I,()=>O(I.value),{flush:o,deep:i,eventFilter:m});h&&l&&Kr(()=>{Ct(h,"storage",T),Ct(h,Us,F),C&&T()}),C||T();function M(w,H){h&&h.dispatchEvent(new CustomEvent(Us,{detail:{key:e,oldValue:w,newValue:H,storageArea:n}}))}function O(w){try{const H=n.getItem(e);if(w==null)M(H,null),n.removeItem(e);else{const A=D.write(w);H!==A&&(n.setItem(e,A),M(H,A))}}catch(H){b(H)}}function N(w){const H=w?w.newValue:n.getItem(e);if(H==null)return c&&$!=null&&n.setItem(e,D.write($)),$;if(!w&&a){const A=D.read(H);return typeof a=="function"?a(A,$):q==="object"&&!Array.isArray(A)?{...$,...A}:A}else return typeof H!="string"?H:D.read(H)}function T(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){I.value=$;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==D.write(I.value)&&(I.value=N(w))}catch(H){b(H)}finally{w?Ln(_):_()}}}}function F(w){T(w.detail)}return I}function gi(e){return hi("(prefers-color-scheme: dark)",e)}function Ca(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},m=gi({window:s}),b=ne(()=>m.value?"dark":"light"),C=c||(i==null?ui(r):Wr(i,r,o,{window:s,listenToStorageChanges:l})),I=ne(()=>C.value==="auto"?b.value:C.value),$=pi("updateHTMLAttrs",(_,M,O)=>{const N=typeof _=="string"?s==null?void 0:s.document.querySelector(_):di(_);if(!N)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),M==="class"){const F=O.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{F.includes(w)?N.classList.add(w):N.classList.remove(w)})}else N.setAttribute(M,O);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function q(_){var M;$(t,n,(M=h[_])!=null?M:_)}function D(_){e.onChanged?e.onChanged(_,q):q(_)}Ne(I,D,{flush:"post",immediate:!0}),Kr(()=>D(I.value));const p=ne({get(){return a?C.value:I.value},set(_){C.value=_}});try{return Object.assign(p,{store:C,system:b,state:I})}catch{return p}}function xa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=Ca({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=ne(()=>s.system?s.system.value:gi({window:r}).value?"dark":"light");return ne({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Qn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Uu(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.localStorage,n)}function mi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Zn=new WeakMap;function Bu(e,t=!1){const n=re(t);let r=null,s="";Ne(ui(e),l=>{const c=Qn(Fe(l));if(c){const a=c;if(Zn.get(a)||Zn.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(s=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const o=()=>{const l=Qn(Fe(e));!l||n.value||(Ds&&(r=Ct(l,"touchmove",c=>{Sa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=Qn(Fe(e));!l||!n.value||(Ds&&(r==null||r()),l.style.overflow=s,Zn.delete(l),n.value=!1)};return kr(i),ne({get(){return n.value},set(l){l?o():i()}})}function ku(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.sessionStorage,n)}function Ku(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:re(0),y:re(0)};const r=re(t.scrollX),s=re(t.scrollY),o=ne({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=ne({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Wu(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=re(n),l=re(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Kr(c),Ct("resize",c,{passive:!0}),s){const a=hi("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var er={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},tr={};const _i=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",Aa=/#.*$/,Ra=/[?#].*$/,Oa=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",yi={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function La(e,t,n=!1){if(t===void 0)return!1;if(e=Bs(`/${e}`),n)return new RegExp(t).test(e);if(Bs(t)!==e)return!1;const r=t.match(Aa);return r?(he?location.hash:"")===r[0]:!0}function Bs(e){return decodeURI(e).replace(Ra,"").replace(Oa,"$1")}function Ia(e){return _i.test(e)}function Ma(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ia(n)&&La(t,`/${n}/`,!0))||"root"}function Pa(e,t){var r,s,o,i,l,c,a;const n=Ma(e,t);return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:vi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function bi(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Na(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Na(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Fa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function vi(e,t){return[...e.filter(n=>!Fa(t,n)),...t]}const $a=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ja=/^[a-z]:/i;function ks(e){const t=ja.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace($a,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const nr=new Set;function Ha(e){if(nr.size===0){const n=typeof process=="object"&&(tr==null?void 0:tr.VITE_EXTRA_EXTENSIONS)||(er==null?void 0:er.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(r=>nr.add(r))}const t=e.split(".").pop();return t==null||!nr.has(t.toLowerCase())}function qu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Va=Symbol(),ut=Fr(la);function Gu(e){const t=ne(()=>Pa(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?re(!0):n?xa({storageKey:Ta,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):re(!1),s=re(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=he?location.hash:""}),{site:t,theme:ne(()=>t.value.themeConfig),page:ne(()=>e.data),frontmatter:ne(()=>e.data.frontmatter),params:ne(()=>e.data.params),lang:ne(()=>t.value.lang),dir:ne(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ne(()=>t.value.localeIndex||"root"),title:ne(()=>bi(t.value,e.data)),description:ne(()=>e.data.description||t.value.description),isDark:r,hash:ne(()=>s.value)}}function Da(){const e=wt(Va);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ua(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Ks(e){return _i.test(e)||!e.startsWith("/")?e:Ua(ut.value.base,e)}function Ba(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/";t=ks(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${ks(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function zu(e){gn.push(e),$n(()=>{gn=gn.filter(t=>t!==e)})}function ka(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ws(e,n);else if(Array.isArray(e))for(const r of e){const s=Ws(r,n);if(s){t=s;break}}return t}function Ws(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ka=Symbol(),wi="http://a.com",Wa=()=>({path:"/",component:null,data:yi});function Xu(e,t){const n=Rn(Wa()),r={route:n,go:s};async function s(l=he?location.href:"/"){var c,a;l=rr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(he&&l!==rr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,wi),h=o=f.pathname;try{let b=await e(h);if(!b)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:I}=b;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=he?h:Ks(h),n.component=dn(C),n.data=dn(I),he&&Ln(()=>{let $=ut.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!$.endsWith("/")&&($+=".html"),$!==f.pathname&&(f.pathname=$,l=$+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let q=null;try{q=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(D){console.warn(D)}if(q){qs(q,f.hash);return}}window.scrollTo(0,c)})}}catch(b){if(!/fetch|Page not found/.test(b.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(b),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=he?h:Ks(h),n.component=t?dn(t):null;const C=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...yi,relativePath:C}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:m,pathname:b,hash:C,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),$=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&m===$.origin&&Ha(b)&&(l.preventDefault(),b===$.pathname&&I===$.search?(C!==$.hash&&(history.pushState({},"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:$.href,newURL:h}))),C?qs(a,C,a.classList.contains("header-anchor")):window.scrollTo(0,0)):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(rr(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function qa(){const e=wt(Ka);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ei(){return qa().route}function qs(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-ka()+o;requestAnimationFrame(s)}}function rr(e){const t=new URL(e,wi);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const sr=()=>gn.forEach(e=>e()),Yu=Hr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ei(),{site:n}=Da();return()=>vr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?vr(t.component,{onVnodeMounted:sr,onVnodeUpdated:sr,onVnodeUnmounted:sr}):"404 Page Not Found"])}}),Ju=Hr({setup(e,{slots:t}){const n=re(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Qu(){he&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Zu(){if(he){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Ga(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Ga(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function ef(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=or(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(or);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};jr(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=bi(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):or(["meta",{name:"description",content:f}]),s(vi(i.head,Xa(c)))})}function or([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function za(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Xa(e){return e.filter(t=>!za(t))}const ir=new Set,Ci=()=>document.createElement("link"),Ya=e=>{const t=Ci();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ja=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let an;const Qa=he&&(an=Ci())&&an.relList&&an.relList.supports&&an.relList.supports("prefetch")?Ya:Ja;function tf(){if(!he||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ir.has(c)){ir.add(c);const a=Ba(c);a&&Qa(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ir.add(l))})})};xt(r);const s=Ei();Ne(()=>s.path,r),$n(()=>{n&&n.disconnect()})}export{_u as $,su as A,Dl as B,ka as C,nu as D,lu as E,_e as F,Fr as G,zu as H,oe as I,ru as J,_i as K,Ei as L,yc as M,wt as N,Wu as O,Sr as P,Du as Q,Ln as R,Ku as S,ri as T,he as U,On as V,iu as W,ju as X,Bu as Y,ec as Z,vu as _,Zo as a,au as a0,mu as a1,uu as a2,hu as a3,wu as a4,Eu as a5,Cu as a6,xu as a7,Su as a8,Tu as a9,Vu as aA,ku as aB,Uu as aC,Hu as aD,qa as aE,Ct as aF,Mo as aG,ou as aH,gu as aI,de as aJ,fu as aK,dn as aL,yu as aM,qu as aN,Au as aa,Ru as ab,Ou as ac,Lu as ad,Iu as ae,Mu as af,Pu as ag,Nu as ah,Fu as ai,$u as aj,ef as ak,Ka as al,Gu as am,Va as an,Yu as ao,Ju as ap,ut as aq,bu as ar,Xu as as,Ba as at,tf as au,Zu as av,Qu as aw,vr as ax,di as ay,kr as az,Yo as b,du as c,Hr as d,pu as e,Ha as f,Ks as g,ne as h,Ia as i,Qo as j,_o as k,tu as l,La as m,Tr as n,zo as o,eu as p,hi as q,cu as r,re as s,Za as t,Da as u,Ne as v,Cl as w,jr as x,xt as y,$n as z}; diff --git a/assets/chunks/theme.D57Qw8QF.js b/assets/chunks/theme.D57Qw8QF.js new file mode 100644 index 00000000..9bf4f184 --- /dev/null +++ b/assets/chunks/theme.D57Qw8QF.js @@ -0,0 +1,2 @@ +const __vite__fileDeps=["assets/chunks/VPLocalSearchBox.BRvigAGp.js","assets/chunks/framework.1smVRZMp.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +import{d as _,o as a,c,r as l,n as N,a as D,t as I,b as $,w as d,e as f,T as ve,_ as b,u as Ue,i as Ge,f as je,g as pe,h as y,j as v,k as r,p as B,l as H,m as z,q as ie,s as w,v as j,x as Z,y as R,z as he,A as ye,B as ze,C as qe,D as q,F as M,E,G as Pe,H as x,I as m,J as W,K as Le,L as ee,M as Y,N as te,O as Ke,P as Ve,Q as le,R as We,S as Se,U as oe,V as Re,W as Je,X as Ye,Y as Te,Z as Ie,$ as Qe,a0 as Xe,a1 as Ze,a2 as xe}from"./framework.1smVRZMp.js";const et=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[D(I(e.text),1)])],2))}}),tt={key:0,class:"VPBackdrop"},ot=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),$(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",tt)):f("",!0)]),_:1}))}}),st=b(ot,[["__scopeId","data-v-e37d31fa"]]),P=Ue;function nt(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(Ge(o)||o.startsWith("#")||!s.startsWith("http")||!je(e))return o;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${n}`);return pe(u)}function J({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:n,theme:s,hash:i}=P(),u=y(()=>{var p,g;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,g])=>u.value.label===g.label?[]:{text:g.label,link:at(g.link||(p==="root"?"/":`/${p}/`),s.value.i18nRouting!==!1&&o,n.value.relativePath.slice(u.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:u}}function at(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const rt=o=>(B("data-v-290198ef"),o=o(),H(),o),it={class:"NotFound"},lt={class:"code"},ct={class:"title"},ut=rt(()=>v("div",{class:"divider"},null,-1)),dt={class:"quote"},vt={class:"action"},pt=["href","aria-label"],ht=_({__name:"NotFound",setup(o){const{theme:e}=P(),{currentLang:t}=J();return(n,s)=>{var i,u,h,p,g;return a(),c("div",it,[v("p",lt,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),v("h1",ct,I(((u=r(e).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),ut,v("blockquote",dt,I(((h=r(e).notFound)==null?void 0:h.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",vt,[v("a",{class:"link",href:r(pe)(r(t).link),"aria-label":((p=r(e).notFound)==null?void 0:p.linkLabel)??"go to home"},I(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,pt)])])}}}),ft=b(ht,[["__scopeId","data-v-290198ef"]]);function we(o,e){if(Array.isArray(o))return Q(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((s,i)=>i.split("/").length-s.split("/").length).find(s=>e.startsWith(ce(s))),n=t?o[t]:[];return Array.isArray(n)?Q(n):Q(n.items,n.base)}function _t(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function mt(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):z(o,e.link)?!0:e.items?ue(o,e.items):!1}function Q(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=Q(n.items,s)),n})}function O(){const{frontmatter:o,page:e,theme:t}=P(),n=ie("(min-width: 960px)"),s=w(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?we(C,S):[]}),u=w(i.value);j(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(u.value=i.value)});const h=y(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=y(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),L=y(()=>h.value&&n.value),k=y(()=>h.value?_t(u.value):[]);function V(){s.value=!0}function T(){s.value=!1}function A(){s.value?T():V()}return{isOpen:s,sidebar:u,sidebarGroups:k,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:L,open:V,close:T,toggle:A}}function kt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",n)}),he(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e,hash:t}=P(),n=w(!1),s=y(()=>o.value.collapsed!=null),i=y(()=>!!o.value.link),u=w(!1),h=()=>{u.value=z(e.value.relativePath,o.value.link)};j([e,o,t],h),R(h);const p=y(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),g=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{n.value=!!(s.value&&o.value.collapsed)}),ye(()=>{(u.value||p.value)&&(n.value=!1)});function L(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:i,isActiveLink:u,hasActiveLink:p,hasChildren:g,toggle:L}}function $t(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ne(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function _e(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:gt(t),link:"#"+t.id,level:n}});return yt(e,o)}function gt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=n&&u.level<=s),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const g=o[p];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",n)}),ze(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",n)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,L=Math.abs(h+p-g)<1,k=de.map(({element:T,link:A})=>({link:A,top:Lt(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!k.length){u(null);return}if(h<1){u(null);return}if(L){u(k[k.length-1].link);return}let V=null;for(const{link:T,top:A}of k){if(A>h+qe()+4)break;V=T}u(V)}function u(h){s&&s.classList.remove("active"),h==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=s;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const Vt=["href","title"],St=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=q("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,Vt),i!=null&&i.length?(a(),$(s,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Me=b(St,[["__scopeId","data-v-29f7b380"]]),Tt={class:"content"},It={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},wt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=P(),n=Pe([]);x(()=>{n.value=_e(e.value.outline??t.value.outline)});const s=w(),i=w();return Pt(s,i),(u,h)=>(a(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s},[v("div",Tt,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",It,I(r(Ne)(r(t))),1),m(Me,{headers:n.value,root:!0},null,8,["headers"])])],2))}}),Nt=b(wt,[["__scopeId","data-v-1984d6e2"]]),Mt={class:"VPDocAsideCarbonAds"},At=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),c("div",Mt,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ct=o=>(B("data-v-4089cdcb"),o=o(),H(),o),Bt={class:"VPDocAside"},Ht=Ct(()=>v("div",{class:"spacer"},null,-1)),Et=_({__name:"VPDocAside",setup(o){const{theme:e}=P();return(t,n)=>(a(),c("div",Bt,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Nt),l(t.$slots,"aside-outline-after",{},void 0,!0),Ht,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(At,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ft=b(Et,[["__scopeId","data-v-4089cdcb"]]);function Dt(){const{theme:o,page:e}=P();return y(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function Ot(){const{page:o,theme:e,frontmatter:t}=P();return y(()=>{var g,L,k,V,T,A,C,S;const n=we(e.value.sidebar,o.value.relativePath),s=mt(n),i=Ut(s,U=>U.link.replace(/[?#].*$/,"")),u=i.findIndex(U=>z(o.value.relativePath,U.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((k=i[u-1])==null?void 0:k.docFooterText)??((V=i[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[u-1])==null?void 0:T.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[u+1])==null?void 0:A.docFooterText)??((C=i[u+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Ut(o,e){const t=new Set;return o.filter(n=>{const s=e(n);return t.has(s)?!1:t.add(s)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),n=y(()=>e.href&&Le.test(e.href)||e.target==="_blank");return(s,i)=>(a(),$(W(t.value),{class:N(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?r(fe)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:d(()=>[l(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Gt={class:"VPLastUpdated"},jt=["datetime"],zt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:n,lang:s}=P(),i=y(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),u=y(()=>i.value.toISOString()),h=w("");return R(()=>{Z(()=>{var p,g,L;h.value=new Intl.DateTimeFormat((g=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&g.forceLocale?s.value:void 0,((L=e.value.lastUpdated)==null?void 0:L.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(p,g)=>{var L;return a(),c("p",Gt,[D(I(((L=r(e).lastUpdated)==null?void 0:L.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:u.value},I(h.value),9,jt)])}}}),qt=b(zt,[["__scopeId","data-v-6d672d89"]]),Ae=o=>(B("data-v-53590962"),o=o(),H(),o),Kt={key:0,class:"VPDocFooter"},Wt={key:0,class:"edit-info"},Rt={key:0,class:"edit-link"},Jt=Ae(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Yt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Xt=Ae(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Zt={class:"pager"},xt=["innerHTML"],eo=["innerHTML"],to={class:"pager"},oo=["innerHTML"],so=["innerHTML"],no=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=P(),s=Dt(),i=Ot(),u=y(()=>e.value.editLink&&n.value.editLink!==!1),h=y(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),p=y(()=>u.value||h.value||i.value.prev||i.value.next);return(g,L)=>{var k,V,T,A;return p.value?(a(),c("footer",Kt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Wt,[u.value?(a(),c("div",Rt,[m(F,{class:"edit-link-button",href:r(s).url,"no-icon":!0},{default:d(()=>[Jt,D(" "+I(r(s).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",Yt,[m(qt)])):f("",!0)])):f("",!0),(k=r(i).prev)!=null&&k.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",Qt,[Xt,v("div",Zt,[(T=r(i).prev)!=null&&T.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,xt),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,eo)]}),_:1},8,["href"])):f("",!0)]),v("div",to,[(A=r(i).next)!=null&&A.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,oo),v("span",{class:"title",innerHTML:r(i).next.text},null,8,so)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),ao=b(no,[["__scopeId","data-v-53590962"]]),ro=o=>(B("data-v-837de6b7"),o=o(),H(),o),io={class:"container"},lo=ro(()=>v("div",{class:"aside-curtain"},null,-1)),co={class:"aside-container"},uo={class:"aside-content"},vo={class:"content"},po={class:"content-container"},ho={class:"main"},fo=_({__name:"VPDoc",setup(o){const{theme:e}=P(),t=ee(),{hasSidebar:n,hasAside:s,leftAside:i}=O(),u=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=q("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(n),"has-aside":r(s)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",io,[r(s)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[lo,v("div",co,[v("div",uo,[m(Ft,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",vo,[v("div",po,[l(h.$slots,"doc-before",{},void 0,!0),v("main",ho,[m(g,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(ao,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),_o=b(fo,[["__scopeId","data-v-837de6b7"]]),mo=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Le.test(e.href)),n=y(()=>e.tag||e.href?"a":"button");return(s,i)=>(a(),$(W(n.value),{class:N(["VPButton",[s.size,s.theme]]),href:s.href?r(fe)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[D(I(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),ko=b(mo,[["__scopeId","data-v-6635f903"]]),bo=["src","alt"],$o=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=q("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Y({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,bo)):(a(),c(M,{key:1},[m(n,Y({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(n,Y({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),X=b($o,[["__scopeId","data-v-61727d2a"]]),go=o=>(B("data-v-77286597"),o=o(),H(),o),yo={class:"container"},Po={class:"main"},Lo={key:0,class:"name"},Vo=["innerHTML"],So=["innerHTML"],To=["innerHTML"],Io={key:0,class:"actions"},wo={key:0,class:"image"},No={class:"image-container"},Mo=go(()=>v("div",{class:"image-bg"},null,-1)),Ao=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,n)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",yo,[v("div",Po,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Lo,[v("span",{innerHTML:t.name,class:"clip"},null,8,Vo)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,So)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,To)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Io,[(a(!0),c(M,null,E(t.actions,s=>(a(),c("div",{key:s.link,class:"action"},[m(ko,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",wo,[v("div",No,[Mo,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Co=b(Ao,[["__scopeId","data-v-77286597"]]),Bo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=P();return(t,n)=>r(e).hero?(a(),$(Co,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Ho=o=>(B("data-v-082cae21"),o=o(),H(),o),Eo={class:"box"},Fo={key:0,class:"icon"},Do=["innerHTML"],Oo=["innerHTML"],Uo=["innerHTML"],Go={key:4,class:"link-text"},jo={class:"link-text-value"},zo=Ho(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),qo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Eo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Fo,[m(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Do)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Oo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Uo)):f("",!0),e.linkText?(a(),c("div",Go,[v("p",jo,[D(I(e.linkText)+" ",1),zo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Ko=b(qo,[["__scopeId","data-v-082cae21"]]),Wo={key:0,class:"VPFeatures"},Ro={class:"container"},Jo={class:"items"},Yo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,s)=>n.features?(a(),c("div",Wo,[v("div",Ro,[v("div",Jo,[(a(!0),c(M,null,E(n.features,i=>(a(),c("div",{key:i.title,class:N(["item",[t.value]])},[m(Ko,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),Qo=b(Yo,[["__scopeId","data-v-9205d18c"]]),Xo=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=P();return(t,n)=>r(e).features?(a(),$(Qo,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),Zo=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({initialWidth:0,includeScrollbar:!1});return(t,n)=>(a(),c("div",{class:"vp-doc container",style:Ve(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),xo=b(Zo,[["__scopeId","data-v-c9dc79d4"]]),es={class:"VPHome"},ts=_({__name:"VPHome",setup(o){const{frontmatter:e}=P();return(t,n)=>{const s=q("Content");return a(),c("div",es,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Bo,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(Xo),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(xo,{key:0},{default:d(()=>[m(s)]),_:1})):(a(),$(s,{key:1}))])}}}),os=b(ts,[["__scopeId","data-v-8226785e"]]),ss={},ns={class:"VPPage"};function as(o,e){const t=q("Content");return a(),c("div",ns,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const rs=b(ss,[["render",as]]),is=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=O();return(s,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(n),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(s.$slots,"not-found",{key:0},()=>[m(ft)],!0):r(t).layout==="page"?(a(),$(rs,{key:1},{"page-top":d(()=>[l(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(os,{key:2},{"home-hero-before":d(()=>[l(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(W(r(t).layout),{key:3})):(a(),$(_o,{key:4},{"doc-top":d(()=>[l(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ls=b(is,[["__scopeId","data-v-c3bd9a62"]]),cs={class:"container"},us=["innerHTML"],ds=["innerHTML"],vs=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=O();return(s,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(n)}])},[v("div",cs,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,us)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,ds)):f("",!0)])],2)):f("",!0)}}),ps=b(vs,[["__scopeId","data-v-72f3d618"]]);function hs(){const{theme:o,frontmatter:e}=P(),t=Pe([]),n=y(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const fs=o=>(B("data-v-5d850039"),o=o(),H(),o),_s={class:"menu-text"},ms=fs(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),ks={class:"header"},bs={class:"outline"},$s=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=P(),n=w(!1),s=w(0),i=w(),u=w();function h(k){var V;(V=i.value)!=null&&V.contains(k.target)||(n.value=!1)}j(n,k=>{if(k){document.addEventListener("click",h);return}document.removeEventListener("click",h)}),le("Escape",()=>{n.value=!1}),x(()=>{n.value=!1});function p(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g(k){k.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{n.value=!1}))}function L(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,V)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Ve({"--vp-vh":s.value+"px"}),ref_key:"main",ref:i},[k.headers.length>0?(a(),c("button",{key:0,onClick:p,class:N({open:n.value})},[v("span",_s,I(r(Ne)(r(t))),1),ms],2)):(a(),c("button",{key:1,onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[n.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:g},[v("div",ks,[v("a",{class:"top-link",href:"#",onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)]),v("div",bs,[m(Me,{headers:k.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),gs=b($s,[["__scopeId","data-v-5d850039"]]),ys=o=>(B("data-v-3506426c"),o=o(),H(),o),Ps={class:"container"},Ls=["aria-expanded"],Vs=ys(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),Ss={class:"menu-text"},Ts=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=O(),{headers:s}=hs(),{y:i}=Se(),u=w(0);R(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{s.value=_e(t.value.outline??e.value.outline)});const h=y(()=>s.value.length===0),p=y(()=>h.value&&!n.value),g=y(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:h.value,fixed:p.value}));return(L,k)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N(g.value)},[v("div",Ps,[r(n)?(a(),c("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:k[0]||(k[0]=V=>L.$emit("open-menu"))},[Vs,v("span",Ss,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Ls)):f("",!0),m(gs,{headers:r(s),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Is=b(Ts,[["__scopeId","data-v-3506426c"]]);function ws(){const o=w(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const i=ee();return j(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const Ns={},Ms={class:"VPSwitch",type:"button",role:"switch"},As={class:"check"},Cs={key:0,class:"icon"};function Bs(o,e){return a(),c("button",Ms,[v("span",As,[o.$slots.default?(a(),c("span",Cs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Hs=b(Ns,[["render",Bs],["__scopeId","data-v-7fada960"]]),Ce=o=>(B("data-v-2bbd34bc"),o=o(),H(),o),Es=Ce(()=>v("span",{class:"vpi-sun sun"},null,-1)),Fs=Ce(()=>v("span",{class:"vpi-moon moon"},null,-1)),Ds=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=P(),n=te("toggle-appearance",()=>{e.value=!e.value}),s=y(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),$(Hs,{title:s.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(n)},{default:d(()=>[Es,Fs]),_:1},8,["title","aria-checked","onClick"]))}}),me=b(Ds,[["__scopeId","data-v-2bbd34bc"]]),Os={key:0,class:"VPNavBarAppearance"},Us=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=P();return(t,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",Os,[m(me)])):f("",!0)}}),Gs=b(Us,[["__scopeId","data-v-36ac091c"]]),ke=w();let Be=!1,re=0;function js(o){const e=w(!1);if(oe){!Be&&zs(),re++;const t=j(ke,n=>{var s,i,u;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||qs()})}return Re(e)}function zs(){document.addEventListener("focusin",He),Be=!0,ke.value=document.activeElement}function qs(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Ks={class:"VPMenuLink"},Ws=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,n)=>(a(),c("div",Ks,[m(F,{class:N({active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[D(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=b(Ws,[["__scopeId","data-v-260e6988"]]),Rs={class:"VPMenuGroup"},Js={key:0,class:"title"},Ys=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Rs,[e.text?(a(),c("p",Js,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),c(M,null,["link"in n?(a(),$(se,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Qs=b(Ys,[["__scopeId","data-v-8603015b"]]),Xs={class:"VPMenu"},Zs={key:0,class:"items"},xs=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",Xs,[e.items?(a(),c("div",Zs,[(a(!0),c(M,null,E(e.items,n=>(a(),c(M,{key:n.text},["link"in n?(a(),$(se,{key:0,item:n},null,8,["item"])):(a(),$(Qs,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),en=b(xs,[["__scopeId","data-v-4d4f86fc"]]),tn=o=>(B("data-v-f14a725c"),o=o(),H(),o),on=["aria-expanded","aria-label"],sn={key:0,class:"text"},nn=["innerHTML"],an=tn(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),rn={key:1,class:"vpi-more-horizontal icon"},ln={class:"menu"},cn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();js({el:t,onBlur:n});function n(){e.value=!1}return(s,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[s.button||s.icon?(a(),c("span",sn,[s.icon?(a(),c("span",{key:0,class:N([s.icon,"option-icon"])},null,2)):f("",!0),s.button?(a(),c("span",{key:1,innerHTML:s.button},null,8,nn)):f("",!0),an])):(a(),c("span",rn))],8,on),v("div",ln,[m(en,{items:s.items},{default:d(()=>[l(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=b(cn,[["__scopeId","data-v-f14a725c"]]),un=["href","aria-label","innerHTML"],dn=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,s)=>(a(),c("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,un))}}),vn=b(dn,[["__scopeId","data-v-8b4866ac"]]),pn={class:"VPSocialLinks"},hn=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",pn,[(a(!0),c(M,null,E(e.links,({link:n,icon:s,ariaLabel:i})=>(a(),$(vn,{key:n,icon:s,link:n,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=b(hn,[["__scopeId","data-v-5c56556b"]]),fn={key:0,class:"group translations"},_n={class:"trans-title"},mn={key:1,class:"group"},kn={class:"item appearance"},bn={class:"label"},$n={class:"appearance-action"},gn={key:2,class:"group"},yn={class:"item social-links"},Pn=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:s}=J({correspondingLink:!0}),i=y(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),$(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(n).length&&r(s).label?(a(),c("div",fn,[v("p",_n,I(r(s).label),1),(a(!0),c(M,null,E(r(n),p=>(a(),$(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",mn,[v("div",kn,[v("p",bn,I(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",$n,[m(me)])])])):f("",!0),r(t).socialLinks?(a(),c("div",gn,[v("div",yn,[m($e,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Ln=b(Pn,[["__scopeId","data-v-6c490a79"]]),Vn=o=>(B("data-v-b1656699"),o=o(),H(),o),Sn=["aria-expanded"],Tn=Vn(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),In=[Tn],wn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},In,10,Sn))}}),Nn=b(wn,[["__scopeId","data-v-b1656699"]]),Mn=["innerHTML"],An=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,n)=>(a(),$(F,{class:N({VPNavBarMenuLink:!0,active:r(z)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,Mn)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Cn=b(An,[["__scopeId","data-v-16ebd818"]]),Bn=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=P(),n=i=>"link"in i?z(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(n),s=y(()=>n(e.item));return(i,u)=>(a(),$(be,{class:N({VPNavBarMenuGroup:!0,active:r(z)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||s.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Hn=o=>(B("data-v-736cb7fd"),o=o(),H(),o),En={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Fn=Hn(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Dn=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),c("nav",En,[Fn,(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),$(Cn,{key:0,item:s},null,8,["item"])):(a(),$(Bn,{key:1,item:s},null,8,["item"]))],64))),128))])):f("",!0)}}),On=b(Dn,[["__scopeId","data-v-736cb7fd"]]);function Un(o){const{localeIndex:e,theme:t}=P();function n(s){var A,C,S;const i=s.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(C=u.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,g=h&&u.translations||null;let L=p,k=g,V=o;const T=i.pop();for(const U of i){let G=null;const K=V==null?void 0:V[U];K&&(G=V=K);const ne=k==null?void 0:k[U];ne&&(G=k=ne);const ae=L==null?void 0:L[U];ae&&(G=L=ae),K||(V=G),ne||(k=G),ae||(L=G)}return(L==null?void 0:L[T])??(k==null?void 0:k[T])??(V==null?void 0:V[T])??""}return n}const Gn=["aria-label"],jn={class:"DocSearch-Button-Container"},zn=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),qn={class:"DocSearch-Button-Placeholder"},Kn=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=Un({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",jn,[zn,v("span",qn,I(r(t)("button.buttonText")),1)]),Kn],8,Gn))}}),Wn={class:"VPNavBarSearch"},Rn={id:"local-search"},Jn={key:1,id:"docsearch"},Yn=_({__name:"VPNavBarSearch",setup(o){const e=Je(()=>Ye(()=>import("./VPLocalSearchBox.BRvigAGp.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=P(),s=w(!1),i=w(!1);R(()=>{});function u(){s.value||(s.value=!0,setTimeout(h,16))}function h(){const k=new Event("keydown");k.key="k",k.metaKey=!0,window.dispatchEvent(k),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(k){const V=k.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const g=w(!1);le("k",k=>{(k.ctrlKey||k.metaKey)&&(k.preventDefault(),g.value=!0)}),le("/",k=>{p(k)||(k.preventDefault(),g.value=!0)});const L="local";return(k,V)=>{var T;return a(),c("div",Wn,[r(L)==="local"?(a(),c(M,{key:0},[g.value?(a(),$(r(e),{key:0,onClose:V[0]||(V[0]=A=>g.value=!1)})):f("",!0),v("div",Rn,[m(ge,{onClick:V[1]||(V[1]=A=>g.value=!0)})])],64)):r(L)==="algolia"?(a(),c(M,{key:1},[s.value?(a(),$(r(t),{key:0,algolia:((T=r(n).search)==null?void 0:T.options)??r(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Jn,[m(ge,{onClick:u})]))],64)):f("",!0)])}}}),Qn=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$($e,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Xn=b(Qn,[["__scopeId","data-v-69966995"]]),Zn=["href","rel","target"],xn={key:1},ea={key:2},ta=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=P(),{hasSidebar:n}=O(),{currentLang:s}=J(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(n)}])},[v("a",{class:"title",href:i.value??r(fe)(r(s).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",xn,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",ea,I(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,Zn)],2))}}),oa=b(ta,[["__scopeId","data-v-2eaf6b7e"]]),sa={class:"items"},na={class:"title"},aa=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=P(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(s,i)=>r(t).length&&r(n).label?(a(),$(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",sa,[v("p",na,I(r(n).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),$(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ra=b(aa,[["__scopeId","data-v-ce12329d"]]),ia=o=>(B("data-v-88add973"),o=o(),H(),o),la={class:"wrapper"},ca={class:"container"},ua={class:"title"},da={class:"content"},va={class:"content-body"},pa=ia(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),ha=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Se(),{hasSidebar:t}=O(),{frontmatter:n}=P(),s=w({});return ye(()=>{s.value={"has-sidebar":t.value,home:n.value.layout==="home",top:e.value===0}}),(i,u)=>(a(),c("div",{class:N(["VPNavBar",s.value])},[v("div",la,[v("div",ca,[v("div",ua,[m(oa,null,{"nav-bar-title-before":d(()=>[l(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(i.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",da,[v("div",va,[l(i.$slots,"nav-bar-content-before",{},void 0,!0),m(Yn,{class:"search"}),m(On,{class:"menu"}),m(ra,{class:"translations"}),m(Gs,{class:"appearance"}),m(Xn,{class:"social-links"}),m(Ln,{class:"extra"}),l(i.$slots,"nav-bar-content-after",{},void 0,!0),m(Nn,{class:"hamburger",active:i.isScreenOpen,onClick:u[0]||(u[0]=h=>i.$emit("toggle-screen"))},null,8,["active"])])])])]),pa],2))}}),fa=b(ha,[["__scopeId","data-v-88add973"]]),_a={key:0,class:"VPNavScreenAppearance"},ma={class:"text"},ka=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=P();return(n,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",_a,[v("p",ma,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),ba=b(ka,[["__scopeId","data-v-f1eb7f47"]]),$a=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,n)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),ga=b($a,[["__scopeId","data-v-653244bc"]]),ya=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,n)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[D(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=b(ya,[["__scopeId","data-v-64407ac5"]]),Pa={class:"VPNavScreenMenuGroupSection"},La={key:0,class:"title"},Va=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Pa,[e.text?(a(),c("p",La,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,n=>(a(),$(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Sa=b(Va,[["__scopeId","data-v-d2331196"]]),Ta=o=>(B("data-v-b3ab4c50"),o=o(),H(),o),Ia=["aria-controls","aria-expanded"],wa=["innerHTML"],Na=Ta(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Ma=["id"],Aa={key:1,class:"group"},Ca=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),n=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:i.text},null,8,wa),Na],8,Ia),v("div",{id:n.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Ee,{item:h},null,8,["item"])])):(a(),c("div",Aa,[m(Sa,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ma)],2))}}),Ba=b(Ca,[["__scopeId","data-v-b3ab4c50"]]),Ha={key:0,class:"VPNavScreenMenu"},Ea=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=P();return(t,n)=>r(e).nav?(a(),c("nav",Ha,[(a(!0),c(M,null,E(r(e).nav,s=>(a(),c(M,{key:s.text},["link"in s?(a(),$(ga,{key:0,item:s},null,8,["item"])):(a(),$(Ba,{key:1,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Fa=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=P();return(t,n)=>r(e).socialLinks?(a(),$($e,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Fe=o=>(B("data-v-f2bfa86f"),o=o(),H(),o),Da=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),Oa=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ua={class:"list"},Ga=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=w(!1);function s(){n.value=!n.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:n.value}])},[v("button",{class:"title",onClick:s},[Da,D(" "+I(r(t).label)+" ",1),Oa]),v("ul",Ua,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(F,{class:"link",href:h.link},{default:d(()=>[D(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),ja=b(Ga,[["__scopeId","data-v-f2bfa86f"]]),za={class:"container"},qa=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Te(oe?document.body:null);return(n,s)=>(a(),$(ve,{name:"fade",onEnter:s[0]||(s[0]=i=>t.value=!0),onAfterLeave:s[1]||(s[1]=i=>t.value=!1)},{default:d(()=>[n.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",za,[l(n.$slots,"nav-screen-content-before",{},void 0,!0),m(Ea,{class:"menu"}),m(ja,{class:"translations"}),m(ba,{class:"appearance"}),m(Fa,{class:"social-links"}),l(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ka=b(qa,[["__scopeId","data-v-fce5877f"]]),Wa={key:0,class:"VPNav"},Ra=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=ws(),{frontmatter:s}=P(),i=y(()=>s.value.navbar!==!1);return Ie("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Wa,[m(fa,{"is-screen-open":r(e),onToggleScreen:r(n)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ka,{open:r(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Ja=b(Ra,[["__scopeId","data-v-7c4d3b9a"]]),De=o=>(B("data-v-f4728923"),o=o(),H(),o),Ya=["role","tabindex"],Qa=De(()=>v("div",{class:"indicator"},null,-1)),Xa=De(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),Za=[Xa],xa={key:1,class:"items"},er=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=bt(y(()=>e.item)),g=y(()=>h.value?"section":"div"),L=y(()=>s.value?"a":"div"),k=y(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=y(()=>s.value?void 0:"button"),T=y(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":i.value},{"has-active":u.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(S,U)=>{const G=q("VPSidebarItem",!0);return a(),$(W(g.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[S.item.text?(a(),c("div",Y({key:0,class:"item",role:V.value},Xe(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[Qa,S.item.link?(a(),$(F,{key:0,tag:L.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:d(()=>[(a(),$(W(k.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(W(k.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Qe(C,["enter"]),tabindex:"0"},Za,32)):f("",!0)],16,Ya)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",xa,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,K=>(a(),$(G,{key:K.text,item:K,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),tr=b(er,[["__scopeId","data-v-f4728923"]]),Oe=o=>(B("data-v-54871629"),o=o(),H(),o),or=Oe(()=>v("div",{class:"curtain"},null,-1)),sr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},nr=Oe(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ar=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),n=o,s=w(null),i=Te(oe?document.body:null);return j([n,s],()=>{var u;n.open?(i.value=!0,(u=s.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:s,onClick:h[0]||(h[0]=Ze(()=>{},["stop"]))},[or,v("nav",sr,[nr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(r(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(tr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),rr=b(ar,[["__scopeId","data-v-54871629"]]),ir=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();j(()=>e.path,()=>t.value.focus());function n({target:s}){const i=document.getElementById(decodeURIComponent(s.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(s,i)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),lr=b(ir,[["__scopeId","data-v-1556942f"]]),cr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=O(),s=ee();j(()=>s.path,n),kt(e,n);const{frontmatter:i}=P(),u=xe(),h=y(()=>!!u["home-hero-image"]);return Ie("hero-image-slot-exists",h),(p,g)=>{const L=q("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(lr),m(st,{class:"backdrop",show:r(e),onClick:r(n)},null,8,["show","onClick"]),m(Ja,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Is,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(rr,{open:r(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(ls,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ps),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(L,{key:1}))}}}),ur=b(cr,[["__scopeId","data-v-175cce07"]]),vr={Layout:ur,enhanceApp:({app:o})=>{o.component("Badge",et)}};export{Un as c,vr as t,P as u}; diff --git a/assets/en-US_index.md.DDg-75FX.js b/assets/en-US_index.md.DDg-75FX.js new file mode 100644 index 00000000..2cff417d --- /dev/null +++ b/assets/en-US_index.md.DDg-75FX.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"Joplin-based community tool","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"View Joplin VSCode Plugin","link":"/en-US/joplin-vscode-plugin/"},{"theme":"alt","text":"Star in GitHub","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"Provides the ability to manage Joplin notes in VSCode, combined with VSCode's existing powerful editor and its ecosystem."},{"title":"Joplin Search Integration","details":"When using search, related Joplin notes are also displayed in the search results."},{"title":"Joplin Api","details":"Joplin api's js package, written in ts, provides a complete type definition, including all currently exposed api in the document."}]},"headers":[],"relativePath":"en-US/index.md","filePath":"en-US/index.md"}`),n={name:"en-US/index.md"};function o(a,l,s,r,d,p){return i(),t("div")}const u=e(n,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/en-US_index.md.DDg-75FX.lean.js b/assets/en-US_index.md.DDg-75FX.lean.js new file mode 100644 index 00000000..2cff417d --- /dev/null +++ b/assets/en-US_index.md.DDg-75FX.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"Joplin-based community tool","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"View Joplin VSCode Plugin","link":"/en-US/joplin-vscode-plugin/"},{"theme":"alt","text":"Star in GitHub","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"Provides the ability to manage Joplin notes in VSCode, combined with VSCode's existing powerful editor and its ecosystem."},{"title":"Joplin Search Integration","details":"When using search, related Joplin notes are also displayed in the search results."},{"title":"Joplin Api","details":"Joplin api's js package, written in ts, provides a complete type definition, including all currently exposed api in the document."}]},"headers":[],"relativePath":"en-US/index.md","filePath":"en-US/index.md"}`),n={name:"en-US/index.md"};function o(a,l,s,r,d,p){return i(),t("div")}const u=e(n,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/en-US_joplin-api_index.md.o4RGYfoW.js b/assets/en-US_joplin-api_index.md.o4RGYfoW.js new file mode 100644 index 00000000..d1fb2519 --- /dev/null +++ b/assets/en-US_joplin-api_index.md.o4RGYfoW.js @@ -0,0 +1,6 @@ +import{_ as t,c as e,o as i,a3 as a}from"./chunks/framework.1smVRZMp.js";const g=JSON.parse('{"title":"Joplin API","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-api/index.md","filePath":"en-US/joplin-api/index.md"}'),s={name:"en-US/joplin-api/index.md"},n=a(`

Joplin API

API Documentation, Official Joplin Documentation

Introduction

A JavaScript wrapper for the Joplin API written in TypeScript. It provides complete type definitions and covers all currently documented APIs.

Quick Start

ts
import { config, noteApi } from 'joplin-api'
+
+config.baseUrl = 'http://127.0.0.1:27583'
+config.token = '***'
+const res = await noteApi.list()
+console.log(res)

More examples can be found at: https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-api/src/api/__tests__

API Reference

ObjectDescription
eventApiEvent-related API, such as fetching note revision history
folderApiFolder-related API, such as retrieving the folder tree
folderExtApiFolder extension API, such as moving folders
joplinApiBasic Joplin API, such as checking if the Joplin web service is running
noteActionApiNote action API, such as opening notes in an external editor
noteApiNote-related API, such as fetching the content of notes
noteExtApiNote extension API, such as renaming notes
resourceActionApiResource action API, such as opening attachments in an external editor
resourceApiResource-related API, such as uploading images
searchApiSearch-related API
tagApiTag-related API, such as modifying note tags
configGlobal Joplin web clipper configuration
PageUtilStatic utility class for pagination, such as retrieving the full list of notes

Conventions

  • The API is wrapped in classes, such as note-related APIs being encapsulated in the NoteApi class.
  • The same functionality has consistent naming. For instance, the note list is NoteApi.list. Here is the full comparison table:
FunctionNamingExample
ListlistnoteApi.list
Get by IDgetnoteApi.get
CreatecreatenoteApi.create
UpdateupdatenoteApi.update
DeleteremovenoteApi.remove
  • There are some special cases. For example, in APIs involving multiple entities, the naming is generally actionEntity + by + referenceEntity. For example, the API for getting the tag list by note ID is noteApi.tagsById.

Some Issues

  • The get method should not throw an error. If an item does not exist, it should return null instead of throwing an exception.
`,15),o=[n];function d(r,l,c,p,h,u){return i(),e("div",null,o)}const A=t(s,[["render",d]]);export{g as __pageData,A as default}; diff --git a/assets/en-US_joplin-api_index.md.o4RGYfoW.lean.js b/assets/en-US_joplin-api_index.md.o4RGYfoW.lean.js new file mode 100644 index 00000000..297a873a --- /dev/null +++ b/assets/en-US_joplin-api_index.md.o4RGYfoW.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as i,a3 as a}from"./chunks/framework.1smVRZMp.js";const g=JSON.parse('{"title":"Joplin API","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-api/index.md","filePath":"en-US/joplin-api/index.md"}'),s={name:"en-US/joplin-api/index.md"},n=a("",15),o=[n];function d(r,l,c,p,h,u){return i(),e("div",null,o)}const A=t(s,[["render",d]]);export{g as __pageData,A as default}; diff --git a/assets/en-US_joplin-batch-web_index.md.CauQNFh_.js b/assets/en-US_joplin-batch-web_index.md.CauQNFh_.js new file mode 100644 index 00000000..f7d338d9 --- /dev/null +++ b/assets/en-US_joplin-batch-web_index.md.CauQNFh_.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a3 as o}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"Joplin Batch Web","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-batch-web/index.md","filePath":"en-US/joplin-batch-web/index.md"}'),i={name:"en-US/joplin-batch-web/index.md"},n=o('

Joplin Batch Web

Go to use

Handle some bulk operations that Joplin itself does not support and present them in a visual interface.

  • [x] Check if there are any unused attachment resources Some unused attachments haven't been cleaned up.
  • [x] Check if there are missing referenced attachment resources Some used attachments might be missing for various reasons.
  • [x] Convert external links to internal note references Want to convert previous blog links to internal :/id links to ensure they never expire.
  • [x] Check if there are notes without a parent directory (usually an error)

Getting Started

  1. Open Joplin Desktop
  2. Enable web clipper
  3. Fill in the configuration on the Settings page
  4. Navigate to the relevant function page

guide

FAQ

Why not use a CLI form

CLI form is not very suitable for this scenario, for example, checking abnormal attachments or notes which can be cumbersome on the command line.

Does it record my note data

The website works entirely locally, with no backend servers. If you still have concerns, you can check the source code joplin-batch-web.

',12),r=[n];function l(s,c,h,d,p,u){return a(),t("div",null,r)}const f=e(i,[["render",l]]);export{m as __pageData,f as default}; diff --git a/assets/en-US_joplin-batch-web_index.md.CauQNFh_.lean.js b/assets/en-US_joplin-batch-web_index.md.CauQNFh_.lean.js new file mode 100644 index 00000000..9d5ccb64 --- /dev/null +++ b/assets/en-US_joplin-batch-web_index.md.CauQNFh_.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,a3 as o}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"Joplin Batch Web","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-batch-web/index.md","filePath":"en-US/joplin-batch-web/index.md"}'),i={name:"en-US/joplin-batch-web/index.md"},n=o("",12),r=[n];function l(s,c,h,d,p,u){return a(),t("div",null,r)}const f=e(i,[["render",l]]);export{m as __pageData,f as default}; diff --git a/assets/en-US_joplin-search-integration_index.md.taQxOC55.js b/assets/en-US_joplin-search-integration_index.md.taQxOC55.js new file mode 100644 index 00000000..7b40eb4f --- /dev/null +++ b/assets/en-US_joplin-search-integration_index.md.taQxOC55.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as i,a3 as r,a4 as n,a5 as e}from"./chunks/framework.1smVRZMp.js";const b=JSON.parse('{"title":"Joplin Search Integration","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-search-integration/index.md","filePath":"en-US/joplin-search-integration/index.md"}'),o={name:"en-US/joplin-search-integration/index.md"},s=r('

Joplin Search Integration

Get uBlock Origin for Chromium Get uBlock Origin for Firefox

Introduction

When using the search, relevant Joplin notes will also appear in the search results.

search resultnote preview

Currently supported search engines include:

  • Google
  • Bing
  • Baidu
  • DuckDuckGo
  • Searx
  • MetaGer

FAQ

What are token/port, and where can I find them?

They can generally be found in Tools > Options > Web Clipper.

joplin web clipper

No search results in Brave browser

Brave typically blocks resources from other domains by default, so just disable it on the Google search site.

joplin web clipper

Cannot read or modify data on this website

Sometimes after installing the plugin and configuring it, it might not take effect. If the plugin appears gray and indicates that it cannot read or modify data on this website, you need to manually configure it to allow access.

error

Chrome

chrome

Firefox

firefox

Contribute

If you want to add support for a new search engine, you can raise an issue or fork and submit a PR (it's very simple).

  1. Add the URL of the matching search engine in the manifest.json.
  2. Implement the BaseSearchEngineAdapter interface.
',24),l=[s];function h(c,p,d,u,m,g){return i(),t("div",null,l)}const _=a(o,[["render",h]]);export{b as __pageData,_ as default}; diff --git a/assets/en-US_joplin-search-integration_index.md.taQxOC55.lean.js b/assets/en-US_joplin-search-integration_index.md.taQxOC55.lean.js new file mode 100644 index 00000000..d865dde7 --- /dev/null +++ b/assets/en-US_joplin-search-integration_index.md.taQxOC55.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as i,a3 as r,a4 as n,a5 as e}from"./chunks/framework.1smVRZMp.js";const b=JSON.parse('{"title":"Joplin Search Integration","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-search-integration/index.md","filePath":"en-US/joplin-search-integration/index.md"}'),o={name:"en-US/joplin-search-integration/index.md"},s=r("",24),l=[s];function h(c,p,d,u,m,g){return i(),t("div",null,l)}const _=a(o,[["render",h]]);export{b as __pageData,_ as default}; diff --git a/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.js b/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.js new file mode 100644 index 00000000..ff4b1c3d --- /dev/null +++ b/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.js @@ -0,0 +1 @@ +import{_ as e,c as a,o,a3 as t}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Privacy Policy","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-search-integration/privacy.md","filePath":"en-US/joplin-search-integration/privacy.md"}'),i={name:"en-US/joplin-search-integration/privacy.md"},n=t('

Privacy Policy

This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our joplin-search-integration extension, and the choices you have associated with that data.

We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in accordance with this policy.

Overview

  • We do not track the use of the extension at all.

  • We never send information or extension settings outside of your browser.

  • By default, this extension only interacts with supported search engine websites.

Data Storage

We store some data permanently on your local device. This information is still available even if your browser is restarted.

This data can only be accessed via the joplin-search-integration extension on your browser.

The stored information may include:

  • Extension settings (such as joplin clipper service prot/token).

The extension itself does not send any such information outside of your device.

However, if you enable Chrome Sync, Firefox Sync, Edge Sync, or any other compatible browser data synchronization feature, this information may be sent by your browser to that service.

Data Collection

This extension does not collect any data or send it to any remote servers.

Contact

If you have any questions, please open an issue.

',16),r=[n];function s(c,l,h,p,d,u){return o(),a("div",null,r)}const v=e(i,[["render",s]]);export{f as __pageData,v as default}; diff --git a/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.lean.js b/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.lean.js new file mode 100644 index 00000000..89effa7c --- /dev/null +++ b/assets/en-US_joplin-search-integration_privacy.md.4wZ9Iab1.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o,a3 as t}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Privacy Policy","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-search-integration/privacy.md","filePath":"en-US/joplin-search-integration/privacy.md"}'),i={name:"en-US/joplin-search-integration/privacy.md"},n=t("",16),r=[n];function s(c,l,h,p,d,u){return o(),a("div",null,r)}const v=e(i,[["render",s]]);export{f as __pageData,v as default}; diff --git a/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.js b/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.js new file mode 100644 index 00000000..483b665d --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.js @@ -0,0 +1,6 @@ +import{_ as e,c as i,o as t,a3 as s,a6 as o}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"Frequently Asked Questions","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/faq.md","filePath":"en-US/joplin-vscode-plugin/faq.md"}'),n={name:"en-US/joplin-vscode-plugin/faq.md"},a=s(`

Frequently Asked Questions

Why Develop This Plugin

  1. As a professional editor, VSCode’s editing features vastly outperform those of note-taking tools. For instance, it has extensive shortcut support.
  2. VSCode is not just an editor but boasts a massive ecosystem of plugins. It already supports markdown formatting, lint checks, PDF exports, and many other functions. We don’t need to reinvent the wheel, which might end up being a square one, within a note-taking tool.
  3. Personally, I have been using VSCode to edit markdown documents and to store company-related documents with git + VSCode. Also, I’ve been using Joplin for personal notes, yet after a while, I found that I needed synchronization/search functionality between VSCode and Joplin.

Thus, I developed this plugin for others with similar needs.

Error Message Joplin’s token/port is set incorrectly, unable to access Joplin service!

Please try executing the following command in CMD/Bash. If there are no issues, it should return JoplinClipperServer. Otherwise, consider filing an issue with Joplin.

cmd
curl http://127.0.0.1:41184/ping

How to List Joplin Notes Opened in VSCode

Though there isn't official support, you can use the shortcut c+j c+o to list the 20 most recently modified Joplin notes, achieving a similar effect.

The main reason for the lack of formal support might be the functional overlap between the two. Additionally, VSCode’s list of recently opened files includes more than just the files currently open in the editor, encompassing even closed files.

Unable to Open Notes from the Sidebar

This issue could arise for several reasons:

  1. Check if you can open VSCode through the Toggle External Editing feature in Joplin.

    1. If it doesn’t open, inspect the text editor command in Joplin’s settings. Ensure a valid editor setting is applied. Refer to: https://github.com/laurent22/joplin/issues/5921#issuecomment-1002692774
    2. If the issue persists, file an issue with Joplin.
  2. Use version v1.4 or higher as it includes necessary action APIs for functionalities like opening notes in VSCode based on noteId.

  3. Ensure Joplin Desktop is installed on the current computer. This plugin does not support the CLI version as it lacks the aforementioned action APIs. Refer to: https://discourse.joplinapp.org/t/16735

  4. Verify if the following command can execute correctly. If you still can't open notes in the editor, consider reaching out to @laurent22.

    sh
    curl --location --request POST 'http://localhost:41184/services/externalEditWatcher?token=***' \\
    +--header 'Content-Type: application/json' \\
    +--data-raw '{
    + "action": "openAndWatch",
    + "noteId": "257f6a9dacc1409580ee526d50ac4d49"
    +}'

Unable to Upload Clipboard Images on Windows 10

This could be due to missing PowerShell. Check by typing PowerShell in CMD.

sh
powershell

powershell

If prompted with spawn powershell ENOENT, you need to install PowerShell. Refer to: Installing PowerShell on Windows

How to Use the Plugin with Two Synchronized VSCode Configurations

By default, Joplin generates a random token for each computer. However, you can manually modify it. Usually, the configuration file is located at ~/.config/joplin-desktop/settings.json. You just need to set the api.token to the same token.

manually-set-token-of-joplin

Reference: https://github.com/rxliuli/joplin-utils/issues/25

Markdown Preview Can't Display Images

When you first use the Joplin VSCode plugin, you may encounter issues with images not displaying in the markdown preview. The preview might show a message stating Some content has been disabled in this document. This can be easily resolved.

  1. Enter the command markdown.showPreviewSecuritySelector.
  2. Select Allow insecure local content from the list.

VSCode Markdown Documentation

Incompatibility with Markdown Preview Enhanced Plugin

Since Markdown Preview Enhanced constructs its own webview page for rendering markdown files and disregards the markdown-it extension interface API provided by VSCode, it’s currently incompatible. It is recommended to use Markdown All in One instead. Refer to: https://github.com/rxliuli/joplin-utils/issues/46

Unable to Paste Images into Notes on Linux

Please install xclip and wl-clipboard first.

',30),l=[a];function r(h,p,d,c,u,g){return t(),i("div",null,l)}const f=e(n,[["render",r]]);export{m as __pageData,f as default}; diff --git a/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.lean.js b/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.lean.js new file mode 100644 index 00000000..93a03e85 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_faq.md.BD_McOPB.lean.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as t,a3 as s,a6 as o}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"Frequently Asked Questions","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/faq.md","filePath":"en-US/joplin-vscode-plugin/faq.md"}'),n={name:"en-US/joplin-vscode-plugin/faq.md"},a=s("",30),l=[a];function r(h,p,d,c,u,g){return t(),i("div",null,l)}const f=e(n,[["render",r]]);export{m as __pageData,f as default}; diff --git a/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.js b/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.js new file mode 100644 index 00000000..809fde90 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,a3 as o,a7 as d,a8 as i,a9 as c}from"./chunks/framework.1smVRZMp.js";const k=JSON.parse('{"title":"Other Features","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/feature.md","filePath":"en-US/joplin-vscode-plugin/feature.md"}'),r={name:"en-US/joplin-vscode-plugin/feature.md"},n=o('

Other Features

Configuration Table

FieldDefault ValueOptional ValuesDescription
tokenstringToken for the Joplin web service
baseUrlhttp://localhost:41184stringBase path for the Joplin API
deleteConfirmtruebooleanConfirmation prompt before delete
sortNotesfalsebooleanWhether to sort notes
sortNotesTypealphabeticalType of note sorting
alphabeticalSort by the alphabetical order of titles
defaultJoplin's default sorting
sortOrderascSorting order of notes (ascending or descending)
ascAscending
descDescending

Shortcuts

  • f2: Rename note or directory
  • delete: Delete note or directory
  • ctrl+alt+u: Upload image from clipboard
  • ctrl+alt+e: Upload image from file picker
  • ctrl+alt+shift+e: Add attachment from file picker
  • ctrl+j ctrl+o: Search notes, showing the latest 20 modified notes by default
  • ctrl+j ctrl+i: Create attachment
  • ctrl+j ctrl+m: Manage tags
  • ctrl+j ctrl+l: Show attachments of the current note

Editing Attachments

Due to frequent issues with the click-to-jump feature in the vscode editor, since v0.7.8, the functionality to display the current note's attachment list has been implemented for quick editing of specified attachment resources. The default shortcut is ctrl+j ctrl+l.

editResource

Pasting Images

Since v0.1.7, the image paste feature has been added, allowing images to be uploaded to Joplin via the right-click menu, command, or shortcut key and the link to be pasted into VSCode.

  1. ctrl+alt+u Paste image from clipboard
  2. ctrl+alt+e Use file manager to select an image to paste

pasteImage

Adding Attachments

Since v0.1.10, the ability to add attachments has been added, allowing files to be added as attachment resources to Joplin notes via command or shortcut key.

  1. ctrl+alt+shift+e Select a file to add as an attachment

Creating Attachments

Since v0.3.0, the right-click to create attachment resources feature has been implemented, mainly used to quickly create and add a mind map (supported by Baidu BrainMap) or flowchart (supported by draw.io).

Managing Tags

Since v0.3.0, tag management is supported. The command is > Joplin: Manage tags, and the default shortcut key is ctrl+j ctrl+m to pop up the checkbox.

Creating Tags

Since v0.3.0, creating tags is supported. The command is > Joplin: Create tag.

Linking Notes

Right-click on the note to see Copy Link, clicking will copy the link to the clipboard.

Link notes

Use Ctrl+Click to open the link in another note.

',25),l=[n];function s(h,p,g,m,u,f){return a(),e("div",null,l)}const _=t(r,[["render",s]]);export{k as __pageData,_ as default}; diff --git a/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.lean.js b/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.lean.js new file mode 100644 index 00000000..0b7fd536 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_feature.md.BQKMtrD8.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as a,a3 as o,a7 as d,a8 as i,a9 as c}from"./chunks/framework.1smVRZMp.js";const k=JSON.parse('{"title":"Other Features","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/feature.md","filePath":"en-US/joplin-vscode-plugin/feature.md"}'),r={name:"en-US/joplin-vscode-plugin/feature.md"},n=o("",25),l=[n];function s(h,p,g,m,u,f){return a(),e("div",null,l)}const _=t(r,[["render",s]]);export{k as __pageData,_ as default}; diff --git a/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.js b/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.js new file mode 100644 index 00000000..8e10f443 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a3 as i,aa as n,ab as a}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/index.md","filePath":"en-US/joplin-vscode-plugin/index.md"}'),l={name:"en-US/joplin-vscode-plugin/index.md"},r=i('

Quick Start

Overview

install

Joplin VSCode Plugin provides the functionality to manage Joplin notes within VSCode, including common actions like viewing, editing notes, managing note tags, adding or modifying attachments, internal linking, searching, and more.

Joplin Web Clipper aims to communicate with browser extensions via REST Web API, sharing notebooks, notes, tags, etc. Joplin VSCode Plugin connects to the same REST endpoint, allowing you to view and modify notes without leaving the editor.

Why does this plugin exist? Read My Motivation to understand the reasons behind its development.

What can it do? Features lists the existing functionalities.

Requirements

  • Joplin version > v2.8
  • VSCode version > v1.66.2
  • Enable Joplin Web Clipper

Install Joplin VSCode Plugin

Search for joplin in the VSCode marketplace. Find Joplin VSCode Plugin and click install.

Install Plugin

Configuration

To access the Joplin database, we need to connect to the API endpoint opened by Joplin Web Clipper. This means that Joplin must be running and the Web Clipper must be enabled.

For help on Web Clipper, refer to Joplin Web Clipper.

To get started, you need to pay attention to two settings.

Authorization Token

  • Copy your authorization token from Joplin settings and paste it here. Web Clipper -> Advanced Options -> Copy Token.

Base URL

  • Generally, if you are using the locally installed Joplin Desktop Client, no special configuration is needed. If you are using a remote Joplin service, configuration is required. For example, http://127.0.0.1:41184

Config Settings

Getting Started

Enter the shortcut Ctrl+J Ctrl+J, and then celebrate 🎉. This key combination activates the view:show joplin command, opening the sidebar to show all notebooks.

Preview

Features

All your notes and notebooks can be found in the sidebar, expand a notebook to see the sub-notebooks and notes underneath.

Click on a note to open a working copy in the editor, save it to push the modifications back to Joplin.

You can freely create, edit, and delete notes and notebooks, all done seamlessly within VSCode. 🦸♀️

Commands and Shortcuts

VSCode has numerous shortcuts. To avoid conflicts with built-in shortcuts, this plugin assumes a prefix of Ctrl+J, followed by a two-step shortcut.

Hint: Explore results by typing joplin in the command palette to find out functionalities not listed here.

',30),s=[r];function p(d,c,u,h,g,m){return o(),t("div",null,s)}const k=e(l,[["render",p]]);export{f as __pageData,k as default}; diff --git a/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.lean.js b/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.lean.js new file mode 100644 index 00000000..e3788f80 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_index.md.BASpaMa3.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a3 as i,aa as n,ab as a}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Quick Start","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/index.md","filePath":"en-US/joplin-vscode-plugin/index.md"}'),l={name:"en-US/joplin-vscode-plugin/index.md"},r=i("",30),s=[r];function p(d,c,u,h,g,m){return o(),t("div",null,s)}const k=e(l,[["render",p]]);export{f as __pageData,k as default}; diff --git a/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.js b/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.js new file mode 100644 index 00000000..0810b09a --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i,a3 as o}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Limitations","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/limitations.md","filePath":"en-US/joplin-vscode-plugin/limitations.md"}'),s={name:"en-US/joplin-vscode-plugin/limitations.md"},a=o('

Limitations

Although the current plugin has realized the common functionalities of Joplin, there are some limitations that are challenging to address. It is precisely because of these limitations that I have not used a note plugin directly based on VSCode.

',3),n=[a];function r(c,l,d,h,m,u){return i(),t("div",null,n)}const f=e(s,[["render",r]]);export{_ as __pageData,f as default}; diff --git a/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.lean.js b/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.lean.js new file mode 100644 index 00000000..96def37b --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_limitations.md.CuxSMqqB.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i,a3 as o}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Limitations","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/limitations.md","filePath":"en-US/joplin-vscode-plugin/limitations.md"}'),s={name:"en-US/joplin-vscode-plugin/limitations.md"},a=o("",3),n=[a];function r(c,l,d,h,m,u){return i(),t("div",null,n)}const f=e(s,[["render",r]]);export{_ as __pageData,f as default}; diff --git a/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.js b/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.js new file mode 100644 index 00000000..587d3d40 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,a3 as a}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Recommended Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/recommended.md","filePath":"en-US/joplin-vscode-plugin/recommended.md"}'),i={name:"en-US/joplin-vscode-plugin/recommended.md"},o=a('

Recommended Extensions

Plugins

Let's start by listing out plugins related to my note-taking, each of which implements a specific function and can be integrated.

You may have noticed that some of these plugins have nothing to do with markdown, but they are still important for editing. For example, the spell check function that Joplin recently (v1.4.*) implemented is already available in existing VSCode plugins.

Alternatives

Joplin has recently developed a plugin system, and many developers have written a variety of plugins for it. However, using the joplin-vscode-plugin prevents us from enjoying most of the functionalities brought by these plugins. In contrast, VSCode itself has an extremely large plugin system and a great number of features. Here are some VSCode alternatives to Joplin plugins or functionalities:

',8),n=[o];function l(s,d,m,p,c,h){return r(),t("div",null,n)}const g=e(i,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.lean.js b/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.lean.js new file mode 100644 index 00000000..b5a66f00 --- /dev/null +++ b/assets/en-US_joplin-vscode-plugin_recommended.md.BXLoVAFO.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as r,a3 as a}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"Recommended Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en-US/joplin-vscode-plugin/recommended.md","filePath":"en-US/joplin-vscode-plugin/recommended.md"}'),i={name:"en-US/joplin-vscode-plugin/recommended.md"},o=a("",8),n=[o];function l(s,d,m,p,c,h){return r(),t("div",null,n)}const g=e(i,[["render",l]]);export{f as __pageData,g as default}; diff --git a/assets/index.md.DaOhRK4t.js b/assets/index.md.DaOhRK4t.js new file mode 100644 index 00000000..8721ec3b --- /dev/null +++ b/assets/index.md.DaOhRK4t.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"Joplin-based community tool","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"View Joplin VSCode Plugin","link":"/en-US/joplin-vscode-plugin/"},{"theme":"alt","text":"Star in GitHub","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"Provides the ability to manage Joplin notes in VSCode, combined with VSCode's existing powerful editor and its ecosystem."},{"title":"Joplin Search Integration","details":"When using search, related Joplin notes are also displayed in the search results."},{"title":"Joplin Api","details":"Joplin api's js package, written in ts, provides a complete type definition, including all currently exposed api in the document."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}`),n={name:"index.md"};function o(a,l,s,r,d,p){return i(),t("div")}const u=e(n,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/index.md.DaOhRK4t.lean.js b/assets/index.md.DaOhRK4t.lean.js new file mode 100644 index 00000000..8721ec3b --- /dev/null +++ b/assets/index.md.DaOhRK4t.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse(`{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"Joplin-based community tool","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"View Joplin VSCode Plugin","link":"/en-US/joplin-vscode-plugin/"},{"theme":"alt","text":"Star in GitHub","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"Provides the ability to manage Joplin notes in VSCode, combined with VSCode's existing powerful editor and its ecosystem."},{"title":"Joplin Search Integration","details":"When using search, related Joplin notes are also displayed in the search results."},{"title":"Joplin Api","details":"Joplin api's js package, written in ts, provides a complete type definition, including all currently exposed api in the document."}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}`),n={name:"index.md"};function o(a,l,s,r,d,p){return i(),t("div")}const u=e(n,[["render",o]]);export{m as __pageData,u as default}; diff --git a/assets/public_images_README.md.QgMw7SEO.js b/assets/public_images_README.md.QgMw7SEO.js new file mode 100644 index 00000000..2b2382a0 --- /dev/null +++ b/assets/public_images_README.md.QgMw7SEO.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"heroImage":"/images/logo.svg","heroText":"Joplin Vscode Plugin","tagline":"joplin-vscode-plugin offers editing and management of Joplin notes with the power and flexibility of VSCode.","actionText":"Quick Start →","actionLink":"/guide/","features":[{"title":"VSCode 的专业编辑功能及其生态"},{"title":"Joplin 强大的搜索和同步功能"},{"title":"开源 + 免费"}],"footer":"MIT Licensed | Copyright © 2021-present rxliuli"},"headers":[],"relativePath":"public/images/README.md","filePath":"public/images/README.md"}'),o={name:"public/images/README.md"};function a(n,r,s,l,c,p){return i(),t("div")}const f=e(o,[["render",a]]);export{m as __pageData,f as default}; diff --git a/assets/public_images_README.md.QgMw7SEO.lean.js b/assets/public_images_README.md.QgMw7SEO.lean.js new file mode 100644 index 00000000..2b2382a0 --- /dev/null +++ b/assets/public_images_README.md.QgMw7SEO.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"home":true,"heroImage":"/images/logo.svg","heroText":"Joplin Vscode Plugin","tagline":"joplin-vscode-plugin offers editing and management of Joplin notes with the power and flexibility of VSCode.","actionText":"Quick Start →","actionLink":"/guide/","features":[{"title":"VSCode 的专业编辑功能及其生态"},{"title":"Joplin 强大的搜索和同步功能"},{"title":"开源 + 免费"}],"footer":"MIT Licensed | Copyright © 2021-present rxliuli"},"headers":[],"relativePath":"public/images/README.md","filePath":"public/images/README.md"}'),o={name:"public/images/README.md"};function a(n,r,s,l,c,p){return i(),t("div")}const f=e(o,[["render",a]]);export{m as __pageData,f as default}; diff --git a/assets/zh-CN_index.md.1NXqwxrz.js b/assets/zh-CN_index.md.1NXqwxrz.js new file mode 100644 index 00000000..91aa72ad --- /dev/null +++ b/assets/zh-CN_index.md.1NXqwxrz.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"基于 Joplin 的社区工具","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"看看 Joplin VSCode Plugin","link":"/zh-CN/joplin-vscode-plugin/"},{"theme":"alt","text":"在 GitHub 加个 Star","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"提供在 vscode 中管理 joplin 笔记的功能,结合 vscode 现有的强大编辑器及其生态。"},{"title":"Joplin Search Integration","details":"使用搜索时,相关的乔普林笔记也会显示在搜索结果中。"},{"title":"Joplin API","details":"Joplin api 的 js 封装,使用 ts 编写,提供完整的类型定义,包含目前所有在文档中公开的 api。"}]},"headers":[],"relativePath":"zh-CN/index.md","filePath":"zh-CN/index.md"}'),n={name:"zh-CN/index.md"};function o(l,a,s,p,r,d){return i(),t("div")}const h=e(n,[["render",o]]);export{m as __pageData,h as default}; diff --git a/assets/zh-CN_index.md.1NXqwxrz.lean.js b/assets/zh-CN_index.md.1NXqwxrz.lean.js new file mode 100644 index 00000000..91aa72ad --- /dev/null +++ b/assets/zh-CN_index.md.1NXqwxrz.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Joplin Utils","tagline":"基于 Joplin 的社区工具","image":{"src":"/images/logo.svg","alt":"Joplin Utils"},"actions":[{"theme":"brand","text":"看看 Joplin VSCode Plugin","link":"/zh-CN/joplin-vscode-plugin/"},{"theme":"alt","text":"在 GitHub 加个 Star","link":"https://github.com/rxliuli/joplin-utils"}]},"features":[{"title":"Joplin VSCode Plugin","details":"提供在 vscode 中管理 joplin 笔记的功能,结合 vscode 现有的强大编辑器及其生态。"},{"title":"Joplin Search Integration","details":"使用搜索时,相关的乔普林笔记也会显示在搜索结果中。"},{"title":"Joplin API","details":"Joplin api 的 js 封装,使用 ts 编写,提供完整的类型定义,包含目前所有在文档中公开的 api。"}]},"headers":[],"relativePath":"zh-CN/index.md","filePath":"zh-CN/index.md"}'),n={name:"zh-CN/index.md"};function o(l,a,s,p,r,d){return i(),t("div")}const h=e(n,[["render",o]]);export{m as __pageData,h as default}; diff --git a/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.js b/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.js new file mode 100644 index 00000000..1a0fefca --- /dev/null +++ b/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.js @@ -0,0 +1,6 @@ +import{_ as t,c as i,o as e,a3 as a}from"./chunks/framework.1smVRZMp.js";const u=JSON.parse('{"title":"Joplin API","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-api/index.md","filePath":"zh-CN/joplin-api/index.md"}'),d={name:"zh-CN/joplin-api/index.md"},s=a(`

Joplin API

API 文档, Joplin 官方文档

简介

Joplin api 的 js 封装,使用 ts 编写,提供完整的类型定义,包含目前所有在文档中公开的 api。

快速启动

ts
import { config, noteApi } from 'joplin-api'
+
+config.baseUrl = 'http://127.0.0.1:27583'
+config.token = '***'
+const res = await noteApi.list()
+console.log(res)

更多示例参考: https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-api/src/api/__tests__

API 参考

对象描述
eventApi事件相关的 api,例如获取笔记修改历史
folderApi目录相关 api,例如获取目录树
folderExtApi目录扩展 api,例如移动目录
joplinApijoplin 基础 api,例如检查 joplin web 服务是否打开
noteActionApi笔记相关动作 api,例如在外部编辑器打开笔记
noteApi笔记相关 api,例如获取笔记的内容
noteExtApi笔记扩展 api,例如重命名
resourceActionApi资源动作 api,例如在外部编辑器打开附件资源
resourceApi资源相关 api,例如上传图片
searchApi搜索相关 api
tagApi标签相关 api,例如修改笔记的标签
config全局 joplin web clipper 配置
PageUtil分页相关的静态工具类,例如获取全量笔记列表

约定俗称

  • 使用 class 封装 API,例如 note 相关的 API 被封装在 NoteApi 类中。
  • 同一个功能含义保持统一的命名。例如笔记列表是 NoteApi.list。以下为完整对照表
含义命名示例
列表listnoteApi.list
根据 id 获取getnoteApi.get
创建createnoteApi.create
修改updatenoteApi.update
删除removenoteApi.remove
  • 存在一些特殊情况,例如涉及到多个实体的 api,命名则一般是 操作实体 + by + 依据实体,例如 根据笔记 id 获取标签列表的 api 是 noteApi.tagsById

一些问题

  • get 方法不应该报错,如果不存在应该返回 null 而非抛出异常
`,15),o=[s];function l(p,r,n,h,c,k){return e(),i("div",null,o)}const A=t(d,[["render",l]]);export{u as __pageData,A as default}; diff --git a/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.lean.js b/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.lean.js new file mode 100644 index 00000000..6a263374 --- /dev/null +++ b/assets/zh-CN_joplin-api_index.md.C7rjRHjQ.lean.js @@ -0,0 +1 @@ +import{_ as t,c as i,o as e,a3 as a}from"./chunks/framework.1smVRZMp.js";const u=JSON.parse('{"title":"Joplin API","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-api/index.md","filePath":"zh-CN/joplin-api/index.md"}'),d={name:"zh-CN/joplin-api/index.md"},s=a("",15),o=[s];function l(p,r,n,h,c,k){return e(),i("div",null,o)}const A=t(d,[["render",l]]);export{u as __pageData,A as default}; diff --git a/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.js b/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.js new file mode 100644 index 00000000..5f47f6db --- /dev/null +++ b/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as i,a3 as l}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Joplin Batch Web","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-batch-web/index.md","filePath":"zh-CN/joplin-batch-web/index.md"}'),t={name:"zh-CN/joplin-batch-web/index.md"},o=l('

Joplin Batch Web

前往使用

处理一些 Joplin 本身不支持的批量操作,以可视化界面的形式展现出来。

  • [x] 检查是否存在没有引用的附件资源 一些没有使用的附件资源没有被及时清理
  • [x] 检查引用的附件资源不存在的情况 一些正在使用的附件可能由于各种原因不存在了
  • [x] 转换外部链接为内部笔记引用 希望能够将之前的 blog 链接转换为内部的 :/id 链接以保证永不过期
  • [x] 检查是否存在没有父级目录的笔记(一般是错误)

开始

  1. 打开 joplin 桌面版
  2. 启用网页剪辑器
  3. 设置 页面填写配置
  4. 导航到相关功能页面

guide

FAQ

为什么不使用 cli 的形式

cli 的形式不太适合这种场景,例如需要预览异常的附件或笔记,在命令行下比较麻烦。

它会记录我的笔记数据么

网站是全本地工作的,没有后端服务器,如果你仍然担忧,可以检查源代码 joplin-batch-web

',12),r=[o];function n(c,h,s,p,b,d){return i(),a("div",null,r)}const f=e(t,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.lean.js b/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.lean.js new file mode 100644 index 00000000..fbf6f703 --- /dev/null +++ b/assets/zh-CN_joplin-batch-web_index.md.DYmunkyk.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as i,a3 as l}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Joplin Batch Web","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-batch-web/index.md","filePath":"zh-CN/joplin-batch-web/index.md"}'),t={name:"zh-CN/joplin-batch-web/index.md"},o=l("",12),r=[o];function n(c,h,s,p,b,d){return i(),a("div",null,r)}const f=e(t,[["render",n]]);export{_ as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.js b/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.js new file mode 100644 index 00000000..8f899a80 --- /dev/null +++ b/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.js @@ -0,0 +1 @@ +import{_ as i,c as e,o as a,a3 as l,ac as o,ad as r,ae as s,af as n,ag as p,ah as t,ai as c,aj as h}from"./chunks/framework.1smVRZMp.js";const G=JSON.parse('{"title":"Joplin Publisher","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-publisher/index.md","filePath":"zh-CN/joplin-publisher/index.md"}'),g={name:"zh-CN/joplin-publisher/index.md"},u=l('

Joplin Publisher

简介

发布 Joplin 笔记到 GitHub,并通过 GitHub Actions 来自动化构建部署。

使用

  • GitHub
    1. 如果你还没有的话,注册一个 GitHub 账户。
    2. 使用模版项目 joplin-blog-template 作为模版创建一个新的仓库,名字是 <github username>.github.iocreate 1create 2create 3
    3. 修改 Settings > Pages > Build and deployment,选择 GitHub Actions setting 1
    4. 创建一个 github token,至少选择 content 和 <github username>.github.io 仓库的权限,创建完成之后复制得到的 token setting 2
  • Joplin
    1. 安装插件
    2. 打开 Joplin > Settings > Plugins > Publisher,分别设置 GitHub token/username/repo setting 1
    3. 选择一个笔记,添加标签 blogsetting 2
    4. 点击 Tools > Publish to GitHub 发布 publish 1

稍等两分钟,就可以前往 <github username>.github.io 查看你发布的笔记了。

blog

',7),_=[u];function b(m,d,f,P,k,x){return a(),e("div",null,_)}const H=i(g,[["render",b]]);export{G as __pageData,H as default}; diff --git a/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.lean.js b/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.lean.js new file mode 100644 index 00000000..4bfa93e6 --- /dev/null +++ b/assets/zh-CN_joplin-publisher_index.md.DX1ifxLS.lean.js @@ -0,0 +1 @@ +import{_ as i,c as e,o as a,a3 as l,ac as o,ad as r,ae as s,af as n,ag as p,ah as t,ai as c,aj as h}from"./chunks/framework.1smVRZMp.js";const G=JSON.parse('{"title":"Joplin Publisher","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-publisher/index.md","filePath":"zh-CN/joplin-publisher/index.md"}'),g={name:"zh-CN/joplin-publisher/index.md"},u=l("",7),_=[u];function b(m,d,f,P,k,x){return a(),e("div",null,_)}const H=i(g,[["render",b]]);export{G as __pageData,H as default}; diff --git a/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.js b/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.js new file mode 100644 index 00000000..c95b6b63 --- /dev/null +++ b/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as t,a3 as r,a4 as o,a5 as a}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Joplin Search Integration","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-search-integration/index.md","filePath":"zh-CN/joplin-search-integration/index.md"}'),n={name:"zh-CN/joplin-search-integration/index.md"},l=r('

Joplin Search Integration

Get uBlock Origin for Chromium Get uBlock Origin for Firefox

简介

使用搜索时,相关的乔普林笔记也会显示在搜索结果中。

search resultnote preview

目前支持的搜索引擎包括

  • Google
  • Bing
  • Baidu
  • DuckDuckGo
  • Searx
  • MetaGer

常见问题

token/port 指的是什么,在哪儿可以找到?

一般可以在 工具 > 选项 > 网页剪辑器 中看到

joplin web clipper

在 Brave 浏览器中没有搜索结果

实际上是 Brave 会默认阻止其他域的资源,所以在 Google 搜索网站关闭它即可。

joplin web clipper

不能在这个网站上读取或修改数据

有时候安装完插件并且配置好后没有效果,查看插件显示为灰色的,提示无法在这个网站上读取或修改数据。

这时候需要手动配置为允许。

error

Chrome

chrome

Firefox

firefox

贡献

如果你希望添加新的搜索引擎支持,可以提出 issue,或者 fork 后修改提 PR(非常简单 )

  1. 在 manifest.json 添加匹配的搜索引擎的 url
  2. 实现 BaseSearchEngineAdapter 接口
',25),p=[l];function s(c,h,d,g,m,u){return t(),i("div",null,p)}const b=e(n,[["render",s]]);export{_ as __pageData,b as default}; diff --git a/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.lean.js b/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.lean.js new file mode 100644 index 00000000..ac389c37 --- /dev/null +++ b/assets/zh-CN_joplin-search-integration_index.md.UI-lRwaq.lean.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as t,a3 as r,a4 as o,a5 as a}from"./chunks/framework.1smVRZMp.js";const _=JSON.parse('{"title":"Joplin Search Integration","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-search-integration/index.md","filePath":"zh-CN/joplin-search-integration/index.md"}'),n={name:"zh-CN/joplin-search-integration/index.md"},l=r("",25),p=[l];function s(c,h,d,g,m,u){return t(),i("div",null,p)}const b=e(n,[["render",s]]);export{_ as __pageData,b as default}; diff --git a/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.js b/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.js new file mode 100644 index 00000000..54d412b7 --- /dev/null +++ b/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a3 as t}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"隐私政策","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-search-integration/privacy.md","filePath":"zh-CN/joplin-search-integration/privacy.md"}'),i={name:"zh-CN/joplin-search-integration/privacy.md"},o=t('

隐私政策

此页面告知您我们在使用 joplin-search-integration 扩展时收集、使用和披露个人数据的政策,以及您与该数据相关的选择。

我们使用您的数据来提供和改进服务。 使用服务即表示您同意按照本政策收集和使用信息。

概括

  • 我们根本不跟踪扩展程序的使用情况。

  • 我们绝不会在您的浏览器之外发送信息或扩展设置。

  • 默认情况下,该扩展仅与支持的搜索引擎网站交互。

数据存储

我们将一些数据永久存储在您的本地设备上。即使您的浏览器重新启动,此信息仍然可用。

此数据只能通过浏览器上的 joplin-search-integration 扩展程序访问。

存储的信息可能包括:

  • 扩展设置(如 joplin clipper service prot/token)。

扩展本身不会将任何此类信息发送到您的设备之外。

但是,如果您启用 Chrome Sync、Firefox Sync、Edge Sync 或任何其他兼容的浏览器数据同步功能,则此信息可能会由您的浏览器发送到该服务。

数据采集

此扩展程序不会收集任何数据或将其发送到任何远程服务器。

接触

如果您有任何问题,请打开一个问题

',16),n=[o];function l(p,s,c,h,d,_){return r(),e("div",null,n)}const m=a(i,[["render",l]]);export{f as __pageData,m as default}; diff --git a/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.lean.js b/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.lean.js new file mode 100644 index 00000000..0ed4c25f --- /dev/null +++ b/assets/zh-CN_joplin-search-integration_privacy.md.BiTQVvr2.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,o as r,a3 as t}from"./chunks/framework.1smVRZMp.js";const f=JSON.parse('{"title":"隐私政策","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-search-integration/privacy.md","filePath":"zh-CN/joplin-search-integration/privacy.md"}'),i={name:"zh-CN/joplin-search-integration/privacy.md"},o=t("",16),n=[o];function l(p,s,c,h,d,_){return r(),e("div",null,n)}const m=a(i,[["render",l]]);export{f as __pageData,m as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.js b/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.js new file mode 100644 index 00000000..28632434 --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.js @@ -0,0 +1,6 @@ +import{_ as e,c as a,o as s,a3 as i,a6 as t}from"./chunks/framework.1smVRZMp.js";const b=JSON.parse('{"title":"常问问题","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/faq.md","filePath":"zh-CN/joplin-vscode-plugin/faq.md"}'),o={name:"zh-CN/joplin-vscode-plugin/faq.md"},n=i(`

常问问题

为什么要开发这个插件

  1. 作为专业的编辑器,vscode 的编辑功能是笔记工具所无法比拟的。例如,快捷键支持。
  2. vscode 不仅是一个编辑器,而且具有非常大的插件生态系统,因此它已经实现了 markdown 格式化,lint 校验,pdf 导出和其他所有功能。我们无需在笔记工具中重新创建编辑器的轮子 - 可能是方轮子。
  3. 实际上,吾辈一直在使用 vscode 编辑降价文档,并使用 git + vscode 存储与公司相关的文档。同时,joplin 还用于存储个人笔记,但过了一会儿,我发现我需要编辑 vscode + joplin 的同步 / 搜索功能。

因此,吾辈为有相同需求的人编写了此插件。

显示错误信息 Joplin’s token/port is set incorrectly, unable to access Joplin service!

请尝试在 CMD/Bash 执行以下命令,如果没有问题,它应该返回 JoplinClipperServer,否则你需要向 Joplin 官方提 issue。

cmd
curl http://127.0.0.1:41184/ping

如何列出 VSCode 打开的 joplin 笔记

虽然没有正式的支持,但你可以使用快捷键 c+j c+o 来列出最后修改的 20 个 joplin 笔记做到类似的事情。

之所以没有正式支持,可能就是因为两者的功能重叠,另外,vscode 的最近打开的文件也不仅仅是当前编辑器正在打开的文件,而是包括已经关闭的。

在侧边栏中点击无法打开笔记

这个问题可能有多个原因

  1. 检查是否可以在 joplin 中通过 切换外部编辑 功能打开 vscode

    1. 如果不能打开,则需要检查设置页面中的文本编辑器命令,你需要设置一个编辑器,或者有无效的设置,参考:https://github.com/laurent22/joplin/issues/5921#issuecomment-1002692774
    2. 如果仍然有问题,请去 joplin 官方项目 提出 issue
  2. 请使用版本 v1.4 或更高,因为它包含了必须的 action api,例如在 VSCode 中根据 noteId 打开笔记

  3. 确定是在当前电脑上安装 Joplin 桌面版,该插件并不支持 CLI,因为它并不包含上述的 action api,参考: https://discourse.joplinapp.org/t/16735

  4. 检查下面命令是否能够正常执行,如果仍然无法在编辑器中打开,可能要询问 @laurent22

    sh
    curl --location --request POST 'http://localhost:41184/services/externalEditWatcher?token=***' \\
    +--header 'Content-Type: application/json' \\
    +--data-raw '{
    + "action": "openAndWatch",
    + "noteId": "257f6a9dacc1409580ee526d50ac4d49"
    +}'

Windows 10 无法上传剪切版图片

可能是没有安装 powershell,在 CMD 中输入 powershell 检查

sh
powershell

powershell

如果提示 spawn powershell ENOENT 则需要安装 powershell,参考:在 Windows 上安装 PowerShell

如何在两个配置同步的 vscode 使用插件

默认情况下,每台电脑上的 joplin 会生成随机的 token,但您可以手动修改它,一般配置文件在 ~/.config/joplin-desktop/settings.json,您只需要修改其中的 api.token 为相同的 token 即可。

手动设置 joplin 的 token

参考:https://github.com/rxliuli/joplin-utils/issues/25

markdown 预览无法显示图片

当你第一次使用 joplin vscode 插件时,你也许会遇到无法在 markdown 预览中查看图片的问题,在预览中存在提示 Some content has been disabled in this document,这个问题可以很简单的解决。

  1. 输入命令 markdown.showPreviewSecuritySelector
  2. 在列表中选择 Allow insecure local content

vscode markdown 文档

不兼容插件 Markdown Preview Enhanced

由于 Markdown Preview Enhanced 自行构建了 markdown 文件渲染的 webview 页面,而且不在乎 vscode 提供的 markdown-it 扩展接口 api,所以现在无法兼容,推荐使用 Markdown All in One,参考:https://github.com/rxliuli/joplin-utils/issues/46

Linux 上无法粘贴图片到笔记中

请先安装 xclipwl-clipboard

',30),l=[n];function r(p,h,c,d,k,u){return s(),a("div",null,l)}const m=e(o,[["render",r]]);export{b as __pageData,m as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.lean.js b/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.lean.js new file mode 100644 index 00000000..f5d373ca --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_faq.md.BDwpLd08.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as s,a3 as i,a6 as t}from"./chunks/framework.1smVRZMp.js";const b=JSON.parse('{"title":"常问问题","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/faq.md","filePath":"zh-CN/joplin-vscode-plugin/faq.md"}'),o={name:"zh-CN/joplin-vscode-plugin/faq.md"},n=i("",30),l=[n];function r(p,h,c,d,k,u){return s(),a("div",null,l)}const m=e(o,[["render",r]]);export{b as __pageData,m as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.js b/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.js new file mode 100644 index 00000000..69439ea2 --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as d,a3 as o,a7 as a,a8 as c,a9 as l}from"./chunks/framework.1smVRZMp.js";const q=JSON.parse('{"title":"其他功能","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/feature.md","filePath":"zh-CN/joplin-vscode-plugin/feature.md"}'),r={name:"zh-CN/joplin-vscode-plugin/feature.md"},i=o('

其他功能

配置表

字段默认值可选值说明
tokenstringjoplin web 服务的 token
baseUrlhttp://localhost:41184stringjoplin api 基础路径
deleteConfirmtrueboolean删除时是否提醒
sortNotesfalseboolean是否对笔记进行排序
sortNotesTypealphabetical笔记排序的类型
alphabetical按照标题的字母顺序排序
defaultJoplin 默认的排序
sortOrderasc笔记排序的顺序(升序或降序)
asc升序
desc降序

快捷键

  • f2: 重命名笔记或目录
  • delete: 删除笔记或目录
  • ctrl+alt+u: 从剪切板上传图片
  • ctrl+alt+e: 从文件选择器上传图片
  • ctrl+alt+shift+e: 从文件选择器添加附件
  • ctrl+j ctrl+o: 搜索笔记,默认显示最近修改的 20 条笔记
  • ctrl+j ctrl+i: 创建附件
  • ctrl+j ctrl+m: 管理标签
  • ctrl+j ctrl+l: 显示当前笔记的附件资源

编辑附件

由于在 vscode 编辑器中实现的点击跳转功能经常存在问题,所以在 v0.7.8 之后实现了显示当前笔记附件列表的功能,用以快速编辑指定附件资源,默认快捷键为 ctrl+j ctrl+l

editResource

粘贴图片

v0.1.7 之后新增了图片粘贴功能,可以通过右键菜单、命令或快捷键将图片上传到 Joplin 并粘贴链接到 VSCode 中。

  1. ctrl+alt+u 粘贴剪切板的图片
  2. ctrl+alt+e 使用文件管理器选择图片粘贴

pasteImage

添加附件

v0.1.10 之后新增了添加附件的功能,可以通过命令或快捷键将文件作为附件资源添加到 Joplin 笔记中。

  1. ctrl+alt+shift+e 选择要添加为附件的文件

创建附件

v0.3.0 之后实现了右键创建附件资源的功能,主要用于快速创建并添加一个思维导图(由百度脑图提供支持)或流程图(由 draw.io 提供支持)。

管理标签

v0.3.0 之后支持管理标签,命令是 > Joplin: Manage tags,默认快捷键为 ctrl+j ctrl+m 即可弹出复选框。

创建标签

v0.3.0 之后支持创建标签,命令是 > Joplin: Create tag

链接笔记

在笔记上右键菜单可以看到 复制链接,点击即复制到剪切板。

Link notes

使用 Ctrl+单击 打开到其他笔记中。

',25),h=[i];function s(n,p,u,_,b,m){return d(),e("div",null,h)}const g=t(r,[["render",s]]);export{q as __pageData,g as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.lean.js b/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.lean.js new file mode 100644 index 00000000..3549454e --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_feature.md.BeicaQN5.lean.js @@ -0,0 +1 @@ +import{_ as t,c as e,o as d,a3 as o,a7 as a,a8 as c,a9 as l}from"./chunks/framework.1smVRZMp.js";const q=JSON.parse('{"title":"其他功能","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/feature.md","filePath":"zh-CN/joplin-vscode-plugin/feature.md"}'),r={name:"zh-CN/joplin-vscode-plugin/feature.md"},i=o("",25),h=[i];function s(n,p,u,_,b,m){return d(),e("div",null,h)}const g=t(r,[["render",s]]);export{q as __pageData,g as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.js b/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.js new file mode 100644 index 00000000..d3e1b567 --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.js @@ -0,0 +1 @@ +import{_ as e,c as a,o,a3 as l,aa as i,ab as t}from"./chunks/framework.1smVRZMp.js";const g=JSON.parse('{"title":"快速启动","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/index.md","filePath":"zh-CN/joplin-vscode-plugin/index.md"}'),r={name:"zh-CN/joplin-vscode-plugin/index.md"},p=l('

快速启动

概述

install

Joplin VSCode Plugin 提供在 VSCode 中管理 Joplin 笔记的功能,包括常见的查看、编辑笔记,管理笔记的标签,添加、修改附件,内部链接、搜索等功能。

Joplin Web Clipper 旨在通过 REST Web API 与浏览器扩展进行通信,共享笔记、笔记本、标签等。Joplin VSCode Plugin 连接到相同的 REST 端点,可以在不离开编辑器的情况下查看和修改笔记。

为什么会有这个插件?阅读 我的动机 了解开发它的原因。

它能做什么?功能 列出了现有的功能。

要求

  • Joplin 版本 > v2.8
  • VSCode 版本 > v1.66.2
  • 启用 Joplin Web Clipper

安装 Joplin VSCode 插件

在 VSCode 市场中搜索 joplin。找到 Joplin VSCode Plugin 并点击安装。

安装插件

配置

要访问 Joplin 数据库,我们需要连接到 Joplin Web Clipper 打开的 API 端点。这意味着 Joplin 必须运行,Web Clipper 必须启用。

关于 Web Clipper 的帮助,请参考 Joplin Web Clipper

要启动并运行,需要注意两个设置。

授权令牌

  • 从 Joplin 设置中复制你的授权令牌并粘贴到这里。 网页剪辑 -> 高级选项 -> 拷贝 Token 令牌

基本路径

  • 一般而言,如果你使用本地安装的 Joplin 桌面客户端,则不需要特殊配置。如果使用远端的 Joplin 服务,则需要进行配置。 例如 http://127.0.0.1:41184

安装插件

开始使用

输入快捷键 Ctrl+J Ctrl+J,然后庆祝 🎉。这个快捷键组合激活了 view: show joplin 命令,打开侧边栏,显示所有的笔记本。

预览

功能

您的所有笔记和记事本都可以在侧边栏中找到,展开笔记本可以看到下面的子笔记本和笔记。

点击一个笔记,在编辑器中打开一个工作副本,保存它以将修改推送回 Joplin。

你可以随心所欲地创建、编辑和删除 笔记笔记本,一切都在 VSCode 中不间断的完成。🦸♀️

命令和快捷键

VSCode 有很多快捷键,为了避免与内置的快捷键冲突,该插件假定了一个快捷键前缀 Ctrl+J,在后面继续添加二步快捷键。

提示:探索在命令调色板中输入 joplin 的结果,找出这里没有告诉你的功能。

',30),n=[p];function s(d,c,h,u,b,m){return o(),a("div",null,n)}const f=e(r,[["render",s]]);export{g as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.lean.js b/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.lean.js new file mode 100644 index 00000000..90cfdf46 --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_index.md.BksapFsF.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o,a3 as l,aa as i,ab as t}from"./chunks/framework.1smVRZMp.js";const g=JSON.parse('{"title":"快速启动","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/index.md","filePath":"zh-CN/joplin-vscode-plugin/index.md"}'),r={name:"zh-CN/joplin-vscode-plugin/index.md"},p=l("",30),n=[p];function s(d,c,h,u,b,m){return o(),a("div",null,n)}const f=e(r,[["render",s]]);export{g as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.js b/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.js new file mode 100644 index 00000000..a465e05a --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a3 as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"限制","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/limitations.md","filePath":"zh-CN/joplin-vscode-plugin/limitations.md"}'),s={name:"zh-CN/joplin-vscode-plugin/limitations.md"},a=i('

限制

虽然目前插件已经实现了 joplin 的常用功能,但却是存在一些难以处理的限制。也正是由于这些限制的存在,所以吾辈才没有使用直接基于 vscode 的笔记插件。

',3),r=[a];function c(l,n,d,h,p,_){return o(),t("div",null,r)}const f=e(s,[["render",c]]);export{m as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.lean.js b/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.lean.js new file mode 100644 index 00000000..e1826ccc --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_limitations.md.DGPxTgJn.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a3 as i}from"./chunks/framework.1smVRZMp.js";const m=JSON.parse('{"title":"限制","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/limitations.md","filePath":"zh-CN/joplin-vscode-plugin/limitations.md"}'),s={name:"zh-CN/joplin-vscode-plugin/limitations.md"},a=i("",3),r=[a];function c(l,n,d,h,p,_){return o(),t("div",null,r)}const f=e(s,[["render",c]]);export{m as __pageData,f as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.js b/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.js new file mode 100644 index 00000000..9aeff726 --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,a3 as t}from"./chunks/framework.1smVRZMp.js";const u=JSON.parse('{"title":"推荐扩展","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/recommended.md","filePath":"zh-CN/joplin-vscode-plugin/recommended.md"}'),o={name:"zh-CN/joplin-vscode-plugin/recommended.md"},i=t('

推荐扩展

插件

先简单列出吾辈与笔记相关的插件列表,它们都实现了某项特定功能且可以组合。

你可能注意到其中部分插件和 markdown 没什么关系,但它们对于编辑而言仍然是重要的,例如 Joplin 最近(v1.4.*)才实现的拼写检查功能已经存在现有的 VSCode 插件了。

替代品

joplin 最近开发了插件系统,也有许多开发者在为它编写 各种插件,而使用 joplin-vscode-plugin 则无法享受大部分插件带来的功能。然而,vscode 本身就有一个极其庞大的插件系统,以及繁多的功能。下面列出了一些 joplin plugin 在 vscode 的替代插件或功能

',8),l=[i];function n(s,d,m,c,p,h){return a(),r("div",null,l)}const k=e(o,[["render",n]]);export{u as __pageData,k as default}; diff --git a/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.lean.js b/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.lean.js new file mode 100644 index 00000000..c8fa781e --- /dev/null +++ b/assets/zh-CN_joplin-vscode-plugin_recommended.md.D4MgYEmQ.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,a3 as t}from"./chunks/framework.1smVRZMp.js";const u=JSON.parse('{"title":"推荐扩展","description":"","frontmatter":{},"headers":[],"relativePath":"zh-CN/joplin-vscode-plugin/recommended.md","filePath":"zh-CN/joplin-vscode-plugin/recommended.md"}'),o={name:"zh-CN/joplin-vscode-plugin/recommended.md"},i=t("",8),l=[i];function n(s,d,m,c,p,h){return a(),r("div",null,l)}const k=e(o,[["render",n]]);export{u as __pageData,k as default}; diff --git a/en-US/index.html b/en-US/index.html index 93643996..1b932ad8 100644 --- a/en-US/index.html +++ b/en-US/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Utils

Joplin-based community tool

Joplin Utils

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-api/index.html b/en-US/joplin-api/index.html index 040e8827..5c2e76cb 100644 --- a/en-US/joplin-api/index.html +++ b/en-US/joplin-api/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -26,7 +26,7 @@ config.token = '***' const res = await noteApi.list() console.log(res)

More examples can be found at: https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-api/src/api/__tests__

API Reference

ObjectDescription
eventApiEvent-related API, such as fetching note revision history
folderApiFolder-related API, such as retrieving the folder tree
folderExtApiFolder extension API, such as moving folders
joplinApiBasic Joplin API, such as checking if the Joplin web service is running
noteActionApiNote action API, such as opening notes in an external editor
noteApiNote-related API, such as fetching the content of notes
noteExtApiNote extension API, such as renaming notes
resourceActionApiResource action API, such as opening attachments in an external editor
resourceApiResource-related API, such as uploading images
searchApiSearch-related API
tagApiTag-related API, such as modifying note tags
configGlobal Joplin web clipper configuration
PageUtilStatic utility class for pagination, such as retrieving the full list of notes

Conventions

  • The API is wrapped in classes, such as note-related APIs being encapsulated in the NoteApi class.
  • The same functionality has consistent naming. For instance, the note list is NoteApi.list. Here is the full comparison table:
FunctionNamingExample
ListlistnoteApi.list
Get by IDgetnoteApi.get
CreatecreatenoteApi.create
UpdateupdatenoteApi.update
DeleteremovenoteApi.remove
  • There are some special cases. For example, in APIs involving multiple entities, the naming is generally actionEntity + by + referenceEntity. For example, the API for getting the tag list by note ID is noteApi.tagsById.

Some Issues

  • The get method should not throw an error. If an item does not exist, it should return null instead of throwing an exception.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-batch-web/index.html b/en-US/joplin-batch-web/index.html index 10fe08c3..d6867d6c 100644 --- a/en-US/joplin-batch-web/index.html +++ b/en-US/joplin-batch-web/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Batch Web

Go to use

Handle some bulk operations that Joplin itself does not support and present them in a visual interface.

  • [x] Check if there are any unused attachment resources Some unused attachments haven't been cleaned up.
  • [x] Check if there are missing referenced attachment resources Some used attachments might be missing for various reasons.
  • [x] Convert external links to internal note references Want to convert previous blog links to internal :/id links to ensure they never expire.
  • [x] Check if there are notes without a parent directory (usually an error)

Getting Started

  1. Open Joplin Desktop
  2. Enable web clipper
  3. Fill in the configuration on the Settings page
  4. Navigate to the relevant function page

guide

FAQ

Why not use a CLI form

CLI form is not very suitable for this scenario, for example, checking abnormal attachments or notes which can be cumbersome on the command line.

Does it record my note data

The website works entirely locally, with no backend servers. If you still have concerns, you can check the source code joplin-batch-web.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-search-integration/index.html b/en-US/joplin-search-integration/index.html index b3d7caca..f12d657f 100644 --- a/en-US/joplin-search-integration/index.html +++ b/en-US/joplin-search-integration/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Search Integration

Get uBlock Origin for Chromium Get uBlock Origin for Firefox

Introduction

When using the search, relevant Joplin notes will also appear in the search results.

search resultnote preview

Currently supported search engines include:

  • Google
  • Bing
  • Baidu
  • DuckDuckGo
  • Searx
  • MetaGer

FAQ

What are token/port, and where can I find them?

They can generally be found in Tools > Options > Web Clipper.

joplin web clipper

No search results in Brave browser

Brave typically blocks resources from other domains by default, so just disable it on the Google search site.

joplin web clipper

Cannot read or modify data on this website

Sometimes after installing the plugin and configuring it, it might not take effect. If the plugin appears gray and indicates that it cannot read or modify data on this website, you need to manually configure it to allow access.

error

Chrome

chrome

Firefox

firefox

Contribute

If you want to add support for a new search engine, you can raise an issue or fork and submit a PR (it's very simple).

  1. Add the URL of the matching search engine in the manifest.json.
  2. Implement the BaseSearchEngineAdapter interface.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-search-integration/privacy.html b/en-US/joplin-search-integration/privacy.html index 7d75874d..64faa312 100644 --- a/en-US/joplin-search-integration/privacy.html +++ b/en-US/joplin-search-integration/privacy.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Privacy Policy

This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our joplin-search-integration extension, and the choices you have associated with that data.

We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in accordance with this policy.

Overview

  • We do not track the use of the extension at all.

  • We never send information or extension settings outside of your browser.

  • By default, this extension only interacts with supported search engine websites.

Data Storage

We store some data permanently on your local device. This information is still available even if your browser is restarted.

This data can only be accessed via the joplin-search-integration extension on your browser.

The stored information may include:

  • Extension settings (such as joplin clipper service prot/token).

The extension itself does not send any such information outside of your device.

However, if you enable Chrome Sync, Firefox Sync, Edge Sync, or any other compatible browser data synchronization feature, this information may be sent by your browser to that service.

Data Collection

This extension does not collect any data or send it to any remote servers.

Contact

If you have any questions, please open an issue.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-vscode-plugin/faq.html b/en-US/joplin-vscode-plugin/faq.html index 9e090c36..04ba1f7b 100644 --- a/en-US/joplin-vscode-plugin/faq.html +++ b/en-US/joplin-vscode-plugin/faq.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -26,7 +26,7 @@ "action": "openAndWatch", "noteId": "257f6a9dacc1409580ee526d50ac4d49" }'

Unable to Upload Clipboard Images on Windows 10

This could be due to missing PowerShell. Check by typing PowerShell in CMD.

sh
powershell

powershell

If prompted with spawn powershell ENOENT, you need to install PowerShell. Refer to: Installing PowerShell on Windows

How to Use the Plugin with Two Synchronized VSCode Configurations

By default, Joplin generates a random token for each computer. However, you can manually modify it. Usually, the configuration file is located at ~/.config/joplin-desktop/settings.json. You just need to set the api.token to the same token.

manually-set-token-of-joplin

Reference: https://github.com/rxliuli/joplin-utils/issues/25

Markdown Preview Can't Display Images

When you first use the Joplin VSCode plugin, you may encounter issues with images not displaying in the markdown preview. The preview might show a message stating Some content has been disabled in this document. This can be easily resolved.

  1. Enter the command markdown.showPreviewSecuritySelector.
  2. Select Allow insecure local content from the list.

VSCode Markdown Documentation

Incompatibility with Markdown Preview Enhanced Plugin

Since Markdown Preview Enhanced constructs its own webview page for rendering markdown files and disregards the markdown-it extension interface API provided by VSCode, it’s currently incompatible. It is recommended to use Markdown All in One instead. Refer to: https://github.com/rxliuli/joplin-utils/issues/46

Unable to Paste Images into Notes on Linux

Please install xclip and wl-clipboard first.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-vscode-plugin/feature.html b/en-US/joplin-vscode-plugin/feature.html index 9fb670a1..76bb6a27 100644 --- a/en-US/joplin-vscode-plugin/feature.html +++ b/en-US/joplin-vscode-plugin/feature.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Other Features

Configuration Table

FieldDefault ValueOptional ValuesDescription
tokenstringToken for the Joplin web service
baseUrlhttp://localhost:41184stringBase path for the Joplin API
deleteConfirmtruebooleanConfirmation prompt before delete
sortNotesfalsebooleanWhether to sort notes
sortNotesTypealphabeticalType of note sorting
alphabeticalSort by the alphabetical order of titles
defaultJoplin's default sorting
sortOrderascSorting order of notes (ascending or descending)
ascAscending
descDescending

Shortcuts

  • f2: Rename note or directory
  • delete: Delete note or directory
  • ctrl+alt+u: Upload image from clipboard
  • ctrl+alt+e: Upload image from file picker
  • ctrl+alt+shift+e: Add attachment from file picker
  • ctrl+j ctrl+o: Search notes, showing the latest 20 modified notes by default
  • ctrl+j ctrl+i: Create attachment
  • ctrl+j ctrl+m: Manage tags
  • ctrl+j ctrl+l: Show attachments of the current note

Editing Attachments

Due to frequent issues with the click-to-jump feature in the vscode editor, since v0.7.8, the functionality to display the current note's attachment list has been implemented for quick editing of specified attachment resources. The default shortcut is ctrl+j ctrl+l.

editResource

Pasting Images

Since v0.1.7, the image paste feature has been added, allowing images to be uploaded to Joplin via the right-click menu, command, or shortcut key and the link to be pasted into VSCode.

  1. ctrl+alt+u Paste image from clipboard
  2. ctrl+alt+e Use file manager to select an image to paste

pasteImage

Adding Attachments

Since v0.1.10, the ability to add attachments has been added, allowing files to be added as attachment resources to Joplin notes via command or shortcut key.

  1. ctrl+alt+shift+e Select a file to add as an attachment

Creating Attachments

Since v0.3.0, the right-click to create attachment resources feature has been implemented, mainly used to quickly create and add a mind map (supported by Baidu BrainMap) or flowchart (supported by draw.io).

Managing Tags

Since v0.3.0, tag management is supported. The command is > Joplin: Manage tags, and the default shortcut key is ctrl+j ctrl+m to pop up the checkbox.

Creating Tags

Since v0.3.0, creating tags is supported. The command is > Joplin: Create tag.

Linking Notes

Right-click on the note to see Copy Link, clicking will copy the link to the clipboard.

Link notes

Use Ctrl+Click to open the link in another note.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-vscode-plugin/index.html b/en-US/joplin-vscode-plugin/index.html index 0b360a62..334b2435 100644 --- a/en-US/joplin-vscode-plugin/index.html +++ b/en-US/joplin-vscode-plugin/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Quick Start

Overview

install

Joplin VSCode Plugin provides the functionality to manage Joplin notes within VSCode, including common actions like viewing, editing notes, managing note tags, adding or modifying attachments, internal linking, searching, and more.

Joplin Web Clipper aims to communicate with browser extensions via REST Web API, sharing notebooks, notes, tags, etc. Joplin VSCode Plugin connects to the same REST endpoint, allowing you to view and modify notes without leaving the editor.

Why does this plugin exist? Read My Motivation to understand the reasons behind its development.

What can it do? Features lists the existing functionalities.

Requirements

  • Joplin version > v2.8
  • VSCode version > v1.66.2
  • Enable Joplin Web Clipper

Install Joplin VSCode Plugin

Search for joplin in the VSCode marketplace. Find Joplin VSCode Plugin and click install.

Install Plugin

Configuration

To access the Joplin database, we need to connect to the API endpoint opened by Joplin Web Clipper. This means that Joplin must be running and the Web Clipper must be enabled.

For help on Web Clipper, refer to Joplin Web Clipper.

To get started, you need to pay attention to two settings.

Authorization Token

  • Copy your authorization token from Joplin settings and paste it here. Web Clipper -> Advanced Options -> Copy Token.

Base URL

  • Generally, if you are using the locally installed Joplin Desktop Client, no special configuration is needed. If you are using a remote Joplin service, configuration is required. For example, http://127.0.0.1:41184

Config Settings

Getting Started

Enter the shortcut Ctrl+J Ctrl+J, and then celebrate 🎉. This key combination activates the view:show joplin command, opening the sidebar to show all notebooks.

Preview

Features

All your notes and notebooks can be found in the sidebar, expand a notebook to see the sub-notebooks and notes underneath.

Click on a note to open a working copy in the editor, save it to push the modifications back to Joplin.

You can freely create, edit, and delete notes and notebooks, all done seamlessly within VSCode. 🦸♀️

Commands and Shortcuts

VSCode has numerous shortcuts. To avoid conflicts with built-in shortcuts, this plugin assumes a prefix of Ctrl+J, followed by a two-step shortcut.

Hint: Explore results by typing joplin in the command palette to find out functionalities not listed here.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-vscode-plugin/limitations.html b/en-US/joplin-vscode-plugin/limitations.html index cfacf059..a0892b5e 100644 --- a/en-US/joplin-vscode-plugin/limitations.html +++ b/en-US/joplin-vscode-plugin/limitations.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Limitations

Although the current plugin has realized the common functionalities of Joplin, there are some limitations that are challenging to address. It is precisely because of these limitations that I have not used a note plugin directly based on VSCode.

Released under the MIT License.

- + \ No newline at end of file diff --git a/en-US/joplin-vscode-plugin/recommended.html b/en-US/joplin-vscode-plugin/recommended.html index abe308f4..0f3101c0 100644 --- a/en-US/joplin-vscode-plugin/recommended.html +++ b/en-US/joplin-vscode-plugin/recommended.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Released under the MIT License.

- + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index b3beeff9..4963d50e 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"en-us_joplin-api_index.md":"Dg1idpgS","en-us_index.md":"u9ywFZcn","en-us_joplin-search-integration_privacy.md":"BgWG3OOk","en-us_joplin-batch-web_index.md":"DRVUqO-1","en-us_joplin-vscode-plugin_index.md":"C1IZQy9q","public_images_readme.md":"DEUhO-tN","en-us_joplin-search-integration_index.md":"BjRL2TRw","zh-cn_joplin-vscode-plugin_feature.md":"Df36boPU","zh-cn_joplin-vscode-plugin_limitations.md":"BKMze-9Z","zh-cn_index.md":"2Q68nVnX","en-us_joplin-vscode-plugin_faq.md":"CEZDDjt0","en-us_joplin-vscode-plugin_recommended.md":"DFyvjoYJ","en-us_joplin-vscode-plugin_limitations.md":"CnAcPoQB","zh-cn_joplin-batch-web_index.md":"DroUpdiS","zh-cn_joplin-api_index.md":"DdsuRRBr","en-us_joplin-vscode-plugin_feature.md":"BZe9zNTQ","zh-cn_joplin-vscode-plugin_recommended.md":"nakmH8rj","zh-cn_joplin-search-integration_privacy.md":"CxCksAgI","index.md":"DWKdx7GI","zh-cn_joplin-vscode-plugin_faq.md":"B11z_Wfy","zh-cn_joplin-vscode-plugin_index.md":"BpjQ2mGh","zh-cn_joplin-search-integration_index.md":"7dXPaVF7"} +{"en-us_joplin-search-integration_index.md":"taQxOC55","public_images_readme.md":"QgMw7SEO","en-us_joplin-search-integration_privacy.md":"4wZ9Iab1","index.md":"DaOhRK4t","en-us_joplin-batch-web_index.md":"CauQNFh_","zh-cn_index.md":"1NXqwxrz","zh-cn_joplin-vscode-plugin_limitations.md":"DGPxTgJn","en-us_joplin-vscode-plugin_recommended.md":"BXLoVAFO","zh-cn_joplin-vscode-plugin_recommended.md":"D4MgYEmQ","zh-cn_joplin-vscode-plugin_faq.md":"BDwpLd08","zh-cn_joplin-search-integration_index.md":"UI-lRwaq","en-us_index.md":"DDg-75FX","zh-cn_joplin-vscode-plugin_feature.md":"BeicaQN5","en-us_joplin-vscode-plugin_index.md":"BASpaMa3","zh-cn_joplin-api_index.md":"C7rjRHjQ","en-us_joplin-vscode-plugin_limitations.md":"CuxSMqqB","zh-cn_joplin-search-integration_privacy.md":"BiTQVvr2","zh-cn_joplin-publisher_index.md":"DX1ifxLS","zh-cn_joplin-batch-web_index.md":"DYmunkyk","en-us_joplin-api_index.md":"o4RGYfoW","zh-cn_joplin-vscode-plugin_index.md":"BksapFsF","en-us_joplin-vscode-plugin_feature.md":"BQKMtrD8","en-us_joplin-vscode-plugin_faq.md":"BD_McOPB"} diff --git a/images/joplin-publisher-github-create-1.png b/images/joplin-publisher-github-create-1.png new file mode 100644 index 00000000..9752e23f Binary files /dev/null and b/images/joplin-publisher-github-create-1.png differ diff --git a/images/joplin-publisher-github-create-2.png b/images/joplin-publisher-github-create-2.png new file mode 100644 index 00000000..5c3c0308 Binary files /dev/null and b/images/joplin-publisher-github-create-2.png differ diff --git a/images/joplin-publisher-github-create-3.png b/images/joplin-publisher-github-create-3.png new file mode 100644 index 00000000..a4d94155 Binary files /dev/null and b/images/joplin-publisher-github-create-3.png differ diff --git a/images/joplin-publisher-github-setting-1.png b/images/joplin-publisher-github-setting-1.png new file mode 100644 index 00000000..f52c60af Binary files /dev/null and b/images/joplin-publisher-github-setting-1.png differ diff --git a/images/joplin-publisher-github-setting-2.png b/images/joplin-publisher-github-setting-2.png new file mode 100644 index 00000000..c704f74c Binary files /dev/null and b/images/joplin-publisher-github-setting-2.png differ diff --git a/images/joplin-publisher-joplin-blog-1.png b/images/joplin-publisher-joplin-blog-1.png new file mode 100644 index 00000000..65e5ff4a Binary files /dev/null and b/images/joplin-publisher-joplin-blog-1.png differ diff --git a/images/joplin-publisher-joplin-publish-1.png b/images/joplin-publisher-joplin-publish-1.png new file mode 100644 index 00000000..04b5046e Binary files /dev/null and b/images/joplin-publisher-joplin-publish-1.png differ diff --git a/images/joplin-publisher-joplin-setting-1.png b/images/joplin-publisher-joplin-setting-1.png new file mode 100644 index 00000000..7bd17154 Binary files /dev/null and b/images/joplin-publisher-joplin-setting-1.png differ diff --git a/images/joplin-publisher-joplin-setting-2.png b/images/joplin-publisher-joplin-setting-2.png new file mode 100644 index 00000000..72ee233f Binary files /dev/null and b/images/joplin-publisher-joplin-setting-2.png differ diff --git a/index.html b/index.html index 2ca72927..30d49f52 100644 --- a/index.html +++ b/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Utils

Joplin-based community tool

Joplin Utils

Released under the MIT License.

- + \ No newline at end of file diff --git a/public/images/README.html b/public/images/README.html index 9c6fd538..a131fd60 100644 --- a/public/images/README.html +++ b/public/images/README.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/index.html b/zh-CN/index.html index 4ac8079d..cf28de75 100644 --- a/zh-CN/index.html +++ b/zh-CN/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Utils

基于 Joplin 的社区工具

Joplin Utils

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-api/index.html b/zh-CN/joplin-api/index.html index 8a694022..a5689826 100644 --- a/zh-CN/joplin-api/index.html +++ b/zh-CN/joplin-api/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -26,7 +26,7 @@ config.token = '***' const res = await noteApi.list() console.log(res)

更多示例参考: https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-api/src/api/__tests__

API 参考

对象描述
eventApi事件相关的 api,例如获取笔记修改历史
folderApi目录相关 api,例如获取目录树
folderExtApi目录扩展 api,例如移动目录
joplinApijoplin 基础 api,例如检查 joplin web 服务是否打开
noteActionApi笔记相关动作 api,例如在外部编辑器打开笔记
noteApi笔记相关 api,例如获取笔记的内容
noteExtApi笔记扩展 api,例如重命名
resourceActionApi资源动作 api,例如在外部编辑器打开附件资源
resourceApi资源相关 api,例如上传图片
searchApi搜索相关 api
tagApi标签相关 api,例如修改笔记的标签
config全局 joplin web clipper 配置
PageUtil分页相关的静态工具类,例如获取全量笔记列表

约定俗称

  • 使用 class 封装 API,例如 note 相关的 API 被封装在 NoteApi 类中。
  • 同一个功能含义保持统一的命名。例如笔记列表是 NoteApi.list。以下为完整对照表
含义命名示例
列表listnoteApi.list
根据 id 获取getnoteApi.get
创建createnoteApi.create
修改updatenoteApi.update
删除removenoteApi.remove
  • 存在一些特殊情况,例如涉及到多个实体的 api,命名则一般是 操作实体 + by + 依据实体,例如 根据笔记 id 获取标签列表的 api 是 noteApi.tagsById

一些问题

  • get 方法不应该报错,如果不存在应该返回 null 而非抛出异常

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-batch-web/index.html b/zh-CN/joplin-batch-web/index.html index 9de79fbe..c2ccd3b0 100644 --- a/zh-CN/joplin-batch-web/index.html +++ b/zh-CN/joplin-batch-web/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Batch Web

前往使用

处理一些 Joplin 本身不支持的批量操作,以可视化界面的形式展现出来。

  • [x] 检查是否存在没有引用的附件资源 一些没有使用的附件资源没有被及时清理
  • [x] 检查引用的附件资源不存在的情况 一些正在使用的附件可能由于各种原因不存在了
  • [x] 转换外部链接为内部笔记引用 希望能够将之前的 blog 链接转换为内部的 :/id 链接以保证永不过期
  • [x] 检查是否存在没有父级目录的笔记(一般是错误)

开始

  1. 打开 joplin 桌面版
  2. 启用网页剪辑器
  3. 设置 页面填写配置
  4. 导航到相关功能页面

guide

FAQ

为什么不使用 cli 的形式

cli 的形式不太适合这种场景,例如需要预览异常的附件或笔记,在命令行下比较麻烦。

它会记录我的笔记数据么

网站是全本地工作的,没有后端服务器,如果你仍然担忧,可以检查源代码 joplin-batch-web

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-publisher/index.html b/zh-CN/joplin-publisher/index.html new file mode 100644 index 00000000..cb9167d8 --- /dev/null +++ b/zh-CN/joplin-publisher/index.html @@ -0,0 +1,27 @@ + + + + + + Joplin Publisher | Joplin Utils + + + + + + + + + + + + + + + + +
Skip to content

Joplin Publisher

简介

发布 Joplin 笔记到 GitHub,并通过 GitHub Actions 来自动化构建部署。

使用

  • GitHub
    1. 如果你还没有的话,注册一个 GitHub 账户。
    2. 使用模版项目 joplin-blog-template 作为模版创建一个新的仓库,名字是 <github username>.github.iocreate 1create 2create 3
    3. 修改 Settings > Pages > Build and deployment,选择 GitHub Actions setting 1
    4. 创建一个 github token,至少选择 content 和 <github username>.github.io 仓库的权限,创建完成之后复制得到的 token setting 2
  • Joplin
    1. 安装插件
    2. 打开 Joplin > Settings > Plugins > Publisher,分别设置 GitHub token/username/repo setting 1
    3. 选择一个笔记,添加标签 blogsetting 2
    4. 点击 Tools > Publish to GitHub 发布 publish 1

稍等两分钟,就可以前往 <github username>.github.io 查看你发布的笔记了。

blog

Released under the MIT License.

+ + + + \ No newline at end of file diff --git a/zh-CN/joplin-search-integration/index.html b/zh-CN/joplin-search-integration/index.html index 86eab644..1d363831 100644 --- a/zh-CN/joplin-search-integration/index.html +++ b/zh-CN/joplin-search-integration/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Joplin Search Integration

Get uBlock Origin for Chromium Get uBlock Origin for Firefox

简介

使用搜索时,相关的乔普林笔记也会显示在搜索结果中。

search resultnote preview

目前支持的搜索引擎包括

  • Google
  • Bing
  • Baidu
  • DuckDuckGo
  • Searx
  • MetaGer

常见问题

token/port 指的是什么,在哪儿可以找到?

一般可以在 工具 > 选项 > 网页剪辑器 中看到

joplin web clipper

在 Brave 浏览器中没有搜索结果

实际上是 Brave 会默认阻止其他域的资源,所以在 Google 搜索网站关闭它即可。

joplin web clipper

不能在这个网站上读取或修改数据

有时候安装完插件并且配置好后没有效果,查看插件显示为灰色的,提示无法在这个网站上读取或修改数据。

这时候需要手动配置为允许。

error

Chrome

chrome

Firefox

firefox

贡献

如果你希望添加新的搜索引擎支持,可以提出 issue,或者 fork 后修改提 PR(非常简单 )

  1. 在 manifest.json 添加匹配的搜索引擎的 url
  2. 实现 BaseSearchEngineAdapter 接口

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-search-integration/privacy.html b/zh-CN/joplin-search-integration/privacy.html index 8b7164af..85043e18 100644 --- a/zh-CN/joplin-search-integration/privacy.html +++ b/zh-CN/joplin-search-integration/privacy.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

隐私政策

此页面告知您我们在使用 joplin-search-integration 扩展时收集、使用和披露个人数据的政策,以及您与该数据相关的选择。

我们使用您的数据来提供和改进服务。 使用服务即表示您同意按照本政策收集和使用信息。

概括

  • 我们根本不跟踪扩展程序的使用情况。

  • 我们绝不会在您的浏览器之外发送信息或扩展设置。

  • 默认情况下,该扩展仅与支持的搜索引擎网站交互。

数据存储

我们将一些数据永久存储在您的本地设备上。即使您的浏览器重新启动,此信息仍然可用。

此数据只能通过浏览器上的 joplin-search-integration 扩展程序访问。

存储的信息可能包括:

  • 扩展设置(如 joplin clipper service prot/token)。

扩展本身不会将任何此类信息发送到您的设备之外。

但是,如果您启用 Chrome Sync、Firefox Sync、Edge Sync 或任何其他兼容的浏览器数据同步功能,则此信息可能会由您的浏览器发送到该服务。

数据采集

此扩展程序不会收集任何数据或将其发送到任何远程服务器。

接触

如果您有任何问题,请打开一个问题

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-vscode-plugin/faq.html b/zh-CN/joplin-vscode-plugin/faq.html index 7756bf71..9f7ee7bb 100644 --- a/zh-CN/joplin-vscode-plugin/faq.html +++ b/zh-CN/joplin-vscode-plugin/faq.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -26,7 +26,7 @@ "action": "openAndWatch", "noteId": "257f6a9dacc1409580ee526d50ac4d49" }'

Windows 10 无法上传剪切版图片

可能是没有安装 powershell,在 CMD 中输入 powershell 检查

sh
powershell

powershell

如果提示 spawn powershell ENOENT 则需要安装 powershell,参考:在 Windows 上安装 PowerShell

如何在两个配置同步的 vscode 使用插件

默认情况下,每台电脑上的 joplin 会生成随机的 token,但您可以手动修改它,一般配置文件在 ~/.config/joplin-desktop/settings.json,您只需要修改其中的 api.token 为相同的 token 即可。

手动设置 joplin 的 token

参考:https://github.com/rxliuli/joplin-utils/issues/25

markdown 预览无法显示图片

当你第一次使用 joplin vscode 插件时,你也许会遇到无法在 markdown 预览中查看图片的问题,在预览中存在提示 Some content has been disabled in this document,这个问题可以很简单的解决。

  1. 输入命令 markdown.showPreviewSecuritySelector
  2. 在列表中选择 Allow insecure local content

vscode markdown 文档

不兼容插件 Markdown Preview Enhanced

由于 Markdown Preview Enhanced 自行构建了 markdown 文件渲染的 webview 页面,而且不在乎 vscode 提供的 markdown-it 扩展接口 api,所以现在无法兼容,推荐使用 Markdown All in One,参考:https://github.com/rxliuli/joplin-utils/issues/46

Linux 上无法粘贴图片到笔记中

请先安装 xclipwl-clipboard

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-vscode-plugin/feature.html b/zh-CN/joplin-vscode-plugin/feature.html index 0f795365..acea836f 100644 --- a/zh-CN/joplin-vscode-plugin/feature.html +++ b/zh-CN/joplin-vscode-plugin/feature.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

其他功能

配置表

字段默认值可选值说明
tokenstringjoplin web 服务的 token
baseUrlhttp://localhost:41184stringjoplin api 基础路径
deleteConfirmtrueboolean删除时是否提醒
sortNotesfalseboolean是否对笔记进行排序
sortNotesTypealphabetical笔记排序的类型
alphabetical按照标题的字母顺序排序
defaultJoplin 默认的排序
sortOrderasc笔记排序的顺序(升序或降序)
asc升序
desc降序

快捷键

  • f2: 重命名笔记或目录
  • delete: 删除笔记或目录
  • ctrl+alt+u: 从剪切板上传图片
  • ctrl+alt+e: 从文件选择器上传图片
  • ctrl+alt+shift+e: 从文件选择器添加附件
  • ctrl+j ctrl+o: 搜索笔记,默认显示最近修改的 20 条笔记
  • ctrl+j ctrl+i: 创建附件
  • ctrl+j ctrl+m: 管理标签
  • ctrl+j ctrl+l: 显示当前笔记的附件资源

编辑附件

由于在 vscode 编辑器中实现的点击跳转功能经常存在问题,所以在 v0.7.8 之后实现了显示当前笔记附件列表的功能,用以快速编辑指定附件资源,默认快捷键为 ctrl+j ctrl+l

editResource

粘贴图片

v0.1.7 之后新增了图片粘贴功能,可以通过右键菜单、命令或快捷键将图片上传到 Joplin 并粘贴链接到 VSCode 中。

  1. ctrl+alt+u 粘贴剪切板的图片
  2. ctrl+alt+e 使用文件管理器选择图片粘贴

pasteImage

添加附件

v0.1.10 之后新增了添加附件的功能,可以通过命令或快捷键将文件作为附件资源添加到 Joplin 笔记中。

  1. ctrl+alt+shift+e 选择要添加为附件的文件

创建附件

v0.3.0 之后实现了右键创建附件资源的功能,主要用于快速创建并添加一个思维导图(由百度脑图提供支持)或流程图(由 draw.io 提供支持)。

管理标签

v0.3.0 之后支持管理标签,命令是 > Joplin: Manage tags,默认快捷键为 ctrl+j ctrl+m 即可弹出复选框。

创建标签

v0.3.0 之后支持创建标签,命令是 > Joplin: Create tag

链接笔记

在笔记上右键菜单可以看到 复制链接,点击即复制到剪切板。

Link notes

使用 Ctrl+单击 打开到其他笔记中。

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-vscode-plugin/index.html b/zh-CN/joplin-vscode-plugin/index.html index 2466231d..f919903b 100644 --- a/zh-CN/joplin-vscode-plugin/index.html +++ b/zh-CN/joplin-vscode-plugin/index.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

快速启动

概述

install

Joplin VSCode Plugin 提供在 VSCode 中管理 Joplin 笔记的功能,包括常见的查看、编辑笔记,管理笔记的标签,添加、修改附件,内部链接、搜索等功能。

Joplin Web Clipper 旨在通过 REST Web API 与浏览器扩展进行通信,共享笔记、笔记本、标签等。Joplin VSCode Plugin 连接到相同的 REST 端点,可以在不离开编辑器的情况下查看和修改笔记。

为什么会有这个插件?阅读 我的动机 了解开发它的原因。

它能做什么?功能 列出了现有的功能。

要求

  • Joplin 版本 > v2.8
  • VSCode 版本 > v1.66.2
  • 启用 Joplin Web Clipper

安装 Joplin VSCode 插件

在 VSCode 市场中搜索 joplin。找到 Joplin VSCode Plugin 并点击安装。

安装插件

配置

要访问 Joplin 数据库,我们需要连接到 Joplin Web Clipper 打开的 API 端点。这意味着 Joplin 必须运行,Web Clipper 必须启用。

关于 Web Clipper 的帮助,请参考 Joplin Web Clipper

要启动并运行,需要注意两个设置。

授权令牌

  • 从 Joplin 设置中复制你的授权令牌并粘贴到这里。 网页剪辑 -> 高级选项 -> 拷贝 Token 令牌

基本路径

  • 一般而言,如果你使用本地安装的 Joplin 桌面客户端,则不需要特殊配置。如果使用远端的 Joplin 服务,则需要进行配置。 例如 http://127.0.0.1:41184

安装插件

开始使用

输入快捷键 Ctrl+J Ctrl+J,然后庆祝 🎉。这个快捷键组合激活了 view: show joplin 命令,打开侧边栏,显示所有的笔记本。

预览

功能

您的所有笔记和记事本都可以在侧边栏中找到,展开笔记本可以看到下面的子笔记本和笔记。

点击一个笔记,在编辑器中打开一个工作副本,保存它以将修改推送回 Joplin。

你可以随心所欲地创建、编辑和删除 笔记笔记本,一切都在 VSCode 中不间断的完成。🦸♀️

命令和快捷键

VSCode 有很多快捷键,为了避免与内置的快捷键冲突,该插件假定了一个快捷键前缀 Ctrl+J,在后面继续添加二步快捷键。

提示:探索在命令调色板中输入 joplin 的结果,找出这里没有告诉你的功能。

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-vscode-plugin/limitations.html b/zh-CN/joplin-vscode-plugin/limitations.html index b5fa0d00..05869fdf 100644 --- a/zh-CN/joplin-vscode-plugin/limitations.html +++ b/zh-CN/joplin-vscode-plugin/limitations.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

限制

虽然目前插件已经实现了 joplin 的常用功能,但却是存在一些难以处理的限制。也正是由于这些限制的存在,所以吾辈才没有使用直接基于 vscode 的笔记插件。

Released under the MIT License.

- + \ No newline at end of file diff --git a/zh-CN/joplin-vscode-plugin/recommended.html b/zh-CN/joplin-vscode-plugin/recommended.html index a5d1593c..5bce4400 100644 --- a/zh-CN/joplin-vscode-plugin/recommended.html +++ b/zh-CN/joplin-vscode-plugin/recommended.html @@ -8,11 +8,11 @@ - + - - - + + + @@ -21,7 +21,7 @@
Skip to content

Released under the MIT License.

- + \ No newline at end of file