Files
Obsidian-MBPM4 8dfdf13cb3 vault backup: 2026-01-09 15:02:00
Affected files:
.obsidian/plugins/colored-tags/main.js
.obsidian/plugins/colored-tags/manifest.json
.obsidian/plugins/colored-tags/styles.css
.obsidian/plugins/copy-url-in-preview/main.js
.obsidian/plugins/copy-url-in-preview/manifest.json
.obsidian/plugins/dataview/main.js
.obsidian/plugins/dataview/manifest.json
.obsidian/plugins/dataview/styles.css
.obsidian/plugins/editing-toolbar/data.json
.obsidian/plugins/editing-toolbar/main.js
.obsidian/plugins/editing-toolbar/manifest.json
.obsidian/plugins/editing-toolbar/styles.css
.obsidian/plugins/file-explorer-note-count/main.js
.obsidian/plugins/file-explorer-note-count/manifest.json
.obsidian/plugins/file-explorer-note-count/styles.css
.obsidian/plugins/mermaid-tools/main.js
.obsidian/plugins/mermaid-tools/manifest.json
.obsidian/plugins/mermaid-tools/styles.css
.obsidian/plugins/obsidian-advanced-uri/main.js
.obsidian/plugins/obsidian-advanced-uri/manifest.json
.obsidian/plugins/obsidian-auto-link-title/main.js
.obsidian/plugins/obsidian-auto-link-title/manifest.json
.obsidian/plugins/obsidian-excalidraw-plugin/main.js
.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json
.obsidian/plugins/obsidian-excalidraw-plugin/styles.css
.obsidian/plugins/obsidian-git/main.js
.obsidian/plugins/obsidian-git/manifest.json
.obsidian/plugins/obsidian-git/styles.css
.obsidian/plugins/obsidian-icon-folder/main.js
.obsidian/plugins/obsidian-icon-folder/manifest.json
.obsidian/plugins/obsidian-icon-folder/styles.css
.obsidian/plugins/obsidian-importer/main.js
.obsidian/plugins/obsidian-importer/manifest.json
.obsidian/plugins/obsidian-importer/styles.css
.obsidian/plugins/table-editor-obsidian/main.js
.obsidian/plugins/table-editor-obsidian/manifest.json
.obsidian/workspace.json
2 Personal/Home Lab/Drawing 2026-01-09 15.01.17.excalidraw.md
2026-01-09 15:02:00 +01:00

9 lines
7.9 KiB
JavaScript

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
"use strict";var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var O=(n,i,t)=>i in n?v(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var _=(n,i)=>{for(var t in i)v(n,t,{get:i[t],enumerable:!0})},R=(n,i,t,e)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of A(i))!L.call(n,o)&&o!==t&&v(n,o,{get:()=>i[o],enumerable:!(e=B(i,o))||e.enumerable});return n};var W=n=>R(v({},"__esModule",{value:!0}),n);var g=(n,i,t)=>O(n,typeof i!="symbol"?i+"":i,t);var $={};_($,{default:()=>y});module.exports=W($);var c=require("obsidian");var m=require("obsidian"),f={loadImageBlob:5e3,notice:1800};function w(n){let i=["avif","bmp","gif","jpg","jpeg","png","svg","webp","heic"];return n=n.toLowerCase(),i.some(t=>n.endsWith(`.${t}`))}function T(n){return n=new URL(n),n.search="",n.toString()}async function h(n){let i=()=>{new m.Notice(i18next.t("interface.copied_generic"),f.notice)},t=()=>{new m.Notice(i18next.t("Failed to copy image to clipboard"),f.notice)};if(n instanceof m.TFile){let a=new Blob([await n.vault.readBinary(n)],{type:`image/${n.extension}`});if(await d(a)){i();return}else{t();return}}let e=await k(n);if(e&&await d(e)){i();return}let o=`https://api.allorigins.win/raw?url=${encodeURIComponent(n)}`;if(e=await k(o),e&&await d(e)){i();return}if(e=await U(f.loadImageBlob,S(n)),e&&await d(e)){i();return}if(e=await U(f.loadImageBlob,S(o)),e&&await d(e)){i();return}t()}async function d(n){try{if(n.type!=="image/svg+xml")return await navigator.clipboard.write([new ClipboardItem({[n.type]:n})]),!0}catch(i){console.warn("Failed copying image with original mimetype, using PNG fallback - ",i)}try{return n=new Blob([n],{type:"image/png"}),await navigator.clipboard.write([new ClipboardItem({[n.type]:n})]),!0}catch(i){console.warn("Failed copying image with PNG mimetype - ",i)}return!1}async function k(n){try{return await(await fetch(n,{signal:AbortSignal.timeout(f.loadImageBlob)})).blob()}catch(i){console.warn("Failed to fetch image - ",i)}return null}function S(n){return new Promise(i=>{let t=new Image;t.crossOrigin="anonymous",t.onload=()=>{let e=document.createElement("canvas");e.width=t.width,e.height=t.height,e.getContext("2d").drawImage(t,0,0),e.toBlob(o=>{i(o)})},t.onerror=()=>{i(null)},t.src=n})}function U(n,i){let t=new Promise(e=>setTimeout(()=>{e(null)},n));return Promise.race([i,t])}function C(n,i,t,e,o){return n.on(i,t,e,o),()=>{n.off(i,t,e,o)}}function x(n,i){let t=(0,m.normalizePath)(n.vault.adapter.basePath);t=t.replace("file://","");let e=i.pathname;e=e.replace("/_capacitor_file_",""),e=e.split("/").filter(a=>a!=="").join("/");let o=decodeURI(e);if(o.startsWith(t)){let a=o.slice(t.length+1);return n.vault.getFileByPath(a)}return null}function b(n,i){n.workspace.getLeaf(!0).openFile(i,{active:!0})}var F=require("obsidian"),M=["file","open","info","system"],P={"copy-to-clipboard":{section:"info",icon:"image-file",title:"interface.label-copy"},"open-in-new-tab":{section:"open",icon:"file-plus",title:"interface.menu.open-in-new-tab"},"open-in-default-app":{section:"system",icon:"arrow-up-right",title:"plugins.open-with-default-app.action-open-file"},"show-in-explorer":{section:"system",icon:"arrow-up-right",title:`plugins.open-with-default-app.action-show-in-folder${F.Platform.isMacOS?"-mac":""}`},"reveal-in-navigation":{section:"system",icon:"folder",title:"plugins.file-explorer.action-reveal-file"},"reveal-in-navigation-tree":{section:"system",icon:"folder",title:"Reveal in File Tree Alternative"},"rename-file":{section:"info",icon:"pencil",title:"interface.menu.rename"}};function p(n,i){return n.setSection(P[i].section).setIcon(P[i].icon).setTitle(i18next.t(P[i].title))}var u=require("obsidian");var D={middleClickNewTab:!0,revealInNavigation:!0,enableDefaultOnCanvas:!1},I=class extends u.PluginSettingTab{constructor(t,e){super(t,e);g(this,"plugin");this.plugin=e}display(){let{containerEl:t}=this;t.empty(),t.createEl("h3",{text:"Image Context Menus settings"}),new u.Setting(t).setName("Middle mouse click on image link to open in new tab").addToggle(e=>{e.setValue(this.plugin.settings.middleClickNewTab).onChange(o=>{this.plugin.settings.middleClickNewTab=o,this.plugin.saveSettings()})}),new u.Setting(t).setName("Reveal file in navigation menu item").setDesc("You might want to disable this if you use a plugin for replacing default Obsidian file navigation. This plugin supports File Tree Alternative by displaying a reveal menu item for it if installed.").addToggle(e=>{e.setValue(this.plugin.settings.revealInNavigation).onChange(o=>{this.plugin.settings.revealInNavigation=o,this.plugin.saveSettings()})}),new u.Setting(t).setName("Enable regular context menu on canvas").setDesc(`The regular context menu sometimes duplicates the context menu on the canvas, so it's disabled there by default.
There is a separate context menu for images directly on the canvas, but if that's not enough (for example for images in notes on canvas), you can enable the regular context menu here too.`).addToggle(e=>{e.setValue(this.plugin.settings.enableDefaultOnCanvas).onChange(o=>{this.plugin.settings.enableDefaultOnCanvas=o,this.plugin.saveSettings()})})}};var y=class extends c.Plugin{constructor(){super(...arguments);g(this,"canvasCardMenu");g(this,"settings")}async loadSettings(){this.settings=Object.assign({},D,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}async onload(){await this.loadSettings(),this.addSettingTab(new I(this.app,this)),this.registerDocument(document),this.app.workspace.on("window-open",(t,e)=>{this.registerDocument(e.document)}),this.registerEvent(this.app.workspace.on("file-menu",(t,e,o)=>{o==="canvas-menu"&&e instanceof c.TFile&&w(`.${e.extension}`)&&(t.addItem(a=>p(a,"open-in-new-tab").onClick(()=>{b(this.app,e)})),t.addItem(a=>p(a,"copy-to-clipboard").onClick(()=>{h(e)})))})),this.registerEvent(this.app.workspace.on("canvas:node-menu",(t,e)=>{let o=e.unknownData;if(o.type==="link"){let a=T(o.url);if(!w(a))return;t.addItem(r=>p(r,"copy-to-clipboard").setSection("canvas").onClick(()=>{h(a)}))}})),this.registerEvent(this.app.workspace.on("url-menu",(t,e)=>{e=T(e),w(e)&&t.addItem(o=>p(o,"copy-to-clipboard").onClick(()=>{h(e)}))}))}registerDocument(t){let e=[C(t,"contextmenu","img",this.onImageContextMenu.bind(this),{capture:!0}),C(t,"mouseup","img",this.onImageMouseUp.bind(this))];this.register(()=>{for(let o of e)o()})}onImageContextMenu(t){var E;if(!this.settings.enableDefaultOnCanvas&&((E=this.app.workspace.getActiveFile())==null?void 0:E.extension)==="canvas")return;t.preventDefault();let e=t.target,o=new URL(e.src);if(!["app:","data:","http:","https:"].includes(o.protocol)){new c.Notice(`No handler for ${o.protocol} protocol`);return}let r=new c.Menu,l=x(this.app,o);r.addSections(Array.from(M)),l&&r.addItem(s=>p(s,"rename-file").onClick(()=>this.app.fileManager.promptForFileRename(l))),r.addItem(s=>p(s,"copy-to-clipboard").onClick(()=>{h(l!=null?l:e.src)})),l&&(c.Platform.isMobile&&r.addItem(s=>s.setTitle(l.name).setSection("file").setIsLabel(!0)),r.addItem(s=>p(s,"open-in-new-tab").onClick(()=>{b(this.app,l)})),c.Platform.isDesktop&&(r.addItem(s=>p(s,"open-in-default-app").onClick(()=>{this.app.openWithDefaultApp(l.path)})),r.addItem(s=>p(s,"show-in-explorer").onClick(()=>{this.app.showInFolder(l.path)}))),this.settings.revealInNavigation&&r.addItem(s=>p(s,"reveal-in-navigation").onClick(()=>{var N;(N=this.app.internalPlugins.getEnabledPluginById("file-explorer"))==null||N.revealInFolder(l)})),this.app.plugins.enabledPlugins.has("file-tree-alternative")&&r.addItem(s=>p(s,"reveal-in-navigation-tree").onClick(()=>{self.dispatchEvent(new CustomEvent("fta-reveal-file",{detail:{file:l}}))}))),r.showAtPosition({x:t.pageX,y:t.pageY})}onImageMouseUp(t){let e=t.target;if(t.button===1&&this.settings.middleClickNewTab){let a=x(this.app,new URL(e.src));if(!a)return;b(this.app,a)}}};
/* nosourcemap */