diff --git a/dist/markedit-enhanced-paste.js b/dist/markedit-enhanced-paste.js index 577c5b0..90a1356 100644 --- a/dist/markedit-enhanced-paste.js +++ b/dist/markedit-enhanced-paste.js @@ -58,5 +58,5 @@ `:n}};this.options=X({},t,e),this.rules=new $(this.options)}h.prototype={turndown:function(e){if(!ge(e))throw new TypeError(e+" is not a string, or an element/document/fragment node.");if(e==="")return"";var t=V.call(this,new le(e,this.options));return he.call(this,t)},use:function(e){if(Array.isArray(e))for(var t=0;t{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function ke(e,t){if(!t.includes(e))return e;const n=e.lastIndexOf("."),r=n===-1?e:e.substring(0,n),i=n===-1?"":e.substring(n);for(let a=1;;++a){const s=`${r}-${a}${i}`;if(!t.includes(s))return s}}function Ae(e,t=""){const n=u.MarkEdit.editorView,{from:r,to:i}=n.state.selection.main;j.snippet(e+"#{}")(n,{label:t},r,i)}function w(e){const t=u.MarkEdit.editorAPI.getSelections()[0];u.MarkEdit.editorAPI.setText(e,t)}const Ee=new h({headingStyle:"atx",bulletListMarker:"-",codeBlockStyle:"fenced",emDelimiter:"*",strongDelimiter:"**",...q});async function ye(e,t){const n=e.clipboardData?.getData("text/html")??"";n.length!==0&&(e.preventDefault(),e.stopPropagation(),t==="auto"?C(n):t==="ask"&&u.MarkEdit.showContextMenu([{title:"Paste as Rich Text",action:()=>C(n)},{title:"Paste as Plain Text",action:()=>W()}]))}async function W(){const e=await u.MarkEdit.getPasteboardString();e!==void 0&&w(e)}function C(e){const t=Ee.turndown(e);t.length>0&&w(t)}async function Te(e){const t=Array.from(e.clipboardData?.items??[]).map(n=>n.getAsFile()).filter(n=>n?.type.startsWith("image/"));if(t.length===0)return be(e);await Promise.all(t.map(Ne)),e.preventDefault(),e.stopPropagation()}async function Ne(e){const t=(await u.MarkEdit.getFileInfo())?.parentPath;if(t===void 0)return;const n=(await ve(e)).replace(/^data:.+;base64,/,""),r=await u.MarkEdit.listFiles(t)??[],i=ke(e.name,r);u.MarkEdit.createFile({path:`${t}/${i}`,data:n}),Ae(`![#{Image}](${i})`)}function be(e){const t=e.clipboardData;if((t?.getData("text/plain")??"").length>0)return;const r=Array.from(t?.files??[]);w(r.map(i=>i.name).join(` +`.substring(0,i);return n+a+r}function ge(e){return e!=null&&(typeof e=="string"||e.nodeType&&(e.nodeType===1||e.nodeType===9||e.nodeType===11))}function ve(e){return new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.onerror=n,r.readAsDataURL(e)})}function ke(e,t){if(!t.includes(e))return e;const n=e.lastIndexOf("."),r=n===-1?e:e.substring(0,n),i=n===-1?"":e.substring(n);for(let a=1;;++a){const s=`${r}-${a}${i}`;if(!t.includes(s))return s}}function Ae(e,t=""){const n=u.MarkEdit.editorView,{from:r,to:i}=n.state.selection.main;j.snippet(e+"#{}")(n,{label:t},r,i)}function w(e){const t=u.MarkEdit.editorAPI.getSelections()[0];u.MarkEdit.editorAPI.setText(e,t)}const Ee=new h({headingStyle:"atx",bulletListMarker:"-",codeBlockStyle:"fenced",emDelimiter:"*",strongDelimiter:"**",...q});async function ye(e,t){const n=e.clipboardData?.getData("text/html")??"";n.length!==0&&(e.preventDefault(),e.stopPropagation(),t==="auto"?C(n):t==="ask"&&u.MarkEdit.showContextMenu([{title:"Paste as Rich Text",action:()=>C(n)},{title:"Paste as Plain Text",action:()=>W()}]))}async function W(){const e=await u.MarkEdit.getPasteboardString();e!==void 0&&w(e)}function C(e){const t=Ee.turndown(e);t.length>0&&w(t)}async function Te(e){const t=Array.from(e.clipboardData?.items??[]).map(n=>n.getAsFile()).filter(n=>n?.type.startsWith("image/"));if(t.length===0)return be(e);await Promise.all(t.map(Ne)),e.preventDefault(),e.stopPropagation()}async function Ne(e){const t=(await u.MarkEdit.getFileInfo())?.parentPath;if(t===void 0)return;const n=(await ve(e)).replace(/^data:.+;base64,/,""),r=await u.MarkEdit.listFiles(t)??[],i=ke(e.name,r);u.MarkEdit.createFile({path:`${t}/${i}`,data:n}),Ae(`![#{Image}](<${i}>)`)}function be(e){const t=e.clipboardData;if((t?.getData("text/plain")??"").length>0)return;const r=Array.from(t?.files??[]);w(r.map(i=>i.name).join(` `)),e.preventDefault(),e.stopPropagation()}const we=S.EditorView.domEventHandlers({paste:e=>{K&&Te(e),P!=="none"&&ye(e,P)}});u.MarkEdit.addExtension([we,S.keymap.of([{key:G,preventDefault:!0,run:()=>(W(),!0)}])]); diff --git a/src/image.ts b/src/image.ts index bf45ed8..73bc202 100644 --- a/src/image.ts +++ b/src/image.ts @@ -31,7 +31,7 @@ async function pasteImage(file: File) { data: imageData, }); - insertSnippet(`![#{Image}](${newFileName})`); + insertSnippet(`![#{Image}](<${newFileName}>)`); } function handleFileNames(event: ClipboardEvent) {