/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // main.ts var main_exports = {}; __export(main_exports, { default: () => MenuPlugin }); module.exports = __toCommonJS(main_exports); var import_obsidian = require("obsidian"); var { shell } = require("electron"); var MenuPlugin = class extends import_obsidian.Plugin { async onload() { this.registerMarkdownCodeBlockProcessor("menu", (source, el, ctx) => { const lines = source.trim().split("\n"); let cssClass = ""; const links = []; for (const line of lines) { const trimmed = line.trim(); if (trimmed.startsWith("class:")) { cssClass = trimmed.substring(6).trim().replace(/[{}]/g, ""); } else if (trimmed) { links.push(trimmed); } } const finalClass = cssClass || "default"; const container = el.createEl("div", { cls: `menu-container ${finalClass}` }); for (const link of links) { if (link.startsWith("[[") && link.endsWith("]]")) { const linkContent = link.slice(2, -2); let href = linkContent; let text = linkContent; if (linkContent.includes("|")) { [href, text] = linkContent.split("|"); } const a = container.createEl("a", { text, attr: { "data-href": href } }); a.addClass("menu-internal-link"); } else if (link.match(/^\[.*\]\(.*\)$/)) { const match = link.match(/^\[(.*)\]\((.*)\)$/); if (match) { const text = match[1]; const url = match[2]; const a = container.createEl("a", { text, attr: url.startsWith("file://") ? {} : { href: url, target: "_blank", rel: "noopener noreferrer" } }); a.style.cursor = "pointer"; if (url.startsWith("file://")) { a.addClass("menu-file-link"); } else { a.addClass("menu-external-link"); } a.addEventListener("click", (e) => { e.preventDefault(); if (url.startsWith("file://")) { try { let filePath = decodeURIComponent(url.substring(7)); if (filePath.startsWith("/") && filePath.charAt(2) === ":") { filePath = filePath.substring(1); } console.log("Opening file path:", filePath); shell.openPath(filePath); } catch (error) { console.error("Failed to open file:", error); } } else { window.open(url, "_blank", "noopener,noreferrer"); } }); } } } }); } onunload() { } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {}); //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWFpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xyXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAndXJsJztcclxuXHJcbmNvbnN0IHsgc2hlbGwgfSA9IHJlcXVpcmUoJ2VsZWN0cm9uJyk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51UGx1Z2luIGV4dGVuZHMgUGx1Z2luIHtcclxuXHRhc3luYyBvbmxvYWQoKSB7XHJcblx0XHR0aGlzLnJlZ2lzdGVyTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IoJ21lbnUnLCAoc291cmNlLCBlbCwgY3R4KSA9PiB7XHJcblx0XHRcdC8vIFBhcnNlIHRoZSBzb3VyY2VcclxuXHRcdFx0Y29uc3QgbGluZXMgPSBzb3VyY2UudHJpbSgpLnNwbGl0KCdcXG4nKTtcclxuXHRcdFx0bGV0IGNzc0NsYXNzID0gJyc7XHJcblx0XHRcdGNvbnN0IGxpbmtzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHRcdFx0Zm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XHJcblx0XHRcdFx0Y29uc3QgdHJpbW1lZCA9IGxpbmUudHJpbSgpO1xyXG5cdFx0XHRcdGlmICh0cmltbWVkLnN0YXJ0c1dpdGgoJ2NsYXNzOicpKSB7XHJcblx0XHRcdFx0XHRjc3NDbGFzcyA9IHRyaW1tZWQuc3Vic3RyaW5nKDYpLnRyaW0oKS5yZXBsYWNlKC9be31dL2csICcnKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHRyaW1tZWQpIHtcclxuXHRcdFx0XHRcdGxpbmtzLnB1c2godHJpbW1lZCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBDcmVhdGUgdGhlIGNvbnRhaW5lciAtIGlmIG5vIGNsYXNzIHNwZWNpZmllZCwgdXNlICdkZWZhdWx0J1xyXG5cdFx0XHRjb25zdCBmaW5hbENsYXNzID0gY3NzQ2xhc3MgfHwgJ2RlZmF1bHQnO1xyXG5cdFx0XHRjb25zdCBjb250YWluZXIgPSBlbC5jcmVhdGVFbCgnZGl2JywgeyBjbHM6IGBtZW51LWNvbnRhaW5lciAke2ZpbmFsQ2xhc3N9YCB9KTtcclxuXHJcblx0XHRcdC8vIFByb2Nlc3MgZWFjaCBsaW5rXHJcblx0XHRcdGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xyXG5cdFx0XHRcdGlmIChsaW5rLnN0YXJ0c1dpdGgoJ1tbJykgJiYgbGluay5lbmRzV2l0aCgnXV0nKSkge1xyXG5cdFx0XHRcdFx0Ly8gSW50ZXJuYWwgbGlua1xyXG5cdFx0XHRcdFx0Y29uc3QgbGlua0NvbnRlbnQgPSBsaW5rLnNsaWNlKDIsIC0yKTtcclxuXHRcdFx0XHRcdGxldCBocmVmID0gbGlua0NvbnRlbnQ7XHJcblx0XHRcdFx0XHRsZXQgdGV4dCA9IGxpbmtDb250ZW50O1xyXG5cdFx0XHRcdFx0aWYgKGxpbmtDb250ZW50LmluY2x1ZGVzKCd8JykpIHtcclxuXHRcdFx0XHRcdFx0W2hyZWYsIHRleHRdID0gbGlua0NvbnRlbnQuc3BsaXQoJ3wnKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnN0IGEgPSBjb250YWluZXIuY3JlYXRlRWwoJ2EnLCB7XHJcblx0XHRcdFx0XHRcdHRleHQ6IHRleHQsXHJcblx0XHRcdFx0XHRcdGF0dHI6IHsgJ2RhdGEtaHJlZic6IGhyZWYgfVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRhLmFkZENsYXNzKCdtZW51LWludGVybmFsLWxpbmsnKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGxpbmsubWF0Y2goL15cXFsuKlxcXVxcKC4qXFwpJC8pKSB7XHJcblx0XHRcdFx0XHQvLyBFeHRlcm5hbCBsaW5rXHJcblx0XHRcdFx0XHRjb25zdCBtYXRjaCA9IGxpbmsubWF0Y2goL15cXFsoLiopXFxdXFwoKC4qKVxcKSQvKTtcclxuXHRcdFx0XHRcdGlmIChtYXRjaCkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCB0ZXh0ID0gbWF0Y2hbMV07XHJcblx0XHRcdFx0XHRcdGNvbnN0IHVybCA9IG1hdGNoWzJdO1xyXG5cdFx0XHRcdFx0XHRjb25zdCBhID0gY29udGFpbmVyLmNyZWF0ZUVsKCdhJywge1xyXG5cdFx0XHRcdFx0XHRcdHRleHQ6IHRleHQsXHJcblx0XHRcdFx0XHRcdFx0YXR0cjogdXJsLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSA/IHt9IDogeyBocmVmOiB1cmwsIHRhcmdldDogJ19ibGFuaycsIHJlbDogJ25vb3BlbmVyIG5vcmVmZXJyZXInIH1cclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdGEuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly8gQWRkIGFwcHJvcHJpYXRlIGNsYXNzIGJhc2VkIG9uIGxpbmsgdHlwZVxyXG5cdFx0XHRcdFx0XHRpZiAodXJsLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSkge1xyXG5cdFx0XHRcdFx0XHRcdGEuYWRkQ2xhc3MoJ21lbnUtZmlsZS1saW5rJyk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0YS5hZGRDbGFzcygnbWVudS1leHRlcm5hbC1saW5rJyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHRcdFx0XHRcdGlmICh1cmwuc3RhcnRzV2l0aCgnZmlsZTovLycpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0cnkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBDb252ZXJ0IGZpbGUgVVJMIHRvIHBhdGggYW5kIGhhbmRsZSBXaW5kb3dzIHBhdGhzXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBmaWxlUGF0aCA9IGRlY29kZVVSSUNvbXBvbmVudCh1cmwuc3Vic3RyaW5nKDcpKTsgLy8gUmVtb3ZlICdmaWxlOi8vJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBIYW5kbGUgV2luZG93cyBwYXRocyB0aGF0IHN0YXJ0IHdpdGggL0M6XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChmaWxlUGF0aC5zdGFydHNXaXRoKCcvJykgJiYgZmlsZVBhdGguY2hhckF0KDIpID09PSAnOicpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxlUGF0aCA9IGZpbGVQYXRoLnN1YnN0cmluZygxKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnT3BlbmluZyBmaWxlIHBhdGg6JywgZmlsZVBhdGgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRzaGVsbC5vcGVuUGF0aChmaWxlUGF0aCk7XHJcblx0XHRcdFx0XHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gb3BlbiBmaWxlOicsIGVycm9yKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0d2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvbnVubG9hZCgpIHtcclxuXHRcdC8vIENsZWFudXAgaWYgbmVlZGVkXHJcblx0fVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxzQkFBdUI7QUFHdkIsSUFBTSxFQUFFLE1BQU0sSUFBSSxRQUFRLFVBQVU7QUFFcEMsSUFBcUIsYUFBckIsY0FBd0MsdUJBQU87QUFBQSxFQUM5QyxNQUFNLFNBQVM7QUFDZCxTQUFLLG1DQUFtQyxRQUFR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