diff --git a/web/joplin-batch-web/assets/UnusedResourceView.f9bec055.js b/web/joplin-batch-web/assets/UnusedResourceView.f9bec055.js new file mode 100644 index 00000000..f6d6827a --- /dev/null +++ b/web/joplin-batch-web/assets/UnusedResourceView.f9bec055.js @@ -0,0 +1 @@ +import{r as s}from"./react.bcb0ff15.js";import{A as x,a as E}from"./@liuli-util/async.20364c00.js";import{P as k,r as i,s as U,i as r}from"./index.b6de4149.js";import{P as v}from"./PromiseUtil.2bdf064a.js";import{B as A,T as S}from"./@liuli-util/dom.7c7381d8.js";import{p as C}from"./immer.616ba876.js";import{a as p}from"./react-use.f90ee3b0.js";import{m as b,C as L,a as I,B as c,b as d,c as P}from"./antd.829d9a81.js";class T{getUnusedResource(){return v.warpOnEvent(async t=>{const a=await k.pageToAllList(i.list.bind(i),{fields:["id","title","mime"]});let l=0;return await x.filter(a,E(async n=>{const m=!await this.checkUsed(n.id);return t.process({title:n.title,all:a.length,rate:l++}),m},10))})}async checkUsed(t){return(await U.search({query:`"](:/${t})"`})).items.length>0}}const $=new T;function g(o){const t=A(localStorage).settings;return`${t==null?void 0:t.baseUrl}/resources/${o}/file?token=${t==null?void 0:t.token}`}const z=()=>{const[o,t]=s.exports.useState([]),[a,l]=s.exports.useState(""),[n,m]=p(async()=>{try{const e=await $.getUnusedResource().on("process",u=>{l(r.t("unusedResource.msg.process",u))});console.log("list: ",e),t(e)}catch{b.error(r.t("unusedResource.msg.error"))}});async function y(e){t(C(u=>u.filter(w=>w.id!==e))),await i.remove(e)}async function f(e){await S(g(e))}const[R,h]=p(async()=>{await x.forEach(o,async e=>{await i.remove(e.id)}),t([])},[o]);return s.exports.createElement(L,{title:r.t("unusedResource.title"),extra:s.exports.createElement(I,null,s.exports.createElement(c,{onClick:m},r.t("common.action.check")),s.exports.createElement(c,{disabled:o.length===0,danger:!0,loading:R.loading,onClick:h},r.t("unusedResource.action.removeAll")))},s.exports.createElement(d,{dataSource:o,locale:{emptyText:r.t("unusedResource.listEmptyText")},renderItem:e=>s.exports.createElement(d.Item,{key:e.id,actions:[s.exports.createElement(c,{onClick:()=>y(e.id)},r.t("common.action.remove")),s.exports.createElement(c,{onClick:()=>f(e.id)},r.t("common.action.download"))],extra:e.mime.startsWith("image/")&&s.exports.createElement(P,{src:g(e.id),width:300})},s.exports.createElement(d.Item.Meta,{title:e.title})),loading:{spinning:n.loading,tip:a}}))};export{z as U,g as b}; diff --git a/web/joplin-batch-web/assets/index.135b3f76.js b/web/joplin-batch-web/assets/index.135b3f76.js new file mode 100644 index 00000000..1bbe2b2d --- /dev/null +++ b/web/joplin-batch-web/assets/index.135b3f76.js @@ -0,0 +1 @@ +import{U as uo}from"./UnusedResourceView.f9bec055.js";import"./react.bcb0ff15.js";import"./classnames.fcae7549.js";import"./@liuli-util/async.20364c00.js";import"./index.b6de4149.js";import"./antd.829d9a81.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./@babel/runtime.77033aed.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-use.f90ee3b0.js";import"./tslib.42edd759.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./PromiseUtil.2bdf064a.js";import"./immer.616ba876.js";export{uo as default}; diff --git a/web/joplin-batch-web/assets/index.21a9a010.js b/web/joplin-batch-web/assets/index.21a9a010.js new file mode 100644 index 00000000..38554cef --- /dev/null +++ b/web/joplin-batch-web/assets/index.21a9a010.js @@ -0,0 +1,7 @@ +var b=Object.defineProperty;var N=(n,t,r)=>t in n?b(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r;var x=(n,t,r)=>(N(n,typeof t!="symbol"?t+"":t,r),r);import{r as o}from"./react.bcb0ff15.js";import{P as C,s as u,n as f,i as l,o as I}from"./index.b6de4149.js";import{A as w}from"./@liuli-util/async.20364c00.js";import{w as S}from"./comlink.2466bcbe.js";import{p as _}from"./immer.616ba876.js";import{s as T}from"./yaml.934606dc.js";import{a as h}from"./react-use.f90ee3b0.js";import{C as W,I as U,b as p,B as v,T as c,a as A,m as M}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";function B(){return new Worker(""+new URL("MarkdownLinkUtil.21c66b9e.js",import.meta.url).href)}class d{constructor(){x(this,"markdownLinkUtilWorker",S(new B))}async search(t){const r=await C.pageToAllList(u.search.bind(u),{query:`body:"${t}"`,fields:["id","title","body","user_updated_time"],order_by:"user_updated_time",order_dir:"DESC"});return await w.map(r,async e=>{const m=await this.markdownLinkUtilWorker.parseLink(e.body);return Reflect.deleteProperty(e,"body"),{...e,urls:await d.mapContentLinks(m,t)}})}static mapContentLinks(t,r){return w.map(t.filter(e=>e.url.startsWith(r)),async e=>{if(!e.title)return e;const m=(await u.search({query:`title:"${e.title}"`,limit:3,fields:["id","title"]})).items;return{...e,matchNotes:m}})}async convert(t,r){const e=await f.get(t,["id","body"]),m=await this.markdownLinkUtilWorker.convertLink(e.body,r);await f.update({id:e.id,body:m,user_updated_time:Date.now()})}}const R="_sub1_sym9i_9",$="_sub2_sym9i_15",g={sub1:R,sub2:$};class j{static addMeta(t,r){const e=T(r);return`--- +`+e+`--- + +`+t}static trimTitle(t){return(t.startsWith("#")?t.substr(1).trimLeft():t).replace(new RegExp(`[\r +]`),"")}static trimBodyHeader(t){return t.startsWith("# ")?t.split(` +`).slice(1).join(` +`).trimLeft():t}}const E=new d,q=n=>{const[t,r]=h(n.onConvertNote);return o.exports.createElement(p,{dataSource:n.url.matchNotes,className:g.sub2,loading:t.loading,renderItem:e=>o.exports.createElement(p.Item,{key:e.id},o.exports.createElement(A,null,o.exports.createElement(c.Text,null,e.title),o.exports.createElement(v,{onClick:()=>r(e)},l.t("convertExternalLink.action.convert"))))})},L=n=>n.urls.length!==0,Xt=()=>{const[n,t]=o.exports.useState([]),[r,e]=h(async function(a){if(a===""){t([]);return}const s=await E.search(a);console.log("onSearch: ",s),t(s.filter(L))});async function m(i){console.log("onConvertNote: ",i),await E.convert(i.noteId,{[i.url]:{title:j.trimTitle(i.linkNoteTitle),url:`:/${i.linkNoteId}`}}),t(_(a=>{console.log("remove: ",i.noteIndex,i.urlIndex),a[i.noteIndex].urls.splice(i.urlIndex,1),a.filter(s=>s.urls.length!==0)})),t(a=>a.filter(L)),M.success(l.t("convertExternalLink.msg.success"))}return o.exports.createElement(W,{title:l.t("convertExternalLink.title")},o.exports.createElement(U.Search,{onSearch:e,allowClear:!0,loading:r.loading}),o.exports.createElement(p,{dataSource:n,itemLayout:"vertical",loading:r.loading,renderItem:(i,a)=>o.exports.createElement(p.Item,{key:i.id,extra:[o.exports.createElement(v,{onClick:()=>I(i.id)},l.t("common.action.open"))]},o.exports.createElement(c.Title,{level:4},i.title),o.exports.createElement(p,{dataSource:i.urls,className:g.sub1,itemLayout:"vertical",renderItem:(s,k)=>o.exports.createElement(p.Item,{key:k},o.exports.createElement(c.Title,{level:5},s.title),o.exports.createElement(c.Link,null,s.url),s.matchNotes&&s.matchNotes.length!==0&&o.exports.createElement(q,{url:s,onConvertNote:y=>m({noteId:i.id,url:s.url,linkNoteId:y.id,linkNoteTitle:y.title,noteIndex:a,urlIndex:k})}))}))}))};export{Xt as default}; diff --git a/web/joplin-batch-web/assets/index.5fff6a96.js b/web/joplin-batch-web/assets/index.5fff6a96.js new file mode 100644 index 00000000..d5c277e7 --- /dev/null +++ b/web/joplin-batch-web/assets/index.5fff6a96.js @@ -0,0 +1 @@ +import{r as o}from"./react.bcb0ff15.js";import{a as k}from"./@liuli-util/tree.28f56635.js";import{f as h,P as f,n as m,i}from"./index.b6de4149.js";import{a as x}from"./react-use.f90ee3b0.js";import{C as u,B as n,b as s,T as y}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";class C{async check(){const e=new Set(k(await h.listAll(),{id:"id",path:"path",children:"children"}).map(r=>r.id));return(await f.pageToAllList(m.list.bind(m),{fields:["id","title","parent_id"],order_by:"user_updated_time",order_dir:"DESC"})).filter(r=>!e.has(r.parent_id))}}const b=new C,_t=()=>{const[p,e]=o.exports.useState([]),[a,r]=x(async()=>{const t=await b.check();console.log("list: ",t),e(t)});async function c(t){await m.remove(t),e(l=>l.filter(d=>d.id!==t))}return o.exports.createElement(u,{title:i.t("checkParentNotebook.title"),extra:o.exports.createElement(n,{loading:a.loading,onClick:r},i.t("common.action.check"))},o.exports.createElement(s,{dataSource:p,locale:{emptyText:i.t("checkParentNotebook.listEmptyText")},renderItem:t=>o.exports.createElement(s.Item,{id:t.id,extra:o.exports.createElement(n,{onClick:()=>c(t.id)},i.t("common.action.remove"))},o.exports.createElement(y.Text,null,t.title))}))};export{_t as default}; diff --git a/web/joplin-batch-web/assets/index.7b72ad33.js b/web/joplin-batch-web/assets/index.7b72ad33.js new file mode 100644 index 00000000..f6f91593 --- /dev/null +++ b/web/joplin-batch-web/assets/index.7b72ad33.js @@ -0,0 +1,65 @@ +import{r as t}from"./react.bcb0ff15.js";import{L as i}from"./@liuli-util/i18next-util.367fde1b.js";import{g as r}from"./index.b6de4149.js";import{u as e}from"./react-use.f90ee3b0.js";import{C as n}from"./antd.829d9a81.js";import{R as p}from"./react-markdown.64120013.js";import"./classnames.fcae7549.js";import"./i18next.aeec162a.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";import"./remark-parse.ae27876c.js";import"./mdast-util-from-markdown.44cf8fe8.js";import"./mdast-util-to-string.fb536fe5.js";import"./micromark.74065510.js";import"./micromark-util-combine-extensions.697f0677.js";import"./micromark-util-chunked.52039b2e.js";import"./micromark-factory-space.8ec3c024.js";import"./micromark-util-character.2c47e118.js";import"./micromark-core-commonmark.3fac04b8.js";import"./micromark-util-classify-character.f47a059b.js";import"./micromark-util-resolve-all.d38fe386.js";import"./decode-named-character-reference.0cf99f69.js";import"./micromark-util-subtokenize.980f7106.js";import"./micromark-factory-destination.f465b346.js";import"./micromark-factory-label.bdfeb2ce.js";import"./micromark-factory-title.f3aaaa31.js";import"./micromark-factory-whitespace.1bcc98ff.js";import"./micromark-util-normalize-identifier.d8c35b62.js";import"./micromark-util-html-tag-name.94b32f7b.js";import"./micromark-util-decode-numeric-character-reference.a2285e6c.js";import"./micromark-util-decode-string.5840a04a.js";import"./unist-util-stringify-position.9bacc487.js";import"./prop-types.da681dba.js";import"./property-information.89563893.js";import"./unist-util-visit.23fe510a.js";import"./unist-util-visit-parents.7a4d7581.js";import"./unist-util-is.01e12dde.js";import"./hast-util-whitespace.a4a4a501.js";import"./space-separated-tokens.35ab6e8e.js";import"./comma-separated-tokens.09eb054d.js";import"./style-to-object.75795970.js";import"./inline-style-parser.94222170.js";import"./unified.cb173dc7.js";import"./bail.2d65b3d4.js";import"./is-buffer.8f2d14e8.js";import"./extend.9f70b7a3.js";import"./is-plain-obj.5914775f.js";import"./trough.51e639e8.js";import"./vfile.7e51f900.js";import"./vfile-message.84519071.js";import"./remark-rehype.2216e902.js";import"./mdast-util-to-hast.f14eb9e2.js";import"./unist-builder.2e9ab696.js";import"./unist-util-position.4af3aa9c.js";import"./unist-util-generated.204d4e65.js";import"./mdast-util-definitions.a742159e.js";import"./micromark-util-sanitize-uri.c047199a.js";import"./trim-lines.43d268d3.js";const m=`# joplin-batch-web + +Handles some batch operations that are not supported by Joplin itself, and presents them as a visual interface. + +- [x] Check for unreferenced attachment resources + Some unused attachment resources are not cleaned up in time +- [x] Check for referenced attachment resources that do not exist + Some attachments that are being used may not exist for various reasons +- [x] Convert external links to internal note references + Would like to be able to convert previous blog links to internal \`:/id\` links to ensure they never expire +- [x] Check for notes that don't have a parent directory (usually an error) + +## Getting Started + +1. open joplin desktop version +2. Enable the web clipper +3. Fill out the configuration in the [Settings](https://joplin-utils.rxliuli.com/web/joplin-batch-web/#/settings) page +4. Navigate to the relevant function page + +![guide](https://github.com/rxliuli/joplin-utils/raw/master/packages/joplin-batch-web/docs/images/guide.gif) + +> If you want to participate in the development or run locally, you can refer to [Participate in the project](./docs/dev.md) + +## FAQ + +### Why not use the cli form + +The cli form is not very suitable for this scenario, e.g. when you need to preview unusual attachments or notes, which is more troublesome at the command line. + +### Will it record my note data + +The website works locally, there is no back-end server, if you are still worried, you can check the source code [joplin-batch-web](https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-batch-web) +`,a=`# joplin-batch-web + +\u5904\u7406\u4E00\u4E9B Joplin \u672C\u8EAB\u4E0D\u652F\u6301\u7684\u6279\u91CF\u64CD\u4F5C\uFF0C\u4EE5\u53EF\u89C6\u5316\u754C\u9762\u7684\u5F62\u5F0F\u5C55\u73B0\u51FA\u6765\u3002 + +- [x] \u68C0\u67E5\u662F\u5426\u5B58\u5728\u6CA1\u6709\u5F15\u7528\u7684\u9644\u4EF6\u8D44\u6E90 + \u4E00\u4E9B\u6CA1\u6709\u4F7F\u7528\u7684\u9644\u4EF6\u8D44\u6E90\u6CA1\u6709\u88AB\u53CA\u65F6\u6E05\u7406 +- [x] \u68C0\u67E5\u5F15\u7528\u7684\u9644\u4EF6\u8D44\u6E90\u4E0D\u5B58\u5728\u7684\u60C5\u51B5 + \u4E00\u4E9B\u6B63\u5728\u4F7F\u7528\u7684\u9644\u4EF6\u53EF\u80FD\u7531\u4E8E\u5404\u79CD\u539F\u56E0\u4E0D\u5B58\u5728\u4E86 +- [x] \u8F6C\u6362\u5916\u90E8\u94FE\u63A5\u4E3A\u5185\u90E8\u7B14\u8BB0\u5F15\u7528 + \u5E0C\u671B\u80FD\u591F\u5C06\u4E4B\u524D\u7684 blog \u94FE\u63A5\u8F6C\u6362\u4E3A\u5185\u90E8\u7684 \`:/id\` \u94FE\u63A5\u4EE5\u4FDD\u8BC1\u6C38\u4E0D\u8FC7\u671F +- [x] \u68C0\u67E5\u662F\u5426\u5B58\u5728\u6CA1\u6709\u7236\u7EA7\u76EE\u5F55\u7684\u7B14\u8BB0\uFF08\u4E00\u822C\u662F\u9519\u8BEF\uFF09 + +## \u5F00\u59CB + +1. \u6253\u5F00 joplin \u684C\u9762\u7248 +2. \u542F\u7528\u7F51\u9875\u526A\u8F91\u5668 +3. \u5728 [\u8BBE\u7F6E](https://joplin-utils.rxliuli.com/web/joplin-batch-web/#/settings) \u9875\u9762\u586B\u5199\u914D\u7F6E +4. \u5BFC\u822A\u5230\u76F8\u5173\u529F\u80FD\u9875\u9762 + +![guide](https://github.com/rxliuli/joplin-utils/raw/master/packages/joplin-batch-web/docs/images/guide.gif) + +> \u5982\u679C\u60A8\u5E0C\u671B\u53C2\u4E0E\u5F00\u53D1\u6216\u5728\u672C\u5730\u8FD0\u884C\uFF0C\u53EF\u4EE5\u53C2\u8003 [\u53C2\u4E0E\u9879\u76EE](./docs/zh/dev.md) + +## FAQ + +### \u4E3A\u4EC0\u4E48\u4E0D\u4F7F\u7528 cli \u7684\u5F62\u5F0F + +cli \u7684\u5F62\u5F0F\u4E0D\u592A\u9002\u5408\u8FD9\u79CD\u573A\u666F\uFF0C\u4F8B\u5982\u9700\u8981\u9884\u89C8\u5F02\u5E38\u7684\u9644\u4EF6\u6216\u7B14\u8BB0\uFF0C\u5728\u547D\u4EE4\u884C\u4E0B\u6BD4\u8F83\u9EBB\u70E6\u3002 + +### \u5B83\u4F1A\u8BB0\u5F55\u6211\u7684\u7B14\u8BB0\u6570\u636E\u4E48 + +\u7F51\u7AD9\u662F\u5168\u672C\u5730\u5DE5\u4F5C\u7684\uFF0C\u6CA1\u6709\u540E\u7AEF\u670D\u52A1\u5668\uFF0C\u5982\u679C\u4F60\u4ECD\u7136\u62C5\u5FE7\uFF0C\u53EF\u4EE5\u68C0\u67E5\u6E90\u4EE3\u7801 [joplin-batch-web](https://github.com/rxliuli/joplin-utils/tree/master/packages/joplin-batch-web) +`,s="_home_19rhz_1",l={home:s},uo=()=>{const[o]=e("language",r());return t.exports.createElement(n,null,t.exports.createElement(p,{className:l.home},o===i.En?m:a))};export{uo as default}; diff --git a/web/joplin-batch-web/assets/index.7f36287f.js b/web/joplin-batch-web/assets/index.7f36287f.js new file mode 100644 index 00000000..d95d7391 --- /dev/null +++ b/web/joplin-batch-web/assets/index.7f36287f.js @@ -0,0 +1 @@ +import{r as n,R as e}from"./react.bcb0ff15.js";import{i as o,s as v,T as x,n as y}from"./index.b6de4149.js";import{H as T}from"./react-highlight-words.36ddf745.js";import{A,a as V}from"./@liuli-util/async.20364c00.js";import{F as i,C,I as w,d as I,a as R,B as m,b as d,m as E}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-use.f90ee3b0.js";import"./tslib.42edd759.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";const F="_ReplaceView_3ezz3_1",S="_content_3ezz3_7",_={ReplaceView:F,content:S},$e=()=>{const[a]=i.useForm(),[l,f]=n.exports.useState(),[p,k]=n.exports.useState(!1);async function c(){const t=a.getFieldsValue();console.log("onSearch: ",t);const r=await v.search({query:`body:${t.keyword}`,type:x.Note,limit:100,order_by:"user_updated_time",order_dir:"DESC",fields:["id","title","body","user_updated_time"]});console.log("res: ",r),f(r.items),u(void 0)}async function g(t){const r=a.getFieldsValue();await y.update({id:t.id,user_updated_time:p?t.user_updated_time:void 0,body:t.body.replaceAll(r.keyword,r.replaceText)}),await c(),E.success(o.t("replace.msg.replace"))}const[s,u]=n.exports.useState();async function b(t){const r=a.getFieldsValue();u({body:t.body,keyword:r.keyword})}async function h(){if(!l||!await a.validateFields())return;const t=a.getFieldsValue();await A.forEach(l,V(async r=>{await y.update({id:r.id,user_updated_time:p?r.user_updated_time:void 0,body:r.body.replaceAll(t.keyword,t.replaceText)})},10)),await c(),E.success(o.t("replace.msg.replaceAll"))}return e.createElement(C,{title:o.t("replace.title"),className:_.ReplaceView},e.createElement(i,{form:a,initialValues:{keyword:"",replaceText:""}},e.createElement(i.Item,{name:"keyword",label:o.t("replace.form.keyword"),rules:[{required:!0}]},e.createElement(w,null)),e.createElement(i.Item,{name:"replaceText",label:o.t("replace.form.replaceText"),rules:[{required:!0}]},e.createElement(w,null)),e.createElement(i.Item,null,e.createElement(I,{checked:p,onChange:()=>k(!p)},o.t("replace.form.keepUpdatedTime"))),e.createElement(i.Item,null,e.createElement(R,null,e.createElement(m,{type:"primary",onClick:c},o.t("replace.action.search")),e.createElement(m,{danger:!0,onClick:h},o.t("replace.action.replaceAll"))))),e.createElement("div",{className:_.content},e.createElement(d,{dataSource:l,renderItem:t=>e.createElement(d.Item,{key:t.id,actions:[e.createElement(m,{onClick:()=>g(t)},o.t("replace.action.replace")),e.createElement(m,{onClick:()=>b(t)},o.t("replace.action.preview"))]},e.createElement(d.Item.Meta,{title:t.title}))}),s&&e.createElement("pre",null,e.createElement(T,{textToHighlight:s.body,searchWords:[s.keyword]}))))};export{$e as default}; diff --git a/web/joplin-batch-web/assets/index.86f33f50.js b/web/joplin-batch-web/assets/index.86f33f50.js new file mode 100644 index 00000000..f1bf5e78 --- /dev/null +++ b/web/joplin-batch-web/assets/index.86f33f50.js @@ -0,0 +1 @@ +import{R as e}from"./react.bcb0ff15.js";import{i as s,n as I,o as x,P as L}from"./index.b6de4149.js";import{o as h,u as A}from"./mobx-react-lite.10dc7af5.js";import{A as C,a as _}from"./@liuli-util/async.20364c00.js";import{m as U,C as w,F as k,d as F,a as $,B as g,b as T}from"./antd.829d9a81.js";import{a as S}from"./react-use.f90ee3b0.js";import{k as v}from"./lodash-es.c6048bd4.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";import"./mobx.c17624e6.js";import"./use-sync-external-store.aff5ac42.js";function B(i){return i.trim().replace(" ","-")}function E(i){return(i.startsWith("# ")?i.slice(2):i).trim()}function N(i,y){const n=y.match(new RegExp("(?{var u,t,m;const[l,a]=c.slice(1,-1).split("](:/");let p=a,d;if(!a.trim().startsWith("#")&&a.includes("#")){let r;[p,r]=a.split("#");const o=i[p];if(!o)return{id:p,url:a,title:l,noteTitle:l};const b=(m=(t=(u=o.body.match(/^(#{1,6})\s+(.*)$/gm))==null?void 0:u.map(f=>f.slice(f.indexOf(" ")).trim()))==null?void 0:t.find(f=>B(f)===r))==null?void 0:m.trim();b?d=E(o.title)+" # "+b:d=E(o.title)+" # "+r}else{if(!i[p])return{id:p,url:a,title:l,noteTitle:l};d=E(i[p].title)}return{url:a,id:p,title:l,noteTitle:d}}).filter(c=>i[c.id]&&c.title!==c.noteTitle):[]}const zt=h(()=>{const[i,y]=U.useMessage(),n=A(()=>({keepUpdatedTime:!0,list:[]}));async function c(){const t=await L.pageToAllList(I.list,{fields:["id","title","body","user_updated_time"],order_by:"user_updated_time",order_dir:"DESC"}),m=v(t,"id");console.log(t,m);const r=t.map(o=>({note:o,result:N(m,o.body)})).filter(o=>o.result.length>0);console.log(r),n.list=r}const l="updatable",[a,p]=S(async function(t){i.open({key:l,type:"loading",content:s.t("fixInternalLinkTitle.msg.loading",{title:t.note.title})});const m=t.result.reduce((r,o)=>r.replaceAll(`[${o.title}](:/${o.url})`,`[${o.noteTitle}](:/${o.url})`),t.note.body);await I.update({id:t.note.id,body:m,user_updated_time:n.keepUpdatedTime?t.note.user_updated_time:void 0}),n.list=n.list.filter(r=>r.note.id!==t.note.id)});async function d(t){i.open({key:l,type:"loading",content:"loading..."}),await p(t),i.open({key:l,type:"success",content:s.t("fixInternalLinkTitle.msg.success"),duration:2})}async function u(){i.open({key:l,type:"loading",content:"loading..."}),await C.forEach(n.list,_(async t=>{await p(t)},5)),i.open({key:l,type:"success",content:s.t("fixInternalLinkTitle.msg.success"),duration:2})}return e.createElement(w,{title:s.t("fixInternalLinkTitle.title")},e.createElement(k,null,e.createElement(k.Item,null,e.createElement(F,{checked:n.keepUpdatedTime,onChange:t=>n.keepUpdatedTime=t.target.checked},s.t("replace.form.keepUpdatedTime"))),e.createElement(k.Item,null,e.createElement($,null,e.createElement(g,{loading:a.loading,onClick:c},s.t("common.action.check")),e.createElement(g,{disabled:n.list.length===0,loading:a.loading,danger:!0,onClick:u},s.t("fixInternalLinkTitle.action.updateAll"))))),e.createElement(T,{dataSource:n.list,rowKey:t=>t.note.id,renderItem:t=>e.createElement(T.Item,{actions:[e.createElement(g,{type:"primary",loading:a.loading,onClick:()=>d(t)},s.t("fixInternalLinkTitle.action.update")),e.createElement(g,{onClick:()=>x(t.note.id)},s.t("common.action.open"))]},e.createElement(T.Item.Meta,{title:t.note.title,description:e.createElement(e.Fragment,null,e.createElement("ul",null,t.result.map((m,r)=>e.createElement("li",{key:r},"[",e.createElement("del",null,m.title),m.noteTitle,"](:/",m.url,")"))))}))}),y)});export{zt as default}; diff --git a/web/joplin-batch-web/assets/index.a508a5cb.js b/web/joplin-batch-web/assets/index.a508a5cb.js new file mode 100644 index 00000000..f4f63b5e --- /dev/null +++ b/web/joplin-batch-web/assets/index.a508a5cb.js @@ -0,0 +1 @@ +import{r as n}from"./react.bcb0ff15.js";import{P as f,r as d,i as o}from"./index.b6de4149.js";import{b as u}from"./UnusedResourceView.f9bec055.js";import{A as g,a as b}from"./@liuli-util/async.20364c00.js";import{a as h}from"./react-use.f90ee3b0.js";import{C as w,a as k,B as v,b as m,c as y,m as x}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";import"./PromiseUtil.2bdf064a.js";import"./immer.616ba876.js";const c=[{t:"application/andrew-inset",e:["ez"]},{t:"application/applixware",e:["aw"]},{t:"application/atom+xml",e:["atom"]},{t:"application/atomcat+xml",e:["atomcat"]},{t:"application/atomsvc+xml",e:["atomsvc"]},{t:"application/ccxml+xml",e:["ccxml"]},{t:"application/cdmi-capability",e:["cdmia"]},{t:"application/cdmi-container",e:["cdmic"]},{t:"application/cdmi-domain",e:["cdmid"]},{t:"application/cdmi-object",e:["cdmio"]},{t:"application/cdmi-queue",e:["cdmiq"]},{t:"application/cu-seeme",e:["cu"]},{t:"application/davmount+xml",e:["davmount"]},{t:"application/docbook+xml",e:["dbk"]},{t:"application/dssc+der",e:["dssc"]},{t:"application/dssc+xml",e:["xdssc"]},{t:"application/ecmascript",e:["ecma"]},{t:"application/emma+xml",e:["emma"]},{t:"application/epub+zip",e:["epub"]},{t:"application/exi",e:["exi"]},{t:"application/font-tdpfr",e:["pfr"]},{t:"application/font-woff",e:["woff"]},{t:"application/gml+xml",e:["gml"]},{t:"application/gpx+xml",e:["gpx"]},{t:"application/gxf",e:["gxf"]},{t:"application/hyperstudio",e:["stk"]},{t:"application/inkml+xml",e:["ink","inkml"]},{t:"application/ipfix",e:["ipfix"]},{t:"application/java-archive",e:["jar"]},{t:"application/java-serialized-object",e:["ser"]},{t:"application/java-vm",e:["class"]},{t:"application/javascript",e:["js"]},{t:"application/json",e:["json"]},{t:"application/jsonml+json",e:["jsonml"]},{t:"application/lost+xml",e:["lostxml"]},{t:"application/mac-binhex40",e:["hqx"]},{t:"application/mac-compactpro",e:["cpt"]},{t:"application/mads+xml",e:["mads"]},{t:"application/marc",e:["mrc"]},{t:"application/marcxml+xml",e:["mrcx"]},{t:"application/mathematica",e:["ma","nb","mb"]},{t:"application/mathml+xml",e:["mathml"]},{t:"application/mbox",e:["mbox"]},{t:"application/mediaservercontrol+xml",e:["mscml"]},{t:"application/metalink+xml",e:["metalink"]},{t:"application/metalink4+xml",e:["meta4"]},{t:"application/mets+xml",e:["mets"]},{t:"application/mods+xml",e:["mods"]},{t:"application/mp21",e:["m21","mp21"]},{t:"application/mp4",e:["mp4s"]},{t:"application/msword",e:["doc","dot"]},{t:"application/mxf",e:["mxf"]},{t:"application/octet-stream",e:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy"]},{t:"application/oda",e:["oda"]},{t:"application/oebps-package+xml",e:["opf"]},{t:"application/ogg",e:["ogx"]},{t:"application/omdoc+xml",e:["omdoc"]},{t:"application/onenote",e:["onetoc","onetoc2","onetmp","onepkg"]},{t:"application/oxps",e:["oxps"]},{t:"application/patch-ops-error+xml",e:["xer"]},{t:"application/pdf",e:["pdf"]},{t:"application/pgp-encrypted",e:["pgp"]},{t:"application/pgp-signature",e:["asc","sig"]},{t:"application/pics-rules",e:["prf"]},{t:"application/pkcs10",e:["p10"]},{t:"application/pkcs7-mime",e:["p7m","p7c"]},{t:"application/pkcs7-signature",e:["p7s"]},{t:"application/pkcs8",e:["p8"]},{t:"application/pkix-attr-cert",e:["ac"]},{t:"application/pkix-cert",e:["cer"]},{t:"application/pkix-crl",e:["crl"]},{t:"application/pkix-pkipath",e:["pkipath"]},{t:"application/pkixcmp",e:["pki"]},{t:"application/pls+xml",e:["pls"]},{t:"application/postscript",e:["ai","eps","ps"]},{t:"application/prs.cww",e:["cww"]},{t:"application/pskc+xml",e:["pskcxml"]},{t:"application/rdf+xml",e:["rdf"]},{t:"application/reginfo+xml",e:["rif"]},{t:"application/relax-ng-compact-syntax",e:["rnc"]},{t:"application/resource-lists+xml",e:["rl"]},{t:"application/resource-lists-diff+xml",e:["rld"]},{t:"application/rls-services+xml",e:["rs"]},{t:"application/rpki-ghostbusters",e:["gbr"]},{t:"application/rpki-manifest",e:["mft"]},{t:"application/rpki-roa",e:["roa"]},{t:"application/rsd+xml",e:["rsd"]},{t:"application/rss+xml",e:["rss"]},{t:"application/rtf",e:["rtf"]},{t:"application/sbml+xml",e:["sbml"]},{t:"application/scvp-cv-request",e:["scq"]},{t:"application/scvp-cv-response",e:["scs"]},{t:"application/scvp-vp-request",e:["spq"]},{t:"application/scvp-vp-response",e:["spp"]},{t:"application/sdp",e:["sdp"]},{t:"application/set-payment-initiation",e:["setpay"]},{t:"application/set-registration-initiation",e:["setreg"]},{t:"application/shf+xml",e:["shf"]},{t:"application/smil+xml",e:["smi","smil"]},{t:"application/sparql-query",e:["rq"]},{t:"application/sparql-results+xml",e:["srx"]},{t:"application/srgs",e:["gram"]},{t:"application/srgs+xml",e:["grxml"]},{t:"application/sru+xml",e:["sru"]},{t:"application/ssdl+xml",e:["ssdl"]},{t:"application/ssml+xml",e:["ssml"]},{t:"application/tei+xml",e:["tei","teicorpus"]},{t:"application/thraud+xml",e:["tfi"]},{t:"application/timestamped-data",e:["tsd"]},{t:"application/vnd.3gpp.pic-bw-large",e:["plb"]},{t:"application/vnd.3gpp.pic-bw-small",e:["psb"]},{t:"application/vnd.3gpp.pic-bw-var",e:["pvb"]},{t:"application/vnd.3gpp2.tcap",e:["tcap"]},{t:"application/vnd.3m.post-it-notes",e:["pwn"]},{t:"application/vnd.accpac.simply.aso",e:["aso"]},{t:"application/vnd.accpac.simply.imp",e:["imp"]},{t:"application/vnd.acucobol",e:["acu"]},{t:"application/vnd.acucorp",e:["atc","acutc"]},{t:"application/vnd.adobe.air-application-installer-package+zip",e:["air"]},{t:"application/vnd.adobe.formscentral.fcdt",e:["fcdt"]},{t:"application/vnd.adobe.fxp",e:["fxp","fxpl"]},{t:"application/vnd.adobe.xdp+xml",e:["xdp"]},{t:"application/vnd.adobe.xfdf",e:["xfdf"]},{t:"application/vnd.ahead.space",e:["ahead"]},{t:"application/vnd.airzip.filesecure.azf",e:["azf"]},{t:"application/vnd.airzip.filesecure.azs",e:["azs"]},{t:"application/vnd.amazon.ebook",e:["azw"]},{t:"application/vnd.americandynamics.acc",e:["acc"]},{t:"application/vnd.amiga.ami",e:["ami"]},{t:"application/vnd.android.package-archive",e:["apk"]},{t:"application/vnd.anser-web-certificate-issue-initiation",e:["cii"]},{t:"application/vnd.anser-web-funds-transfer-initiation",e:["fti"]},{t:"application/vnd.antix.game-component",e:["atx"]},{t:"application/vnd.apple.installer+xml",e:["mpkg"]},{t:"application/vnd.apple.mpegurl",e:["m3u8"]},{t:"application/vnd.aristanetworks.swi",e:["swi"]},{t:"application/vnd.astraea-software.iota",e:["iota"]},{t:"application/vnd.audiograph",e:["aep"]},{t:"application/vnd.blueice.multipass",e:["mpm"]},{t:"application/vnd.bmi",e:["bmi"]},{t:"application/vnd.businessobjects",e:["rep"]},{t:"application/vnd.chemdraw+xml",e:["cdxml"]},{t:"application/vnd.chipnuts.karaoke-mmd",e:["mmd"]},{t:"application/vnd.cinderella",e:["cdy"]},{t:"application/vnd.claymore",e:["cla"]},{t:"application/vnd.cloanto.rp9",e:["rp9"]},{t:"application/vnd.clonk.c4group",e:["c4g","c4d","c4f","c4p","c4u"]},{t:"application/vnd.cluetrust.cartomobile-config",e:["c11amc"]},{t:"application/vnd.cluetrust.cartomobile-config-pkg",e:["c11amz"]},{t:"application/vnd.commonspace",e:["csp"]},{t:"application/vnd.contact.cmsg",e:["cdbcmsg"]},{t:"application/vnd.cosmocaller",e:["cmc"]},{t:"application/vnd.crick.clicker",e:["clkx"]},{t:"application/vnd.crick.clicker.keyboard",e:["clkk"]},{t:"application/vnd.crick.clicker.palette",e:["clkp"]},{t:"application/vnd.crick.clicker.template",e:["clkt"]},{t:"application/vnd.crick.clicker.wordbank",e:["clkw"]},{t:"application/vnd.criticaltools.wbs+xml",e:["wbs"]},{t:"application/vnd.ctc-posml",e:["pml"]},{t:"application/vnd.cups-ppd",e:["ppd"]},{t:"application/vnd.curl.car",e:["car"]},{t:"application/vnd.curl.pcurl",e:["pcurl"]},{t:"application/vnd.dart",e:["dart"]},{t:"application/vnd.data-vision.rdz",e:["rdz"]},{t:"application/vnd.dece.data",e:["uvf","uvvf","uvd","uvvd"]},{t:"application/vnd.dece.ttml+xml",e:["uvt","uvvt"]},{t:"application/vnd.dece.unspecified",e:["uvx","uvvx"]},{t:"application/vnd.dece.zip",e:["uvz","uvvz"]},{t:"application/vnd.denovo.fcselayout-link",e:["fe_launch"]},{t:"application/vnd.dna",e:["dna"]},{t:"application/vnd.dolby.mlp",e:["mlp"]},{t:"application/vnd.dpgraph",e:["dpg"]},{t:"application/vnd.dreamfactory",e:["dfac"]},{t:"application/vnd.ds-keypoint",e:["kpxx"]},{t:"application/vnd.dvb.ait",e:["ait"]},{t:"application/vnd.dvb.service",e:["svc"]},{t:"application/vnd.dynageo",e:["geo"]},{t:"application/vnd.ecowin.chart",e:["mag"]},{t:"application/vnd.enliven",e:["nml"]},{t:"application/vnd.epson.esf",e:["esf"]},{t:"application/vnd.epson.msf",e:["msf"]},{t:"application/vnd.epson.quickanime",e:["qam"]},{t:"application/vnd.epson.salt",e:["slt"]},{t:"application/vnd.epson.ssf",e:["ssf"]},{t:"application/vnd.eszigno3+xml",e:["es3","et3"]},{t:"application/vnd.ezpix-album",e:["ez2"]},{t:"application/vnd.ezpix-package",e:["ez3"]},{t:"application/vnd.fdf",e:["fdf"]},{t:"application/vnd.fdsn.mseed",e:["mseed"]},{t:"application/vnd.fdsn.seed",e:["seed","dataless"]},{t:"application/vnd.flographit",e:["gph"]},{t:"application/vnd.fluxtime.clip",e:["ftc"]},{t:"application/vnd.framemaker",e:["fm","frame","maker","book"]},{t:"application/vnd.frogans.fnc",e:["fnc"]},{t:"application/vnd.frogans.ltf",e:["ltf"]},{t:"application/vnd.fsc.weblaunch",e:["fsc"]},{t:"application/vnd.fujitsu.oasys",e:["oas"]},{t:"application/vnd.fujitsu.oasys2",e:["oa2"]},{t:"application/vnd.fujitsu.oasys3",e:["oa3"]},{t:"application/vnd.fujitsu.oasysgp",e:["fg5"]},{t:"application/vnd.fujitsu.oasysprs",e:["bh2"]},{t:"application/vnd.fujixerox.ddd",e:["ddd"]},{t:"application/vnd.fujixerox.docuworks",e:["xdw"]},{t:"application/vnd.fujixerox.docuworks.binder",e:["xbd"]},{t:"application/vnd.fuzzysheet",e:["fzs"]},{t:"application/vnd.genomatix.tuxedo",e:["txd"]},{t:"application/vnd.geogebra.file",e:["ggb"]},{t:"application/vnd.geogebra.tool",e:["ggt"]},{t:"application/vnd.geometry-explorer",e:["gex","gre"]},{t:"application/vnd.geonext",e:["gxt"]},{t:"application/vnd.geoplan",e:["g2w"]},{t:"application/vnd.geospace",e:["g3w"]},{t:"application/vnd.gmx",e:["gmx"]},{t:"application/vnd.google-earth.kml+xml",e:["kml"]},{t:"application/vnd.google-earth.kmz",e:["kmz"]},{t:"application/vnd.grafeq",e:["gqf","gqs"]},{t:"application/vnd.groove-account",e:["gac"]},{t:"application/vnd.groove-help",e:["ghf"]},{t:"application/vnd.groove-identity-message",e:["gim"]},{t:"application/vnd.groove-injector",e:["grv"]},{t:"application/vnd.groove-tool-message",e:["gtm"]},{t:"application/vnd.groove-tool-template",e:["tpl"]},{t:"application/vnd.groove-vcard",e:["vcg"]},{t:"application/vnd.hal+xml",e:["hal"]},{t:"application/vnd.handheld-entertainment+xml",e:["zmm"]},{t:"application/vnd.hbci",e:["hbci"]},{t:"application/vnd.hhe.lesson-player",e:["les"]},{t:"application/vnd.hp-hpgl",e:["hpgl"]},{t:"application/vnd.hp-hpid",e:["hpid"]},{t:"application/vnd.hp-hps",e:["hps"]},{t:"application/vnd.hp-jlyt",e:["jlt"]},{t:"application/vnd.hp-pcl",e:["pcl"]},{t:"application/vnd.hp-pclxl",e:["pclxl"]},{t:"application/vnd.hydrostatix.sof-data",e:["sfd-hdstx"]},{t:"application/vnd.ibm.minipay",e:["mpy"]},{t:"application/vnd.ibm.modcap",e:["afp","listafp","list3820"]},{t:"application/vnd.ibm.rights-management",e:["irm"]},{t:"application/vnd.ibm.secure-container",e:["sc"]},{t:"application/vnd.iccprofile",e:["icc","icm"]},{t:"application/vnd.igloader",e:["igl"]},{t:"application/vnd.immervision-ivp",e:["ivp"]},{t:"application/vnd.immervision-ivu",e:["ivu"]},{t:"application/vnd.insors.igm",e:["igm"]},{t:"application/vnd.intercon.formnet",e:["xpw","xpx"]},{t:"application/vnd.intergeo",e:["i2g"]},{t:"application/vnd.intu.qbo",e:["qbo"]},{t:"application/vnd.intu.qfx",e:["qfx"]},{t:"application/vnd.ipunplugged.rcprofile",e:["rcprofile"]},{t:"application/vnd.irepository.package+xml",e:["irp"]},{t:"application/vnd.is-xpr",e:["xpr"]},{t:"application/vnd.isac.fcs",e:["fcs"]},{t:"application/vnd.jam",e:["jam"]},{t:"application/vnd.jcp.javame.midlet-rms",e:["rms"]},{t:"application/vnd.jisp",e:["jisp"]},{t:"application/vnd.joost.joda-archive",e:["joda"]},{t:"application/vnd.kahootz",e:["ktz","ktr"]},{t:"application/vnd.kde.karbon",e:["karbon"]},{t:"application/vnd.kde.kchart",e:["chrt"]},{t:"application/vnd.kde.kformula",e:["kfo"]},{t:"application/vnd.kde.kivio",e:["flw"]},{t:"application/vnd.kde.kontour",e:["kon"]},{t:"application/vnd.kde.kpresenter",e:["kpr","kpt"]},{t:"application/vnd.kde.kspread",e:["ksp"]},{t:"application/vnd.kde.kword",e:["kwd","kwt"]},{t:"application/vnd.kenameaapp",e:["htke"]},{t:"application/vnd.kidspiration",e:["kia"]},{t:"application/vnd.kinar",e:["kne","knp"]},{t:"application/vnd.koan",e:["skp","skd","skt","skm"]},{t:"application/vnd.kodak-descriptor",e:["sse"]},{t:"application/vnd.las.las+xml",e:["lasxml"]},{t:"application/vnd.llamagraphics.life-balance.desktop",e:["lbd"]},{t:"application/vnd.llamagraphics.life-balance.exchange+xml",e:["lbe"]},{t:"application/vnd.lotus-1-2-3",e:["123"]},{t:"application/vnd.lotus-approach",e:["apr"]},{t:"application/vnd.lotus-freelance",e:["pre"]},{t:"application/vnd.lotus-notes",e:["nsf"]},{t:"application/vnd.lotus-organizer",e:["org"]},{t:"application/vnd.lotus-screencam",e:["scm"]},{t:"application/vnd.lotus-wordpro",e:["lwp"]},{t:"application/vnd.macports.portpkg",e:["portpkg"]},{t:"application/vnd.mcd",e:["mcd"]},{t:"application/vnd.medcalcdata",e:["mc1"]},{t:"application/vnd.mediastation.cdkey",e:["cdkey"]},{t:"application/vnd.mfer",e:["mwf"]},{t:"application/vnd.mfmp",e:["mfm"]},{t:"application/vnd.micrografx.flo",e:["flo"]},{t:"application/vnd.micrografx.igx",e:["igx"]},{t:"application/vnd.mif",e:["mif"]},{t:"application/vnd.mobius.daf",e:["daf"]},{t:"application/vnd.mobius.dis",e:["dis"]},{t:"application/vnd.mobius.mbk",e:["mbk"]},{t:"application/vnd.mobius.mqy",e:["mqy"]},{t:"application/vnd.mobius.msl",e:["msl"]},{t:"application/vnd.mobius.plc",e:["plc"]},{t:"application/vnd.mobius.txf",e:["txf"]},{t:"application/vnd.mophun.application",e:["mpn"]},{t:"application/vnd.mophun.certificate",e:["mpc"]},{t:"application/vnd.mozilla.xul+xml",e:["xul"]},{t:"application/vnd.ms-artgalry",e:["cil"]},{t:"application/vnd.ms-cab-compressed",e:["cab"]},{t:"application/vnd.ms-excel",e:["xls","xlm","xla","xlc","xlt","xlw"]},{t:"application/vnd.ms-excel.addin.macroenabled.12",e:["xlam"]},{t:"application/vnd.ms-excel.sheet.binary.macroenabled.12",e:["xlsb"]},{t:"application/vnd.ms-excel.sheet.macroenabled.12",e:["xlsm"]},{t:"application/vnd.ms-excel.template.macroenabled.12",e:["xltm"]},{t:"application/vnd.ms-fontobject",e:["eot"]},{t:"application/vnd.ms-htmlhelp",e:["chm"]},{t:"application/vnd.ms-ims",e:["ims"]},{t:"application/vnd.ms-lrm",e:["lrm"]},{t:"application/vnd.ms-officetheme",e:["thmx"]},{t:"application/vnd.ms-pki.seccat",e:["cat"]},{t:"application/vnd.ms-pki.stl",e:["stl"]},{t:"application/vnd.ms-powerpoint",e:["ppt","pps","pot"]},{t:"application/vnd.ms-powerpoint.addin.macroenabled.12",e:["ppam"]},{t:"application/vnd.ms-powerpoint.presentation.macroenabled.12",e:["pptm"]},{t:"application/vnd.ms-powerpoint.slide.macroenabled.12",e:["sldm"]},{t:"application/vnd.ms-powerpoint.slideshow.macroenabled.12",e:["ppsm"]},{t:"application/vnd.ms-powerpoint.template.macroenabled.12",e:["potm"]},{t:"application/vnd.ms-project",e:["mpp","mpt"]},{t:"application/vnd.ms-word.document.macroenabled.12",e:["docm"]},{t:"application/vnd.ms-word.template.macroenabled.12",e:["dotm"]},{t:"application/vnd.ms-works",e:["wps","wks","wcm","wdb"]},{t:"application/vnd.ms-wpl",e:["wpl"]},{t:"application/vnd.ms-xpsdocument",e:["xps"]},{t:"application/vnd.mseq",e:["mseq"]},{t:"application/vnd.musician",e:["mus"]},{t:"application/vnd.muvee.style",e:["msty"]},{t:"application/vnd.mynfc",e:["taglet"]},{t:"application/vnd.neurolanguage.nlu",e:["nlu"]},{t:"application/vnd.nitf",e:["ntf","nitf"]},{t:"application/vnd.noblenet-directory",e:["nnd"]},{t:"application/vnd.noblenet-sealer",e:["nns"]},{t:"application/vnd.noblenet-web",e:["nnw"]},{t:"application/vnd.nokia.n-gage.data",e:["ngdat"]},{t:"application/vnd.nokia.n-gage.symbian.install",e:["n-gage"]},{t:"application/vnd.nokia.radio-preset",e:["rpst"]},{t:"application/vnd.nokia.radio-presets",e:["rpss"]},{t:"application/vnd.novadigm.edm",e:["edm"]},{t:"application/vnd.novadigm.edx",e:["edx"]},{t:"application/vnd.novadigm.ext",e:["ext"]},{t:"application/vnd.oasis.opendocument.chart",e:["odc"]},{t:"application/vnd.oasis.opendocument.chart-template",e:["otc"]},{t:"application/vnd.oasis.opendocument.database",e:["odb"]},{t:"application/vnd.oasis.opendocument.formula",e:["odf"]},{t:"application/vnd.oasis.opendocument.formula-template",e:["odft"]},{t:"application/vnd.oasis.opendocument.graphics",e:["odg"]},{t:"application/vnd.oasis.opendocument.graphics-template",e:["otg"]},{t:"application/vnd.oasis.opendocument.image",e:["odi"]},{t:"application/vnd.oasis.opendocument.image-template",e:["oti"]},{t:"application/vnd.oasis.opendocument.presentation",e:["odp"]},{t:"application/vnd.oasis.opendocument.presentation-template",e:["otp"]},{t:"application/vnd.oasis.opendocument.spreadsheet",e:["ods"]},{t:"application/vnd.oasis.opendocument.spreadsheet-template",e:["ots"]},{t:"application/vnd.oasis.opendocument.text",e:["odt"]},{t:"application/vnd.oasis.opendocument.text-master",e:["odm"]},{t:"application/vnd.oasis.opendocument.text-template",e:["ott"]},{t:"application/vnd.oasis.opendocument.text-web",e:["oth"]},{t:"application/vnd.olpc-sugar",e:["xo"]},{t:"application/vnd.oma.dd2+xml",e:["dd2"]},{t:"application/vnd.openofficeorg.extension",e:["oxt"]},{t:"application/vnd.openxmlformats-officedocument.presentationml.presentation",e:["pptx"]},{t:"application/vnd.openxmlformats-officedocument.presentationml.slide",e:["sldx"]},{t:"application/vnd.openxmlformats-officedocument.presentationml.slideshow",e:["ppsx"]},{t:"application/vnd.openxmlformats-officedocument.presentationml.template",e:["potx"]},{t:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",e:["xlsx"]},{t:"application/vnd.openxmlformats-officedocument.spreadsheetml.template",e:["xltx"]},{t:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",e:["docx"]},{t:"application/vnd.openxmlformats-officedocument.wordprocessingml.template",e:["dotx"]},{t:"application/vnd.osgeo.mapguide.package",e:["mgp"]},{t:"application/vnd.osgi.dp",e:["dp"]},{t:"application/vnd.osgi.subsystem",e:["esa"]},{t:"application/vnd.palm",e:["pdb","pqa","oprc"]},{t:"application/vnd.pawaafile",e:["paw"]},{t:"application/vnd.pg.format",e:["str"]},{t:"application/vnd.pg.osasli",e:["ei6"]},{t:"application/vnd.picsel",e:["efif"]},{t:"application/vnd.pmi.widget",e:["wg"]},{t:"application/vnd.pocketlearn",e:["plf"]},{t:"application/vnd.powerbuilder6",e:["pbd"]},{t:"application/vnd.previewsystems.box",e:["box"]},{t:"application/vnd.proteus.magazine",e:["mgz"]},{t:"application/vnd.publishare-delta-tree",e:["qps"]},{t:"application/vnd.pvi.ptid1",e:["ptid"]},{t:"application/vnd.quark.quarkxpress",e:["qxd","qxt","qwd","qwt","qxl","qxb"]},{t:"application/vnd.realvnc.bed",e:["bed"]},{t:"application/vnd.recordare.musicxml",e:["mxl"]},{t:"application/vnd.recordare.musicxml+xml",e:["musicxml"]},{t:"application/vnd.rig.cryptonote",e:["cryptonote"]},{t:"application/vnd.rim.cod",e:["cod"]},{t:"application/vnd.rn-realmedia",e:["rm"]},{t:"application/vnd.rn-realmedia-vbr",e:["rmvb"]},{t:"application/vnd.route66.link66+xml",e:["link66"]},{t:"application/vnd.sailingtracker.track",e:["st"]},{t:"application/vnd.seemail",e:["see"]},{t:"application/vnd.sema",e:["sema"]},{t:"application/vnd.semd",e:["semd"]},{t:"application/vnd.semf",e:["semf"]},{t:"application/vnd.shana.informed.formdata",e:["ifm"]},{t:"application/vnd.shana.informed.formtemplate",e:["itp"]},{t:"application/vnd.shana.informed.interchange",e:["iif"]},{t:"application/vnd.shana.informed.package",e:["ipk"]},{t:"application/vnd.simtech-mindmapper",e:["twd","twds"]},{t:"application/vnd.smaf",e:["mmf"]},{t:"application/vnd.smart.teacher",e:["teacher"]},{t:"application/vnd.solent.sdkm+xml",e:["sdkm","sdkd"]},{t:"application/vnd.spotfire.dxp",e:["dxp"]},{t:"application/vnd.spotfire.sfs",e:["sfs"]},{t:"application/vnd.stardivision.calc",e:["sdc"]},{t:"application/vnd.stardivision.draw",e:["sda"]},{t:"application/vnd.stardivision.impress",e:["sdd"]},{t:"application/vnd.stardivision.math",e:["smf"]},{t:"application/vnd.stardivision.writer",e:["sdw","vor"]},{t:"application/vnd.stardivision.writer-global",e:["sgl"]},{t:"application/vnd.stepmania.package",e:["smzip"]},{t:"application/vnd.stepmania.stepchart",e:["sm"]},{t:"application/vnd.sun.xml.calc",e:["sxc"]},{t:"application/vnd.sun.xml.calc.template",e:["stc"]},{t:"application/vnd.sun.xml.draw",e:["sxd"]},{t:"application/vnd.sun.xml.draw.template",e:["std"]},{t:"application/vnd.sun.xml.impress",e:["sxi"]},{t:"application/vnd.sun.xml.impress.template",e:["sti"]},{t:"application/vnd.sun.xml.math",e:["sxm"]},{t:"application/vnd.sun.xml.writer",e:["sxw"]},{t:"application/vnd.sun.xml.writer.global",e:["sxg"]},{t:"application/vnd.sun.xml.writer.template",e:["stw"]},{t:"application/vnd.sus-calendar",e:["sus","susp"]},{t:"application/vnd.svd",e:["svd"]},{t:"application/vnd.symbian.install",e:["sis","sisx"]},{t:"application/vnd.syncml+xml",e:["xsm"]},{t:"application/vnd.syncml.dm+wbxml",e:["bdm"]},{t:"application/vnd.syncml.dm+xml",e:["xdm"]},{t:"application/vnd.tao.intent-module-archive",e:["tao"]},{t:"application/vnd.tcpdump.pcap",e:["pcap","cap","dmp"]},{t:"application/vnd.tmobile-livetv",e:["tmo"]},{t:"application/vnd.trid.tpt",e:["tpt"]},{t:"application/vnd.triscape.mxs",e:["mxs"]},{t:"application/vnd.trueapp",e:["tra"]},{t:"application/vnd.ufdl",e:["ufd","ufdl"]},{t:"application/vnd.uiq.theme",e:["utz"]},{t:"application/vnd.umajin",e:["umj"]},{t:"application/vnd.unity",e:["unityweb"]},{t:"application/vnd.uoml+xml",e:["uoml"]},{t:"application/vnd.vcx",e:["vcx"]},{t:"application/vnd.visio",e:["vsd","vst","vss","vsw"]},{t:"application/vnd.visionary",e:["vis"]},{t:"application/vnd.vsf",e:["vsf"]},{t:"application/vnd.wap.wbxml",e:["wbxml"]},{t:"application/vnd.wap.wmlc",e:["wmlc"]},{t:"application/vnd.wap.wmlscriptc",e:["wmlsc"]},{t:"application/vnd.webturbo",e:["wtb"]},{t:"application/vnd.wolfram.player",e:["nbp"]},{t:"application/vnd.wordperfect",e:["wpd"]},{t:"application/vnd.wqd",e:["wqd"]},{t:"application/vnd.wt.stf",e:["stf"]},{t:"application/vnd.xara",e:["xar"]},{t:"application/vnd.xfdl",e:["xfdl"]},{t:"application/vnd.yamaha.hv-dic",e:["hvd"]},{t:"application/vnd.yamaha.hv-script",e:["hvs"]},{t:"application/vnd.yamaha.hv-voice",e:["hvp"]},{t:"application/vnd.yamaha.openscoreformat",e:["osf"]},{t:"application/vnd.yamaha.openscoreformat.osfpvg+xml",e:["osfpvg"]},{t:"application/vnd.yamaha.smaf-audio",e:["saf"]},{t:"application/vnd.yamaha.smaf-phrase",e:["spf"]},{t:"application/vnd.yellowriver-custom-menu",e:["cmp"]},{t:"application/vnd.zul",e:["zir","zirz"]},{t:"application/vnd.zzazz.deck+xml",e:["zaz"]},{t:"application/voicexml+xml",e:["vxml"]},{t:"application/widget",e:["wgt"]},{t:"application/winhlp",e:["hlp"]},{t:"application/wsdl+xml",e:["wsdl"]},{t:"application/wspolicy+xml",e:["wspolicy"]},{t:"application/x-7z-compressed",e:["7z"]},{t:"application/x-abiword",e:["abw"]},{t:"application/x-ace-compressed",e:["ace"]},{t:"application/x-apple-diskimage",e:["dmg"]},{t:"application/x-authorware-bin",e:["aab","x32","u32","vox"]},{t:"application/x-authorware-map",e:["aam"]},{t:"application/x-authorware-seg",e:["aas"]},{t:"application/x-bcpio",e:["bcpio"]},{t:"application/x-bittorrent",e:["torrent"]},{t:"application/x-blorb",e:["blb","blorb"]},{t:"application/x-bzip",e:["bz"]},{t:"application/x-bzip2",e:["bz2","boz"]},{t:"application/x-cbr",e:["cbr","cba","cbt","cbz","cb7"]},{t:"application/x-cdlink",e:["vcd"]},{t:"application/x-cfs-compressed",e:["cfs"]},{t:"application/x-chat",e:["chat"]},{t:"application/x-chess-pgn",e:["pgn"]},{t:"application/x-conference",e:["nsc"]},{t:"application/x-cpio",e:["cpio"]},{t:"application/x-csh",e:["csh"]},{t:"application/x-debian-package",e:["deb","udeb"]},{t:"application/x-dgc-compressed",e:["dgc"]},{t:"application/x-director",e:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},{t:"application/x-doom",e:["wad"]},{t:"application/x-dtbncx+xml",e:["ncx"]},{t:"application/x-dtbook+xml",e:["dtb"]},{t:"application/x-dtbresource+xml",e:["res"]},{t:"application/x-dvi",e:["dvi"]},{t:"application/x-envoy",e:["evy"]},{t:"application/x-eva",e:["eva"]},{t:"application/x-font-bdf",e:["bdf"]},{t:"application/x-font-ghostscript",e:["gsf"]},{t:"application/x-font-linux-psf",e:["psf"]},{t:"application/x-font-otf",e:["otf"]},{t:"application/x-font-pcf",e:["pcf"]},{t:"application/x-font-snf",e:["snf"]},{t:"application/x-font-ttf",e:["ttf","ttc"]},{t:"application/x-font-type1",e:["pfa","pfb","pfm","afm"]},{t:"application/x-freearc",e:["arc"]},{t:"application/x-futuresplash",e:["spl"]},{t:"application/x-gca-compressed",e:["gca"]},{t:"application/x-glulx",e:["ulx"]},{t:"application/x-gnumeric",e:["gnumeric"]},{t:"application/x-gramps-xml",e:["gramps"]},{t:"application/x-gtar",e:["gtar"]},{t:"application/x-hdf",e:["hdf"]},{t:"application/x-install-instructions",e:["install"]},{t:"application/x-iso9660-image",e:["iso"]},{t:"application/x-java-jnlp-file",e:["jnlp"]},{t:"application/x-latex",e:["latex"]},{t:"application/x-lzh-compressed",e:["lzh","lha"]},{t:"application/x-mie",e:["mie"]},{t:"application/x-mobipocket-ebook",e:["prc","mobi"]},{t:"application/x-ms-application",e:["application"]},{t:"application/x-ms-shortcut",e:["lnk"]},{t:"application/x-ms-wmd",e:["wmd"]},{t:"application/x-ms-wmz",e:["wmz"]},{t:"application/x-ms-xbap",e:["xbap"]},{t:"application/x-msaccess",e:["mdb"]},{t:"application/x-msbinder",e:["obd"]},{t:"application/x-mscardfile",e:["crd"]},{t:"application/x-msclip",e:["clp"]},{t:"application/x-msdownload",e:["exe","dll","com","bat","msi"]},{t:"application/x-msmediaview",e:["mvb","m13","m14"]},{t:"application/x-msmetafile",e:["wmf","wmz","emf","emz"]},{t:"application/x-msmoney",e:["mny"]},{t:"application/x-mspublisher",e:["pub"]},{t:"application/x-msschedule",e:["scd"]},{t:"application/x-msterminal",e:["trm"]},{t:"application/x-mswrite",e:["wri"]},{t:"application/x-netcdf",e:["nc","cdf"]},{t:"application/x-nzb",e:["nzb"]},{t:"application/x-pkcs12",e:["p12","pfx"]},{t:"application/x-pkcs7-certificates",e:["p7b","spc"]},{t:"application/x-pkcs7-certreqresp",e:["p7r"]},{t:"application/x-rar-compressed",e:["rar"]},{t:"application/x-research-info-systems",e:["ris"]},{t:"application/x-sh",e:["sh"]},{t:"application/x-shar",e:["shar"]},{t:"application/x-shockwave-flash",e:["swf"]},{t:"application/x-silverlight-app",e:["xap"]},{t:"application/x-sql",e:["sql"]},{t:"application/x-stuffit",e:["sit"]},{t:"application/x-stuffitx",e:["sitx"]},{t:"application/x-subrip",e:["srt"]},{t:"application/x-sv4cpio",e:["sv4cpio"]},{t:"application/x-sv4crc",e:["sv4crc"]},{t:"application/x-t3vm-image",e:["t3"]},{t:"application/x-tads",e:["gam"]},{t:"application/x-tar",e:["tar"]},{t:"application/x-tcl",e:["tcl"]},{t:"application/x-tex",e:["tex"]},{t:"application/x-tex-tfm",e:["tfm"]},{t:"application/x-texinfo",e:["texinfo","texi"]},{t:"application/x-tgif",e:["obj"]},{t:"application/x-ustar",e:["ustar"]},{t:"application/x-wais-source",e:["src"]},{t:"application/x-x509-ca-cert",e:["der","crt"]},{t:"application/x-xfig",e:["fig"]},{t:"application/x-xliff+xml",e:["xlf"]},{t:"application/x-xpinstall",e:["xpi"]},{t:"application/x-xz",e:["xz"]},{t:"application/x-zmachine",e:["z1","z2","z3","z4","z5","z6","z7","z8"]},{t:"application/xaml+xml",e:["xaml"]},{t:"application/xcap-diff+xml",e:["xdf"]},{t:"application/xenc+xml",e:["xenc"]},{t:"application/xhtml+xml",e:["xhtml","xht"]},{t:"application/xml",e:["xml","xsl"]},{t:"application/xml-dtd",e:["dtd"]},{t:"application/xop+xml",e:["xop"]},{t:"application/xproc+xml",e:["xpl"]},{t:"application/xslt+xml",e:["xslt"]},{t:"application/xspf+xml",e:["xspf"]},{t:"application/xv+xml",e:["mxml","xhvml","xvml","xvm"]},{t:"application/yang",e:["yang"]},{t:"application/yin+xml",e:["yin"]},{t:"application/zip",e:["zip"]},{t:"audio/adpcm",e:["adp"]},{t:"audio/basic",e:["au","snd"]},{t:"audio/midi",e:["mid","midi","kar","rmi"]},{t:"audio/mp4",e:["m4a","mp4a"]},{t:"audio/mpeg",e:["mpga","mp2","mp2a","mp3","m2a","m3a"]},{t:"audio/ogg",e:["oga","ogg","spx"]},{t:"audio/s3m",e:["s3m"]},{t:"audio/silk",e:["sil"]},{t:"audio/vnd.dece.audio",e:["uva","uvva"]},{t:"audio/vnd.digital-winds",e:["eol"]},{t:"audio/vnd.dra",e:["dra"]},{t:"audio/vnd.dts",e:["dts"]},{t:"audio/vnd.dts.hd",e:["dtshd"]},{t:"audio/vnd.lucent.voice",e:["lvp"]},{t:"audio/vnd.ms-playready.media.pya",e:["pya"]},{t:"audio/vnd.nuera.ecelp4800",e:["ecelp4800"]},{t:"audio/vnd.nuera.ecelp7470",e:["ecelp7470"]},{t:"audio/vnd.nuera.ecelp9600",e:["ecelp9600"]},{t:"audio/vnd.rip",e:["rip"]},{t:"audio/webm",e:["weba"]},{t:"audio/x-aac",e:["aac"]},{t:"audio/x-aiff",e:["aif","aiff","aifc"]},{t:"audio/x-caf",e:["caf"]},{t:"audio/x-flac",e:["flac"]},{t:"audio/x-matroska",e:["mka"]},{t:"audio/x-mpegurl",e:["m3u"]},{t:"audio/x-ms-wax",e:["wax"]},{t:"audio/x-ms-wma",e:["wma"]},{t:"audio/x-pn-realaudio",e:["ram","ra"]},{t:"audio/x-pn-realaudio-plugin",e:["rmp"]},{t:"audio/x-wav",e:["wav"]},{t:"audio/wav",e:["wav"]},{t:"audio/wave",e:["wav"]},{t:"audio/xm",e:["xm"]},{t:"chemical/x-cdx",e:["cdx"]},{t:"chemical/x-cif",e:["cif"]},{t:"chemical/x-cmdf",e:["cmdf"]},{t:"chemical/x-cml",e:["cml"]},{t:"chemical/x-csml",e:["csml"]},{t:"chemical/x-xyz",e:["xyz"]},{t:"image/bmp",e:["bmp"]},{t:"image/cgm",e:["cgm"]},{t:"image/g3fax",e:["g3"]},{t:"image/gif",e:["gif"]},{t:"image/ief",e:["ief"]},{t:"image/jpeg",e:["jpeg","jpg","jpe"]},{t:"image/jpg",e:["jpeg","jpg","jpe"]},{t:"image/ktx",e:["ktx"]},{t:"image/png",e:["png"]},{t:"image/prs.btif",e:["btif"]},{t:"image/sgi",e:["sgi"]},{t:"image/svg+xml",e:["svg","svgz"]},{t:"image/tiff",e:["tiff","tif"]},{t:"image/vnd.adobe.photoshop",e:["psd"]},{t:"image/vnd.dece.graphic",e:["uvi","uvvi","uvg","uvvg"]},{t:"image/vnd.djvu",e:["djvu","djv"]},{t:"image/vnd.dvb.subtitle",e:["sub"]},{t:"image/vnd.dwg",e:["dwg"]},{t:"image/vnd.dxf",e:["dxf"]},{t:"image/vnd.fastbidsheet",e:["fbs"]},{t:"image/vnd.fpx",e:["fpx"]},{t:"image/vnd.fst",e:["fst"]},{t:"image/vnd.fujixerox.edmics-mmr",e:["mmr"]},{t:"image/vnd.fujixerox.edmics-rlc",e:["rlc"]},{t:"image/vnd.ms-modi",e:["mdi"]},{t:"image/vnd.ms-photo",e:["wdp"]},{t:"image/vnd.net-fpx",e:["npx"]},{t:"image/vnd.wap.wbmp",e:["wbmp"]},{t:"image/vnd.xiff",e:["xif"]},{t:"image/webp",e:["webp"]},{t:"image/x-3ds",e:["3ds"]},{t:"image/x-cmu-raster",e:["ras"]},{t:"image/x-cmx",e:["cmx"]},{t:"image/x-freehand",e:["fh","fhc","fh4","fh5","fh7"]},{t:"image/x-icon",e:["ico"]},{t:"image/x-mrsid-image",e:["sid"]},{t:"image/x-pcx",e:["pcx"]},{t:"image/x-pict",e:["pic","pct"]},{t:"image/x-portable-anymap",e:["pnm"]},{t:"image/x-portable-bitmap",e:["pbm"]},{t:"image/x-portable-graymap",e:["pgm"]},{t:"image/x-portable-pixmap",e:["ppm"]},{t:"image/x-rgb",e:["rgb"]},{t:"image/x-tga",e:["tga"]},{t:"image/x-xbitmap",e:["xbm"]},{t:"image/x-xpixmap",e:["xpm"]},{t:"image/x-xwindowdump",e:["xwd"]},{t:"message/rfc822",e:["eml","mime"]},{t:"model/iges",e:["igs","iges"]},{t:"model/mesh",e:["msh","mesh","silo"]},{t:"model/vnd.collada+xml",e:["dae"]},{t:"model/vnd.dwf",e:["dwf"]},{t:"model/vnd.gdl",e:["gdl"]},{t:"model/vnd.gtw",e:["gtw"]},{t:"model/vnd.mts",e:["mts"]},{t:"model/vnd.vtu",e:["vtu"]},{t:"model/vrml",e:["wrl","vrml"]},{t:"model/x3d+binary",e:["x3db","x3dbz"]},{t:"model/x3d+vrml",e:["x3dv","x3dvz"]},{t:"model/x3d+xml",e:["x3d","x3dz"]},{t:"text/cache-manifest",e:["appcache"]},{t:"text/calendar",e:["ics","ifb"]},{t:"text/css",e:["css"]},{t:"text/csv",e:["csv"]},{t:"text/html",e:["html","htm"]},{t:"text/n3",e:["n3"]},{t:"text/plain",e:["txt","text","conf","def","list","log","in"]},{t:"text/prs.lines.tag",e:["dsc"]},{t:"text/richtext",e:["rtx"]},{t:"text/sgml",e:["sgml","sgm"]},{t:"text/tab-separated-values",e:["tsv"]},{t:"text/troff",e:["t","tr","roff","man","me","ms"]},{t:"text/turtle",e:["ttl"]},{t:"text/uri-list",e:["uri","uris","urls"]},{t:"text/vcard",e:["vcard"]},{t:"text/vnd.curl",e:["curl"]},{t:"text/vnd.curl.dcurl",e:["dcurl"]},{t:"text/vnd.curl.mcurl",e:["mcurl"]},{t:"text/vnd.curl.scurl",e:["scurl"]},{t:"text/vnd.dvb.subtitle",e:["sub"]},{t:"text/vnd.fly",e:["fly"]},{t:"text/vnd.fmi.flexstor",e:["flx"]},{t:"text/vnd.graphviz",e:["gv"]},{t:"text/vnd.in3d.3dml",e:["3dml"]},{t:"text/vnd.in3d.spot",e:["spot"]},{t:"text/vnd.sun.j2me.app-descriptor",e:["jad"]},{t:"text/vnd.wap.wml",e:["wml"]},{t:"text/vnd.wap.wmlscript",e:["wmls"]},{t:"text/x-asm",e:["s","asm"]},{t:"text/x-c",e:["c","cc","cxx","cpp","h","hh","dic"]},{t:"text/x-fortran",e:["f","for","f77","f90"]},{t:"text/x-java-source",e:["java"]},{t:"text/x-nfo",e:["nfo"]},{t:"text/x-opml",e:["opml"]},{t:"text/x-pascal",e:["p","pas"]},{t:"text/x-setext",e:["etx"]},{t:"text/x-sfv",e:["sfv"]},{t:"text/x-uuencode",e:["uu"]},{t:"text/x-vcalendar",e:["vcs"]},{t:"text/x-vcard",e:["vcf"]},{t:"video/3gpp",e:["3gp"]},{t:"video/3gpp2",e:["3g2"]},{t:"video/h261",e:["h261"]},{t:"video/h263",e:["h263"]},{t:"video/h264",e:["h264"]},{t:"video/jpeg",e:["jpgv"]},{t:"video/jpm",e:["jpm","jpgm"]},{t:"video/mj2",e:["mj2","mjp2"]},{t:"video/mp4",e:["mp4","mp4v","mpg4"]},{t:"video/mpeg",e:["mpeg","mpg","mpe","m1v","m2v"]},{t:"video/ogg",e:["ogv"]},{t:"video/quicktime",e:["qt","mov"]},{t:"video/vnd.dece.hd",e:["uvh","uvvh"]},{t:"video/vnd.dece.mobile",e:["uvm","uvvm"]},{t:"video/vnd.dece.pd",e:["uvp","uvvp"]},{t:"video/vnd.dece.sd",e:["uvs","uvvs"]},{t:"video/vnd.dece.video",e:["uvv","uvvv"]},{t:"video/vnd.dvb.file",e:["dvb"]},{t:"video/vnd.fvt",e:["fvt"]},{t:"video/vnd.mpegurl",e:["mxu","m4u"]},{t:"video/vnd.ms-playready.media.pyv",e:["pyv"]},{t:"video/vnd.uvvu.mp4",e:["uvu","uvvu"]},{t:"video/vnd.vivo",e:["viv"]},{t:"video/webm",e:["webm"]},{t:"video/x-f4v",e:["f4v"]},{t:"video/x-fli",e:["fli"]},{t:"video/x-flv",e:["flv"]},{t:"video/x-m4v",e:["m4v"]},{t:"video/x-matroska",e:["mkv","mk3d","mks"]},{t:"video/x-mng",e:["mng"]},{t:"video/x-ms-asf",e:["asf","asx"]},{t:"video/x-ms-vob",e:["vob"]},{t:"video/x-ms-wm",e:["wm"]},{t:"video/x-ms-wmv",e:["wmv"]},{t:"video/x-ms-wmx",e:["wmx"]},{t:"video/x-ms-wvx",e:["wvx"]},{t:"video/x-msvideo",e:["avi"]},{t:"video/x-sgi-movie",e:["movie"]},{t:"video/x-smv",e:["smv"]},{t:"x-conference/x-cooltalk",e:["ice"]},{t:"text/markdown",e:["md","markdown"]}];class s{static fromFileExtension(t){t=t.toLowerCase();for(let a=0;a=0)return e.t}return null}static fromFilename(t){if(!t)return null;const a=t.trim().split(".");return a.length<=1?null:s.fromFileExtension(a[a.length-1])}static toFileExtension(t){t=t.toLowerCase();for(let a=0;a=0?p:a)}}const St=()=>{const[l,t]=n.exports.useState([]),[a,e]=h(async()=>{t((await f.pageToAllList(d.list.bind(d),{fields:["id","title","file_extension","mime"]})).filter(i=>!i.file_extension).map(i=>({...i,file_extension:s.toFileExtension(i.mime)})))});async function p(){const i=x.loading(o.t("fixFileExtension.action.progress"));try{await g.forEach(l,b(async r=>{await d.update({id:r.id,file_extension:r.file_extension})},10)),t([]),x.success(o.t("fixFileExtension.action.complete"))}finally{i()}}return n.exports.createElement(w,{title:o.t("fixFileExtension.title"),extra:n.exports.createElement(k,null,n.exports.createElement(v,{onClick:e},o.t("common.action.check")),n.exports.createElement(v,{disabled:l.length===0,onClick:p},o.t("fixFileExtension.action.fix")))},n.exports.createElement(m,{dataSource:l!=null?l:[],renderItem:i=>n.exports.createElement(m.Item,{key:i.id,extra:i.mime.startsWith("image/")&&n.exports.createElement(y,{src:u(i.id),width:300})},n.exports.createElement(m.Item.Meta,{title:i.title,description:`${o.t("fixFileExtension.tip")}${i.file_extension}`})),loading:{spinning:a.loading}}))};export{St as default}; diff --git a/web/joplin-batch-web/assets/index.b4296351.js b/web/joplin-batch-web/assets/index.b4296351.js new file mode 100644 index 00000000..303a1ee9 --- /dev/null +++ b/web/joplin-batch-web/assets/index.b4296351.js @@ -0,0 +1 @@ +import{r as t}from"./react.bcb0ff15.js";import{i as e,c as s,n as g}from"./index.b6de4149.js";import{F as o,C as f,I as a,B as b,m as n}from"./antd.829d9a81.js";import{u as x}from"./react-use.f90ee3b0.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";const Ut=()=>{var p;const[m]=o.useForm();async function l(){if(!await m.validateFields())return;const i=m.getFieldsValue();console.log("onFinish: ",i);try{s.token=i.token,s.baseUrl=i.baseUrl,await g.list({limit:1}),c(i),n.success(e.t("settings.msg.success"))}catch(u){console.error(u),n.error(e.t("settings.msg.error"))}}const[r,c]=x("settings");return t.exports.createElement(f,null,t.exports.createElement("h2",null,e.t("settings.title")),t.exports.createElement(o,{form:m,onFinish:l,initialValues:{token:r==null?void 0:r.token,baseUrl:(p=r==null?void 0:r.baseUrl)!=null?p:"http://localhost:41184"}},t.exports.createElement(o.Item,{name:"baseUrl",label:e.t("settings.form.baseUrl"),rules:[{required:!0}]},t.exports.createElement(a,{type:"url"})),t.exports.createElement(o.Item,{name:"token",label:e.t("settings.form.token"),rules:[{required:!0}]},t.exports.createElement(a.Password,null)),t.exports.createElement(o.Item,null,t.exports.createElement(b,{type:"primary",htmlType:"submit"},e.t("settings.action.submit")))))};export{Ut as default}; diff --git a/web/joplin-batch-web/assets/index.b6de4149.js b/web/joplin-batch-web/assets/index.b6de4149.js new file mode 100644 index 00000000..1e1d6eb9 --- /dev/null +++ b/web/joplin-batch-web/assets/index.b6de4149.js @@ -0,0 +1,2 @@ +var N=Object.defineProperty;var I=(e,t,r)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var n=(e,t,r)=>(I(e,typeof t!="symbol"?t+"":t,r),r);import{r as p,R as S}from"./react.bcb0ff15.js";import{L as m,M as T,S as U}from"./antd.829d9a81.js";import{w as P,C as $}from"./@liuli-util/react-router.19d629f6.js";import{I as C,L as g}from"./@liuli-util/i18next-util.367fde1b.js";import{u as O,a as W,b as D,c as B}from"./react-use.f90ee3b0.js";import{u as M,O as q}from"./react-router.ab39842d.js";import{c as V}from"./react-dom.040937d5.js";import{C as J,o as K}from"./@liuli-util/object.c3c9f8dd.js";import{q as z}from"./query-string.7a820323.js";import{B as G}from"./@liuli-util/dom.7c7381d8.js";import"./classnames.fcae7549.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./@babel/runtime.77033aed.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./history.8c848a87.js";import"./@liuli-util/tree.28f56635.js";import"./i18next.aeec162a.js";import"./tslib.42edd759.js";import"./@remix-run/router.6675ec4c.js";import"./scheduler.5bc07c2b.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/array.c1e23abd.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&o(c)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerpolicy&&(i.referrerPolicy=a.referrerpolicy),a.crossorigin==="use-credentials"?i.credentials="include":a.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();const H="modulepreload",Z=function(e,t){return new URL(e,t).href},_={},l=function(t,r,o){if(!r||r.length===0)return t();const a=document.getElementsByTagName("link");return Promise.all(r.map(i=>{if(i=Z(i,o),i in _)return;_[i]=!0;const c=i.endsWith(".css"),A=c?'[rel="stylesheet"]':"";if(!!o)for(let u=a.length-1;u>=0;u--){const d=a[u];if(d.href===i&&(!c||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${A}`))return;const s=document.createElement("link");if(s.rel=c?"stylesheet":H,c||(s.as="script",s.crossOrigin=""),s.href=i,document.head.appendChild(s),c)return new Promise((u,d)=>{s.addEventListener("load",u),s.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},b=P(),j=[{path:"/",component:()=>l(()=>import("./index.7b72ad33.js"),["./index.7b72ad33.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@babel/runtime.77033aed.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./react-markdown.64120013.js","./remark-parse.ae27876c.js","./mdast-util-from-markdown.44cf8fe8.js","./mdast-util-to-string.fb536fe5.js","./micromark.74065510.js","./micromark-util-combine-extensions.697f0677.js","./micromark-util-chunked.52039b2e.js","./micromark-factory-space.8ec3c024.js","./micromark-util-character.2c47e118.js","./micromark-core-commonmark.3fac04b8.js","./micromark-util-classify-character.f47a059b.js","./micromark-util-resolve-all.d38fe386.js","./decode-named-character-reference.0cf99f69.js","./micromark-util-subtokenize.980f7106.js","./micromark-factory-destination.f465b346.js","./micromark-factory-label.bdfeb2ce.js","./micromark-factory-title.f3aaaa31.js","./micromark-factory-whitespace.1bcc98ff.js","./micromark-util-normalize-identifier.d8c35b62.js","./micromark-util-html-tag-name.94b32f7b.js","./micromark-util-decode-numeric-character-reference.a2285e6c.js","./micromark-util-decode-string.5840a04a.js","./unist-util-stringify-position.9bacc487.js","./prop-types.da681dba.js","./property-information.89563893.js","./unist-util-visit.23fe510a.js","./unist-util-visit-parents.7a4d7581.js","./unist-util-is.01e12dde.js","./hast-util-whitespace.a4a4a501.js","./space-separated-tokens.35ab6e8e.js","./comma-separated-tokens.09eb054d.js","./style-to-object.75795970.js","./inline-style-parser.94222170.js","./unified.cb173dc7.js","./bail.2d65b3d4.js","./is-buffer.8f2d14e8.js","./extend.9f70b7a3.js","./is-plain-obj.5914775f.js","./trough.51e639e8.js","./vfile.7e51f900.js","./vfile-message.84519071.js","./remark-rehype.2216e902.js","./mdast-util-to-hast.f14eb9e2.js","./unist-builder.2e9ab696.js","./unist-util-position.4af3aa9c.js","./unist-util-generated.204d4e65.js","./mdast-util-definitions.a742159e.js","./micromark-util-sanitize-uri.c047199a.js","./trim-lines.43d268d3.js","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./index.0d33c228.css"],import.meta.url),title:"home.title"},{path:"/settings",component:()=>l(()=>import("./index.b4296351.js"),["./index.b4296351.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./react-use.f90ee3b0.js","./tslib.42edd759.js","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js"],import.meta.url),title:"settings.title"},{path:"/unusedResource",component:()=>l(()=>import("./index.135b3f76.js"),["./index.135b3f76.js","./UnusedResourceView.f9bec055.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./@liuli-util/async.20364c00.js","./PromiseUtil.2bdf064a.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./immer.616ba876.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js"],import.meta.url),title:"unusedResource.title"},{path:"/notFoundResource",component:()=>l(()=>import("./index.b8627364.js"),["./index.b8627364.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./unist-util-visit.23fe510a.js","./unist-util-visit-parents.7a4d7581.js","./unist-util-is.01e12dde.js","./remark-parse.ae27876c.js","./mdast-util-from-markdown.44cf8fe8.js","./mdast-util-to-string.fb536fe5.js","./micromark.74065510.js","./micromark-util-combine-extensions.697f0677.js","./micromark-util-chunked.52039b2e.js","./micromark-factory-space.8ec3c024.js","./micromark-util-character.2c47e118.js","./micromark-core-commonmark.3fac04b8.js","./micromark-util-classify-character.f47a059b.js","./micromark-util-resolve-all.d38fe386.js","./decode-named-character-reference.0cf99f69.js","./micromark-util-subtokenize.980f7106.js","./micromark-factory-destination.f465b346.js","./micromark-factory-label.bdfeb2ce.js","./micromark-factory-title.f3aaaa31.js","./micromark-factory-whitespace.1bcc98ff.js","./micromark-util-normalize-identifier.d8c35b62.js","./micromark-util-html-tag-name.94b32f7b.js","./micromark-util-decode-numeric-character-reference.a2285e6c.js","./micromark-util-decode-string.5840a04a.js","./unist-util-stringify-position.9bacc487.js","./remark-gfm.e6635c2d.js","./micromark-extension-gfm.03975213.js","./micromark-extension-gfm-autolink-literal.422a0654.js","./micromark-extension-gfm-footnote.a16b4cca.js","./micromark-extension-gfm-strikethrough.a97f0121.js","./micromark-extension-gfm-table.a83caa90.js","./micromark-extension-gfm-task-list-item.eaae8848.js","./mdast-util-gfm.429990b7.js","./mdast-util-gfm-autolink-literal.f32082f0.js","./ccount.1cb94a01.js","./mdast-util-find-and-replace.7ab5ba95.js","./escape-string-regexp.cd3f5550.js","./mdast-util-gfm-footnote.9f5cbf8c.js","./mdast-util-to-markdown.baf38fd2.js","./zwitch.ff65d30c.js","./longest-streak.7bb4efd1.js","./mdast-util-gfm-strikethrough.a9b9f276.js","./mdast-util-gfm-task-list-item.40d7ca5a.js","./mdast-util-gfm-table.86ff59cf.js","./markdown-table.5bc58d43.js","./remark-stringify.8ee5cd32.js","./unified.cb173dc7.js","./bail.2d65b3d4.js","./is-buffer.8f2d14e8.js","./extend.9f70b7a3.js","./is-plain-obj.5914775f.js","./trough.51e639e8.js","./vfile.7e51f900.js","./vfile-message.84519071.js","./@liuli-util/async.20364c00.js","./PromiseUtil.2bdf064a.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./index.22915549.css"],import.meta.url),title:"notFoundResource.title"},{path:"/convertExternalLink",component:()=>l(()=>import("./index.21a9a010.js"),["./index.21a9a010.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./@liuli-util/async.20364c00.js","./comlink.2466bcbe.js","./immer.616ba876.js","./yaml.934606dc.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./index.cf7a57e7.css"],import.meta.url),title:"convertExternalLink.title"},{path:"/checkParentNotebook",component:()=>l(()=>import("./index.5fff6a96.js"),["./index.5fff6a96.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./@liuli-util/tree.28f56635.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js"],import.meta.url),title:"checkParentNotebook.title"},{path:"/fixFileExtension",component:()=>l(()=>import("./index.a508a5cb.js"),["./index.a508a5cb.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./UnusedResourceView.f9bec055.js","./@liuli-util/async.20364c00.js","./PromiseUtil.2bdf064a.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./immer.616ba876.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js"],import.meta.url),title:"fixFileExtension.title"},{path:"/checkActionApi",component:()=>l(()=>import("./index.cc5400cb.js"),["./index.cc5400cb.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js"],import.meta.url),title:"checkActionApi.title"},{path:"/replace",component:()=>l(()=>import("./index.7f36287f.js"),["./index.7f36287f.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./react-highlight-words.36ddf745.js","./@liuli-util/async.20364c00.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./react-use.f90ee3b0.js","./tslib.42edd759.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js","./index.70270543.css"],import.meta.url),title:"replace.title"},{path:"/fixInternalLinkTitle",component:()=>l(()=>import("./index.86f33f50.js"),["./index.86f33f50.js","./react.bcb0ff15.js","./classnames.fcae7549.js","./mobx-react-lite.10dc7af5.js","./react-dom.040937d5.js","./scheduler.5bc07c2b.js","./mobx.c17624e6.js","./use-sync-external-store.aff5ac42.js","./@liuli-util/async.20364c00.js","./antd.829d9a81.js","./rc-util.9e22709c.js","./react-is.e13562bd.js","./@babel/runtime.77033aed.js","./rc-resize-observer.ce41be3e.js","./resize-observer-polyfill.d94677fa.js","./rc-motion.4d67ed75.js","./@ant-design/icons.9bb0fd12.js","./@ant-design/icons-svg.ef1e3299.js","./@ant-design/colors.c9ebc826.js","./@ctrl/tinycolor.f9239932.js","./rc-menu.36873b05.js","./shallowequal.9e085e62.js","./rc-overflow.1c29c4d3.js","./rc-trigger.d92e6a44.js","./rc-align.8ac14694.js","./dom-align.6f4926e0.js","./lodash.9f59e410.js","./rc-checkbox.7c78741f.js","./rc-tabs.e6ff9661.js","./rc-dropdown.ef01eb3e.js","./rc-select.5290f568.js","./rc-virtual-list.03a0aeaa.js","./rc-field-form.bad3530c.js","./async-validator.e56392a6.js","./scroll-into-view-if-needed.93ce78d3.js","./compute-scroll-into-view.9b2bf0c9.js","./rc-image.6968645b.js","./rc-dialog.1314fb5b.js","./rc-pagination.d25a22f9.js","./rc-textarea.2a18f0c5.js","./copy-to-clipboard.04c46956.js","./toggle-selection.ddb32806.js","./memoize-one.d2b40972.js","./rc-picker.eb87d7c6.js","./rc-notification.a2f2b76e.js","./rc-tooltip.bb0bf028.js","./rc-input.b5c20646.js","./antd.227a23ec.css","./react-use.f90ee3b0.js","./tslib.42edd759.js","./lodash-es.c6048bd4.js","./@liuli-util/react-router.19d629f6.js","./history.8c848a87.js","./@liuli-util/tree.28f56635.js","./react-router.ab39842d.js","./@remix-run/router.6675ec4c.js","./@liuli-util/i18next-util.367fde1b.js","./i18next.aeec162a.js","./@liuli-util/object.c3c9f8dd.js","./query-string.7a820323.js","./strict-uri-encode.82768c6e.js","./decode-uri-component.ca13c355.js","./split-on-first.cf03b920.js","./filter-obj.a2c77fe2.js","./@liuli-util/dom.7c7381d8.js","./@liuli-util/array.c1e23abd.js"],import.meta.url),title:"fixInternalLinkTitle.title"}],Q="_app_18eob_1",X="_logo_18eob_9",Y="_sider_18eob_21",ee="_main_18eob_23",te="_header_18eob_41",h={app:Q,logo:X,sider:Y,main:ee,header:te},v=new C,re="example",oe={"common.action.check":"Check","common.action.open":"Open","common.action.remove":"Remove","common.action.download":"Download","home.title":"Home","settings.title":"Security Settings","settings.form.token":"Authorization token","settings.form.baseUrl":"The base path of the joplin web service","settings.action.submit":"Submit","settings.msg.success":"Setup was successful","settings.msg.error":"Unable to access joplin web clipper api","unusedResource.title":"Check for unused resources","unusedResource.listEmptyText":"No unused attachment resources were found","unusedResource.action.removeAll":"Delete all","unusedResource.msg.process":"[{{rate}}/{{all}}] is checking for resources {{title}}","unusedResource.msg.error":"Please check joplin token/port configuration","notFoundResource.title":"Check notes for references to a failed resource","notFoundResource.listEmptyText":"No reference to a failed resource was found","notFoundResource.unknownFileName":"Unknown file name {{id}}","notFoundResource.loadResources":"Start loading all attachment resources","notFoundResource.loadNotes":"Start loading all notes","notFoundResource.parseNotes":"Start parsing all notes","convertExternalLink.title":"Convert External Link to Internal Reference Notes","convertExternalLink.action.convert":"Convert","convertExternalLink.msg.success":"Conversion complete","checkParentNotebook.title":"Check notes without parent directory","checkParentNotebook.listEmptyText":"No abnormal notes found in the parent directory","fixFileExtension.title":"Fix missing resource file extension field","fixFileExtension.action.progress":"Fixing in progress...","fixFileExtension.action.complete":"Fixing completed","fixFileExtension.action.fix":"Fixing","fixFileExtension.tip":"Guess the extension: ","checkActionApi.title":"Check to open notes via API","checkActionApi.desc":"Will randomly open a note in the editor","replace.title":"Search and Replace","replace.form.keyword":"Search keyword","replace.form.replaceText":"Replaced Text","replace.form.keepUpdatedTime":"Preserve note(s) last updated time","replace.action.search":"Search","replace.action.replace":"Replace","replace.action.preview":"Preview","replace.action.replaceAll":"Replace All","replace.msg.replace":"Replace succeeded","replace.msg.replaceAll":"Replace All Successfully","fixInternalLinkTitle.title":"Fix internal link Title","fixInternalLinkTitle.action.update":"Update","fixInternalLinkTitle.action.updateAll":"Update All","fixInternalLinkTitle.msg.success":"Update Successful","fixInternalLinkTitle.msg.loading":"Updating [{{title}}]",example:re},ae="example",ie={"common.action.check":"\u68C0\u67E5","common.action.open":"\u6253\u5F00","common.action.remove":"\u5220\u9664","common.action.download":"\u4E0B\u8F7D","home.title":"\u9996\u9875","settings.title":"\u5B89\u5168\u8BBE\u7F6E","settings.form.token":"\u6388\u6743\u4EE4\u724C","settings.form.baseUrl":"joplin web \u670D\u52A1\u7684\u57FA\u672C\u8DEF\u5F84","settings.action.submit":"\u63D0\u4EA4","settings.msg.success":"\u8BBE\u7F6E\u6210\u529F","settings.msg.error":"\u65E0\u6CD5\u8BBF\u95EE joplin web clipper api","unusedResource.title":"\u68C0\u67E5\u672A\u4F7F\u7528\u7684\u8D44\u6E90","unusedResource.listEmptyText":"\u6CA1\u6709\u627E\u5230\u4EFB\u4F55\u672A\u4F7F\u7528\u7684\u9644\u4EF6\u8D44\u6E90","unusedResource.action.removeAll":"\u5220\u9664\u5168\u90E8","unusedResource.msg.process":"[{{rate}}/{{all}}] \u6B63\u5728\u68C0\u67E5\u8D44\u6E90 {{title}}","unusedResource.msg.error":"\u8BF7\u68C0\u67E5 joplin token/port \u914D\u7F6E","notFoundResource.title":"\u68C0\u67E5\u7B14\u8BB0\u4E2D\u5F15\u7528\u5931\u6548\u7684\u8D44\u6E90","notFoundResource.listEmptyText":"\u6CA1\u6709\u627E\u5230\u4EFB\u4F55\u5F15\u7528\u5931\u6548\u7684\u8D44\u6E90","notFoundResource.unknownFileName":"\u672A\u77E5\u6587\u4EF6\u540D {{id}}","notFoundResource.loadResources":"\u5F00\u59CB\u52A0\u8F7D\u6240\u6709\u9644\u4EF6\u8D44\u6E90","notFoundResource.loadNotes":"\u5F00\u59CB\u52A0\u8F7D\u6240\u6709\u7B14\u8BB0","notFoundResource.parseNotes":"\u5F00\u59CB\u89E3\u6790\u6240\u6709\u7B14\u8BB0","convertExternalLink.title":"\u8F6C\u6362\u5916\u90E8\u94FE\u63A5\u4E3A\u5185\u90E8\u5F15\u7528\u7B14\u8BB0","convertExternalLink.action.convert":"\u8F6C\u6362","convertExternalLink.msg.success":"\u8F6C\u6362\u5B8C\u6210","checkParentNotebook.title":"\u68C0\u67E5\u6CA1\u6709\u7236\u7EA7\u76EE\u5F55\u7684\u7B14\u8BB0","checkParentNotebook.listEmptyText":"\u6CA1\u6709\u68C0\u67E5\u5230\u7236\u76EE\u5F55\u5F02\u5E38\u7684\u7B14\u8BB0","fixFileExtension.title":"\u4FEE\u590D\u8D44\u6E90\u6587\u4EF6\u6269\u5C55\u540D\u5B57\u6BB5\u7F3A\u5931","fixFileExtension.action.progress":"\u6B63\u5728\u4FEE\u590D\u4E2D...","fixFileExtension.action.complete":"\u4FEE\u590D\u5B8C\u6210","fixFileExtension.action.fix":"\u4FEE\u590D","fixFileExtension.tip":"\u731C\u6D4B\u6269\u5C55\u540D: ","checkActionApi.title":"\u68C0\u67E5\u901A\u8FC7 API \u6253\u5F00\u7B14\u8BB0","checkActionApi.desc":"\u5C06\u968F\u673A\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00\u4E00\u4E2A\u7B14\u8BB0","replace.title":"\u641C\u7D22\u5E76\u66FF\u6362","replace.form.keyword":"\u641C\u7D22\u5173\u952E\u5B57","replace.form.replaceText":"\u66FF\u6362\u7684\u6587\u672C","replace.form.keepUpdatedTime":"\u4FDD\u7559\u7B14\u8BB0\u4E0A\u6B21\u66F4\u65B0\u65F6\u95F4","replace.action.search":"\u641C\u7D22","replace.action.replace":"\u66FF\u6362","replace.action.preview":"\u9884\u89C8","replace.action.replaceAll":"\u5168\u90E8\u66FF\u6362","replace.msg.replace":"\u66FF\u6362\u6210\u529F","replace.msg.replaceAll":"\u5168\u90E8\u66FF\u6362\u6210\u529F","fixInternalLinkTitle.title":"\u4FEE\u590D\u5185\u90E8\u94FE\u63A5\u6807\u9898","fixInternalLinkTitle.action.update":"\u66F4\u65B0","fixInternalLinkTitle.action.updateAll":"\u5168\u90E8\u66F4\u65B0","fixInternalLinkTitle.msg.success":"\u66F4\u65B0\u6210\u529F","fixInternalLinkTitle.msg.loading":"\u66F4\u65B0 [{{title}}]",example:ae};function se(){return navigator.language.startsWith("zh")?g.ZhCN:g.En}const ne=()=>{const[e,t]=O("language",se()),[{value:r},o]=W(async s=>(console.log("language: ",s),await v.init({en:oe,zhCN:ie},s),j.map(u=>({...u,title:v.t(u.title)}))),[]);D(()=>o(e));const[a,{inc:i}]=B(0);async function c(s){t(s),await o(s),i()}function A(s){b.push(s.key)}const y=M();return p.exports.createElement(m,{className:h.app},p.exports.createElement(m.Sider,{className:h.sider,width:"max-content"},p.exports.createElement("h2",{className:h.logo},"Joplin Batch"),p.exports.createElement(T,{items:(r!=null?r:[]).map(s=>({label:s.title,key:s.path})),defaultSelectedKeys:[y.pathname],onClick:A})),p.exports.createElement(m,null,p.exports.createElement(m.Header,{className:h.header},p.exports.createElement(U,{options:[{label:"English",value:g.En},{label:"\u4E2D\u6587",value:g.ZhCN}],value:e,onChange:c})),p.exports.createElement(m.Content,{className:h.main},r&&p.exports.createElement(q,{key:a}))))};var ce=Object.defineProperty,le=(e,t,r)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>(le(e,typeof t!="symbol"?t+"":t,r),r),f=class{static async pageToAllList(e,t){const r=[];for(let o=1,a=!0;a;o++){const i=await e({...t,page:o,limit:this.MaxLimit});a=i.has_more,r.push(...i.items)}return r}};R(f,"MaxLimit",100);var L=class{constructor(e){this.ajax=e}async list(e){return this.ajax.get("/notes",e)}async get(e,t){return this.ajax.get(`/notes/${e}`,{fields:t})}async create(e){return this.ajax.post("/notes",e)}async update(e){const{id:t,...r}=e;return await this.ajax.put(`/notes/${t}`,r)}async remove(e){return this.ajax.delete(`/notes/${e}`)}tagsById(e){return f.pageToAllList(({id:t,...r})=>this.ajax.get(`/notes/${t}/tags`,{...r}),{id:e})}async resourcesById(e,t=["id","title"]){return f.pageToAllList(({id:r,...o})=>this.ajax.get(`/notes/${r}/resources`,{fields:t,...o}),{id:e})}},pe=class{constructor(e){this.ajax=e}async list(e){return await this.ajax.get("/tags",e)}async get(e){return await this.ajax.get(`/tags/${e}`)}async create(e){return await this.ajax.post("/tags",e)}async update(e){const{id:t,...r}=e;return await this.ajax.post(`/tags/${t}`,r)}async remove(e){return await this.ajax.delete(`/tags/${e}`)}async notesByTagId({id:e,...t}){return await this.ajax.get(`/tags/${e}/notes`,t)}async addTagByNoteId(e,t){return await this.ajax.post(`/tags/${e}/notes/`,{id:t})}async removeTagByNoteId(e,t){return await this.ajax.delete(`/tags/${e}/notes/${t}`)}},ue=(e=>(e[e.Note=1]="Note",e[e.Folder=2]="Folder",e[e.Setting=3]="Setting",e[e.Resource=4]="Resource",e[e.Tag=5]="Tag",e[e.NoteTag=6]="NoteTag",e[e.Search=7]="Search",e[e.Alarm=8]="Alarm",e[e.MasterKey=9]="MasterKey",e[e.ItemChange=10]="ItemChange",e[e.NoteResource=11]="NoteResource",e[e.ResourceLocalState=12]="ResourceLocalState",e[e.Revision=13]="Revision",e[e.Migration=14]="Migration",e[e.SmartFilter=15]="SmartFilter",e))(ue||{}),w=class{constructor(e){this.ajax=e}async search(e){w.TypeEnumMap[8]="";const{type:t,...r}=e;return this.ajax.get("/search",{...r,type:w.TypeEnumMap[t]})}},E=w;R(E,"TypeEnumMap",{[1]:"note",[2]:"folder",[3]:"setting",[4]:"resource",[5]:"tag",[6]:"note_tag",[7]:"search",[8]:"alarm",[9]:"master_key",[10]:"item_change",[11]:"note_resource",[12]:"resource_local_state",[13]:"revision",[14]:"migration",[15]:"smart_filter"});var me=class{constructor(e){this.ajax=e}async ping(){return await this.ajax.get("/ping",{},{responseType:"text"})==="JoplinClipperServer"}},F=class{constructor(e){this.ajax=e}async list(e){return this.ajax.get("/folders",e)}async listAll(){return this.ajax.get("/folders",{as_tree:1})}async get(e){return this.ajax.get(`/folders/${e}`)}async create(e){return this.ajax.post("/folders",e)}async update(e){const{id:t,...r}=e;return this.ajax.put(`/folders/${t}`,r)}async remove(e){return this.ajax.delete(`/folders/${e}`)}async notesByFolderId(e,t){return await f.pageToAllList(({id:r,...o})=>this.ajax.get(`/folders/${r}/notes`,o),{id:e,fields:t})}},he=class{constructor(e){this.ajax=e}async list(e){return await this.ajax.get("/resources",e)}async get(e,t){return await this.ajax.get(`/resources/${e}`,{fields:t})}async create(e){const{data:t,...r}=e;return await this.ajax.postFormData("/resources","post",{props:JSON.stringify(r),data:t,filename:e.filename})}async update(e){const{id:t,data:r,...o}=e;return await this.ajax.postFormData(`/resources/${t}`,"put",{props:JSON.stringify(o),data:r,filename:e.filename})}async remove(e){return await this.ajax.delete(`/resources/${e}`)}async fileByResourceId(e){const t=await this.ajax.get(`/resources/${e}/file`,{},{responseType:"arraybuffer"});return Buffer.from(t,"binary")}async fileById(e){return await this.ajax.get(`/resources/${e}/file`,{},{responseType:"blob"})}},de=class{constructor(e){this.ajax=e}openAndWatch(e){return this.baseAction("openAndWatch",e)}stopWatching(e){return this.baseAction("stopWatching",e)}async noteIsWatched(e){return this.isWatch(e)}async isWatch(e){return this.baseAction("noteIsWatched",e)}async baseAction(e,t){return this.ajax.post("/services/externalEditWatcher",{action:e,noteId:t})}},ge=class{constructor(e){this.ajax=e}openAndWatch(e){return this.baseAction("openAndWatch",e)}watch(e){return this.baseAction("watch",e)}stopWatching(e){return this.baseAction("stopWatching",e)}async noteIsWatched(e){return this.baseAction("isWatched",e)}async baseAction(e,t){return this.ajax.post("/services/resourceEditWatcher",{action:e,resourceId:t})}},fe=class{constructor(e){n(this,"noteApi");this.noteApi=new L(e)}rename(e,t){return this.noteApi.update({id:e,title:t})}move(e,t){return this.noteApi.update({id:e,parent_id:t})}async toggleTodo(e,t){const r=await this.noteApi.get(e,["id","is_todo","todo_completed"]);!r.is_todo||await this.noteApi.update({id:r.id,todo_completed:t||(r.todo_completed===0?1:0)})}},xe=class{constructor(e){n(this,"folderApi");this.folderApi=new F(e)}rename(e,t){return this.folderApi.update({id:e,title:t})}async path(e){if(!e)return[];const t=await this.folderApi.get(e);return t.parent_id?(await this.path(t.parent_id)).concat([t]):[t]}async move(e,t){if(e!==t){if(t&&(await this.path(t)).some(o=>e===o.id))throw new Error("Cannot move directory to subdirectory");await this.folderApi.update({id:e,parent_id:t})}}},Ae=class{constructor(e){this.ajax=e}async list(e){return await this.ajax.get("/events",e)}async get(e,t){return await this.ajax.get(`/events/${e}`,{fields:t})}},we=class{constructor(){n(this,"baseUrl","http://127.0.0.1:41184");n(this,"token","")}},ye=Object.freeze({method:"get",data:void 0,headers:{},responseType:"json"}),_e=class{constructor(e){this.config=e}async request(e){const t={...ye,...e},r=await fetch(t.url,{...K(t,"data"),method:t.method,body:t.data instanceof FormData?t.data:JSON.stringify(t.data)});if(!r.ok)throw new Error("status: "+r.status+", url: "+t.url+` +statusText: `+await r.text());switch(t.responseType){case"json":return await r.json();case"arraybuffer":return await r.arrayBuffer();case"blob":return await r.blob();case"text":return await r.text();default:throw new Error(`Unsupported responseType: ${t.responseType}`)}}baseUrl(e,t){const r=z.stringify({...t,token:this.config.token},{arrayFormat:"comma"});return`${this.config.baseUrl.endsWith("/")?this.config.baseUrl.slice(0,this.config.baseUrl.length-1):this.config.baseUrl}${e}?${r}`}get(e,t,r){return this.request({url:this.baseUrl(e,t),...r,method:"get"})}post(e,t,r){return this.request({url:this.baseUrl(e),data:t,...r,method:"post"})}put(e,t,r){return this.request({url:this.baseUrl(e),data:t,...r,method:"put"})}delete(e,t,r){return this.request({url:this.baseUrl(e),data:t,...r,method:"delete",responseType:"text"})}async postFormData(e,t,r){const o=new FormData;return o.append("props",r.props),r.data&&o.append("data",r.data,r.filename),await this.request({url:this.baseUrl(e),method:t,data:o})}},ve=class{constructor(){n(this,"config",new we);n(this,"ajax",new _e(this.config));n(this,"folderApi",new F(this.ajax));n(this,"folderExtApi",new xe(this.ajax));n(this,"joplinApi",new me(this.ajax));n(this,"noteActionApi",new de(this.ajax));n(this,"noteApi",new L(this.ajax));n(this,"noteExtApi",new fe(this.ajax));n(this,"resourceActionApi",new ge(this.ajax));n(this,"resourceApi",new he(this.ajax));n(this,"searchApi",new E(this.ajax));n(this,"tagApi",new pe(this.ajax));n(this,"eventApi",new Ae(this.ajax))}set baseUrl(e){this.config.baseUrl=e}get baseUrl(){return this.config.baseUrl}set token(e){this.config.token=e}get token(){return this.config.token}},x=new ve;Object.entries(x).forEach(([e,t])=>{Reflect.set(x,e,J.bindMethodThis(t))});var{ajax:Nt,folderApi:It,folderExtApi:St,joplinApi:Tt,noteActionApi:Ut,noteApi:Pt,noteExtApi:$t,resourceActionApi:Ct,resourceApi:Ot,searchApi:Wt,tagApi:Dt,eventApi:Bt}=x,k=x;function Mt(e){const t=`joplin://x-callback-url/openNote?id=${e}`;window.open(t)}function ke(){var t,r,o,a;const e=G(localStorage);k.token=(r=(t=e.settings)==null?void 0:t.token)!=null?r:"",k.baseUrl=(a=(o=e.settings)==null?void 0:o.baseUrl)!=null?a:"http://localhost:41184"}ke();V(document.getElementById("root")).render(S.createElement($,{history:b,routes:[{path:"/",component:ne,children:j}]}));export{f as P,ue as T,k as c,It as f,se as g,v as i,Pt as n,Mt as o,Ot as r,Wt as s}; diff --git a/web/joplin-batch-web/assets/index.b8627364.js b/web/joplin-batch-web/assets/index.b8627364.js new file mode 100644 index 00000000..1335f73a --- /dev/null +++ b/web/joplin-batch-web/assets/index.b8627364.js @@ -0,0 +1 @@ +import{r as i}from"./react.bcb0ff15.js";import{i as p,P as f,n as g,r as y,o as I}from"./index.b6de4149.js";import{v as F}from"./unist-util-visit.23fe510a.js";import{r as R}from"./remark-parse.ae27876c.js";import{r as w}from"./remark-gfm.e6635c2d.js";import{r as b}from"./remark-stringify.8ee5cd32.js";import{u as E}from"./unified.cb173dc7.js";import{A as N,a as S}from"./@liuli-util/async.20364c00.js";import{P as A}from"./PromiseUtil.2bdf064a.js";import{a as C}from"./react-use.f90ee3b0.js";import{C as v,B as x,b as l}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";import"./tslib.42edd759.js";import"./unist-util-visit-parents.7a4d7581.js";import"./unist-util-is.01e12dde.js";import"./mdast-util-from-markdown.44cf8fe8.js";import"./mdast-util-to-string.fb536fe5.js";import"./micromark.74065510.js";import"./micromark-util-combine-extensions.697f0677.js";import"./micromark-util-chunked.52039b2e.js";import"./micromark-factory-space.8ec3c024.js";import"./micromark-util-character.2c47e118.js";import"./micromark-core-commonmark.3fac04b8.js";import"./micromark-util-classify-character.f47a059b.js";import"./micromark-util-resolve-all.d38fe386.js";import"./decode-named-character-reference.0cf99f69.js";import"./micromark-util-subtokenize.980f7106.js";import"./micromark-factory-destination.f465b346.js";import"./micromark-factory-label.bdfeb2ce.js";import"./micromark-factory-title.f3aaaa31.js";import"./micromark-factory-whitespace.1bcc98ff.js";import"./micromark-util-normalize-identifier.d8c35b62.js";import"./micromark-util-html-tag-name.94b32f7b.js";import"./micromark-util-decode-numeric-character-reference.a2285e6c.js";import"./micromark-util-decode-string.5840a04a.js";import"./unist-util-stringify-position.9bacc487.js";import"./micromark-extension-gfm.03975213.js";import"./micromark-extension-gfm-autolink-literal.422a0654.js";import"./micromark-extension-gfm-footnote.a16b4cca.js";import"./micromark-extension-gfm-strikethrough.a97f0121.js";import"./micromark-extension-gfm-table.a83caa90.js";import"./micromark-extension-gfm-task-list-item.eaae8848.js";import"./mdast-util-gfm.429990b7.js";import"./mdast-util-gfm-autolink-literal.f32082f0.js";import"./ccount.1cb94a01.js";import"./mdast-util-find-and-replace.7ab5ba95.js";import"./escape-string-regexp.cd3f5550.js";import"./mdast-util-gfm-footnote.9f5cbf8c.js";import"./mdast-util-to-markdown.baf38fd2.js";import"./zwitch.ff65d30c.js";import"./longest-streak.7bb4efd1.js";import"./mdast-util-gfm-strikethrough.a9b9f276.js";import"./mdast-util-gfm-task-list-item.40d7ca5a.js";import"./mdast-util-gfm-table.86ff59cf.js";import"./markdown-table.5bc58d43.js";import"./bail.2d65b3d4.js";import"./is-buffer.8f2d14e8.js";import"./extend.9f70b7a3.js";import"./is-plain-obj.5914775f.js";import"./trough.51e639e8.js";import"./vfile.7e51f900.js";import"./vfile-message.84519071.js";const P=E().use(R).use(w).use(b,{bullet:"-",fences:!0,incrementListMarker:!1});function M(m){return m.indexOf("#")!==-1?m.slice(2,m.indexOf("#")):m.slice(2)}function T(m){const s=[];return F(P.parse(m),n=>{var a;if(n.type!=="link"&&n.type!=="image")return;const t=n;!t.url.startsWith(":/")||s.push({id:M(t.url),title:t.type==="link"?(a=t.title)!=null?a:t.children[0].value:t.alt})}),s}class _{constructor(){}check(){return A.warpOnEvent(async s=>{s.load(p.t("notFoundResource.loadResources"));const n=new Set((await this.getAllResourceIdList()).map(r=>r.id));s.load(p.t("notFoundResource.loadNotes"));const t=await f.pageToAllList(g.list.bind(g),{fields:["id","title","body","user_updated_time"]}),a=t.reduce((r,c)=>r.add(c.id),new Set);s.load(p.t("notFoundResource.parseNotes"));let d=0;const o=[],L=(await N.map(t,S(async r=>{var k;const c=T(r.body);o.push(...c.map(u=>u.id));const h=c.filter(u=>!n.has(u.id)&&!a.has(u.id));return d++,s.parse({rate:d,all:t.length,title:(k=r.title)!=null?k:p.t("notFoundResource.unknownFileName",{id:r.id})}),{...r,errorLinks:h}},10))).filter(r=>r.errorLinks.length!==0);return console.log("debug data: ",{resourceIdList:[...n],noteIdList:[...a],allLinks:o,resolvedNoteList:L.map(r=>({id:r.id,errorLinks:r.errorLinks.map(c=>c.id)}))}),L})}async getAllResourceIdList(){return await f.pageToAllList(y.list.bind(y),{fields:["id","title","mime"]})}}const O="_subList_1op68_1",$={subList:O},B=new _,Hr=()=>{const[m,s]=i.exports.useState([]),[n,t]=i.exports.useState(""),[a,d]=C(async()=>{const o=await B.check().on("load",e=>t(e)).on("parse",e=>{t(`[${e.rate}/${e.all}] ${e.title}`)});console.log("list: ",o),s(o)});return i.exports.createElement(v,{title:p.t("notFoundResource.title"),extra:i.exports.createElement(x,{onClick:d},p.t("common.action.check"))},i.exports.createElement(l,{dataSource:m,locale:{emptyText:p.t("notFoundResource.listEmptyText")},renderItem:o=>i.exports.createElement(l.Item,{key:"note-"+o.id,actions:[i.exports.createElement(x,{onClick:()=>I(o.id)},p.t("common.action.open"))]},i.exports.createElement(l.Item.Meta,{title:o.title,description:i.exports.createElement(l,{className:$.subList,dataSource:o.errorLinks,renderItem:e=>i.exports.createElement(l.Item,{key:"resource-"+o.id+"-"+e.id},i.exports.createElement(l.Item.Meta,{title:e.title||p.t("notFoundResource.unknownFileName",e)}))})})),loading:{spinning:a.loading,tip:n}}))};export{Hr as default}; diff --git a/web/joplin-batch-web/assets/index.cc5400cb.js b/web/joplin-batch-web/assets/index.cc5400cb.js new file mode 100644 index 00000000..2fad1f90 --- /dev/null +++ b/web/joplin-batch-web/assets/index.cc5400cb.js @@ -0,0 +1 @@ +import{r}from"./react.bcb0ff15.js";import{i as t,n as e,o as n}from"./index.b6de4149.js";import{C as s,B as c,m}from"./antd.829d9a81.js";import"./classnames.fcae7549.js";import"./@liuli-util/react-router.19d629f6.js";import"./history.8c848a87.js";import"./@babel/runtime.77033aed.js";import"./@liuli-util/tree.28f56635.js";import"./react-router.ab39842d.js";import"./@remix-run/router.6675ec4c.js";import"./@liuli-util/i18next-util.367fde1b.js";import"./i18next.aeec162a.js";import"./react-use.f90ee3b0.js";import"./tslib.42edd759.js";import"./react-dom.040937d5.js";import"./scheduler.5bc07c2b.js";import"./@liuli-util/object.c3c9f8dd.js";import"./query-string.7a820323.js";import"./strict-uri-encode.82768c6e.js";import"./decode-uri-component.ca13c355.js";import"./split-on-first.cf03b920.js";import"./filter-obj.a2c77fe2.js";import"./@liuli-util/dom.7c7381d8.js";import"./@liuli-util/array.c1e23abd.js";import"./rc-util.9e22709c.js";import"./react-is.e13562bd.js";import"./rc-resize-observer.ce41be3e.js";import"./resize-observer-polyfill.d94677fa.js";import"./rc-motion.4d67ed75.js";import"./@ant-design/icons.9bb0fd12.js";import"./@ant-design/icons-svg.ef1e3299.js";import"./@ant-design/colors.c9ebc826.js";import"./@ctrl/tinycolor.f9239932.js";import"./rc-menu.36873b05.js";import"./shallowequal.9e085e62.js";import"./rc-overflow.1c29c4d3.js";import"./rc-trigger.d92e6a44.js";import"./rc-align.8ac14694.js";import"./dom-align.6f4926e0.js";import"./lodash.9f59e410.js";import"./rc-checkbox.7c78741f.js";import"./rc-tabs.e6ff9661.js";import"./rc-dropdown.ef01eb3e.js";import"./rc-select.5290f568.js";import"./rc-virtual-list.03a0aeaa.js";import"./rc-field-form.bad3530c.js";import"./async-validator.e56392a6.js";import"./scroll-into-view-if-needed.93ce78d3.js";import"./compute-scroll-into-view.9b2bf0c9.js";import"./rc-image.6968645b.js";import"./rc-dialog.1314fb5b.js";import"./rc-pagination.d25a22f9.js";import"./rc-textarea.2a18f0c5.js";import"./copy-to-clipboard.04c46956.js";import"./toggle-selection.ddb32806.js";import"./memoize-one.d2b40972.js";import"./rc-picker.eb87d7c6.js";import"./rc-notification.a2f2b76e.js";import"./rc-tooltip.bb0bf028.js";import"./rc-input.b5c20646.js";const Ct=()=>{async function p(){const o=await e.list({limit:1});if(o.items.length===0){m.error("\u6CA1\u6709\u627E\u5230\u4EFB\u4F55\u7B14\u8BB0");return}const i=o.items[0];n(i.id),m.success("\u6253\u5F00\u7B14\u8BB0 "+i.title)}return r.exports.createElement(s,{title:t.t("checkActionApi.title"),extra:r.exports.createElement(c,{onClick:p},t.t("common.action.open"))},t.t("checkActionApi.desc"))};export{Ct as default}; diff --git a/web/joplin-batch-web/assets/lodash-es.c6048bd4.js b/web/joplin-batch-web/assets/lodash-es.c6048bd4.js new file mode 100644 index 00000000..e004f214 --- /dev/null +++ b/web/joplin-batch-web/assets/lodash-es.c6048bd4.js @@ -0,0 +1 @@ +var Xr=typeof global=="object"&&global&&global.Object===Object&&global;const Er=Xr;var qr=typeof self=="object"&&self&&self.Object===Object&&self,Wr=Er||qr||Function("return this")();const b=Wr;var Yr=b.Symbol;const O=Yr;var xr=Object.prototype,Zr=xr.hasOwnProperty,Jr=xr.toString,M=O?O.toStringTag:void 0;function Qr(r){var t=Zr.call(r,M),e=r[M];try{r[M]=void 0;var n=!0}catch{}var i=Jr.call(r);return n&&(t?r[M]=e:delete r[M]),i}var Vr=Object.prototype,kr=Vr.toString;function rt(r){return kr.call(r)}var tt="[object Null]",et="[object Undefined]",ir=O?O.toStringTag:void 0;function C(r){return r==null?r===void 0?et:tt:ir&&ir in Object(r)?Qr(r):rt(r)}function I(r){return r!=null&&typeof r=="object"}var nt="[object Symbol]";function Q(r){return typeof r=="symbol"||I(r)&&C(r)==nt}function at(r,t){for(var e=-1,n=r==null?0:r.length,i=Array(n);++e-1&&r%1==0&&r-1&&r%1==0&&r<=It}function Rr(r){return r!=null&&k(r.length)&&!Cr(r)}var Ct=Object.prototype;function Mt(r){var t=r&&r.constructor,e=typeof t=="function"&&t.prototype||Ct;return r===e}function jt(r,t){for(var e=-1,n=Array(r);++e-1}function qe(r,t){var e=this.__data__,n=U(e,r);return n<0?(++this.size,e.push([r,t])):e[n][1]=t,this}function T(r){var t=-1,e=r==null?0:r.length;for(this.clear();++ts))return!1;var u=a.get(r),g=a.get(t);if(u&&g)return u==t&&g==r;var p=-1,l=!0,y=e&Bn?new N:void 0;for(a.set(r,t),a.set(t,r);++p