Files
my-vault/.obsidian/plugins/obsidian-admonition/main.js
T

48 lines
100 KiB
JavaScript
Raw Normal View History

2026-04-13 11:01:33 +08:00
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var F=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var We=Object.prototype.hasOwnProperty;var Ge=(c,n,e)=>n in c?F(c,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[n]=e;var Ue=(c,n)=>{for(var e in n)F(c,e,{get:n[e],enumerable:!0})},Je=(c,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Ve(n))!We.call(c,o)&&o!==e&&F(c,o,{get:()=>n[o],enumerable:!(t=Fe(n,o))||t.enumerable});return c};var Ke=c=>Je(F({},"__esModule",{value:!0}),c);var u=(c,n,e)=>Ge(c,typeof n!="symbol"?n+"":n,e);var st={};Ue(st,{default:()=>ee});module.exports=Ke(st);var f=require("obsidian");var re='<svg viewBox="0 0 100 100" class="add-admonition-command"><path fill="currentColor" stroke="currentColor" d="M37,16c-4.4,0-8.3,3.3-9.2,7.6l-11.6,52c-0.5,2.2,0,4.3,1.2,5.9c1.2,1.6,3.2,2.6,5.4,2.6H79c4.4,0,8.3-3.3,9.2-7.6 l11.6-52c0.5-2.2,0-4.3-1.2-5.9C97.4,17,95.4,16,93.2,16L37,16z M37,20h56.2c1.1,0,1.8,0.4,2.2,1c0.5,0.6,0.7,1.4,0.4,2.6l-1,4.4 H30.8l0.8-3.6C32.1,22.2,34.8,20,37,20z M29.9,32H94l-9.6,43.6C83.9,77.8,81.2,80,79,80H22.8c-1.1,0-1.8-0.4-2.2-1 c-0.5-0.6-0.7-1.4-0.4-2.6L29.9,32z M0,36v4h19.6l0.9-4L0,36z M36.7,38c-0.8,0.1-1.4,0.7-1.6,1.5l-3.5,14c-0.2,0.6,0,1.2,0.4,1.7 c0.4,0.5,1,0.8,1.6,0.8H81c0.9,0,1.7-0.6,1.9-1.5l3.5-14c0.2-0.6,0-1.3-0.4-1.8c-0.4-0.5-1-0.8-1.6-0.8H37.1c-0.1,0-0.1,0-0.2,0 C36.9,38,36.8,38,36.7,38L36.7,38z M38.7,42h43.2l-2.4,10H36.2L38.7,42z M0,52v4h16l0.9-4H0z M0,68v4h12.4l0.9-4H0z"></path><circle fill="white" transform="translate(50 50) scale(3 3)" cx="8" cy="8" r="8"/><path fill="green" transform="translate(50 50) scale(3 3)" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z"/></svg>',V="admonition-add-command",le='<svg viewBox="0 0 100 100" class="remove-admonition-command"><path fill="currentColor" stroke="currentColor" d="M37,16c-4.4,0-8.3,3.3-9.2,7.6l-11.6,52c-0.5,2.2,0,4.3,1.2,5.9c1.2,1.6,3.2,2.6,5.4,2.6H79c4.4,0,8.3-3.3,9.2-7.6 l11.6-52c0.5-2.2,0-4.3-1.2-5.9C97.4,17,95.4,16,93.2,16L37,16z M37,20h56.2c1.1,0,1.8,0.4,2.2,1c0.5,0.6,0.7,1.4,0.4,2.6l-1,4.4 H30.8l0.8-3.6C32.1,22.2,34.8,20,37,20z M29.9,32H94l-9.6,43.6C83.9,77.8,81.2,80,79,80H22.8c-1.1,0-1.8-0.4-2.2-1 c-0.5-0.6-0.7-1.4-0.4-2.6L29.9,32z M0,36v4h19.6l0.9-4L0,36z M36.7,38c-0.8,0.1-1.4,0.7-1.6,1.5l-3.5,14c-0.2,0.6,0,1.2,0.4,1.7 c0.4,0.5,1,0.8,1.6,0.8H81c0.9,0,1.7-0.6,1.9-1.5l3.5-14c0.2-0.6,0-1.3-0.4-1.8c-0.4-0.5-1-0.8-1.6-0.8H37.1c-0.1,0-0.1,0-0.2,0 C36.9,38,36.8,38,36.7,38L36.7,38z M38.7,42h43.2l-2.4,10H36.2L38.7,42z M0,52v4h16l0.9-4H0z M0,68v4h12.4l0.9-4H0z"></path><circle fill="white" transform="translate(50 50) scale(3 3)" cx="8" cy="8" r="8"/><path fill="#dc3545" transform="translate(50 50) scale(3 3)" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z"/></svg>',W="admonition-remove-command",ce='<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"/></svg>',de="admonition-warning",pe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M304 48C304 74.51 282.5 96 256 96C229.5 96 208 74.51 208 48C208 21.49 229.5 0 256 0C282.5 0 304 21.49 304 48zM304 464C304 490.5 282.5 512 256 512C229.5 512 208 490.5 208 464C208 437.5 229.5 416 256 416C282.5 416 304 437.5 304 464zM0 256C0 229.5 21.49 208 48
`),s=0,r={};for(let b=0;b<a.length;b++){let k=Ye(a[b],o);if(k===!1)break;let v=i[k];if(r[v]!==void 0)break;r[v]=a[b].slice(o[k].length).trim(),++s}let{title:m,collapse:d,icon:g,color:h,metadata:p}=r;if(h&&/^\d+,\s*\d+,\s*\d+$/.test(h)&&(h=`rgb(${h})`),h&&(h.startsWith("hsb")||h.startsWith("hsv"))){let[b,k,v]=h.slice(4,-1).split(",").map(C=>Number(C.replace("%","").trim())),[E,T,I]=Xe(b,k,v);h=`rgb(${E}, ${T}, ${I})`}let w=a.slice(s).join(`
`);return d!==void 0&&d!=="none"&&d!=="open"&&d!=="closed"&&(d="closed"),"title"in r||e.noTitle||(m=t),m&&m.trim()===""&&d!==void 0&&d!=="none"&&(m=t,new he.Notice("An admonition must have a title if it is collapsible.")),{title:m,collapse:d,content:w,icon:g,color:h,metadata:p}}function Xe(c,n,e){let t=c/360,o=n/100,i=e/100,a=0,s=0,r=0,m=Math.floor(t*6),d=t*6-m,g=i*(1-o),h=i*(1-d*o),p=i*(1-(1-d)*o);switch(m%6){case 0:a=i,s=p,r=g;break;case 1:a=h,s=i,r=g;break;case 2:a=g,s=i,r=p;break;case 3:a=g,s=h,r=i;break;case 4:a=p,s=g,r=i;break;case 5:a=i,s=g,r=h;break}return[Math.round(a*255),Math.round(s*255),Math.round(r*255)]}var D=require("obsidian");var z=class extends D.Component{constructor(e){super();u(this,"plugin",e);u(this,"style");u(this,"heights",["height","padding-top","padding-bottom","margin-top","margin-bottom"]);u(this,"heightMap",new WeakMap);u(this,"indexing",[]);this.style=activeDocument.head.createEl("style",{attr:{id:"ADMONITIONS_CUSTOM_STYLE_SHEET"}})}get sheet(){return this.style.sheet}onload(){activeDocument.head.appendChild(this.style);for(let e of Object.values(this.plugin.data.userAdmonitions))this.addAdmonition(e);this.setUseSnippet()}calloutProcessor(e,t){let o=e?.querySelector(".callout");if(!o)return;let i=o.dataset.callout,a=i?this.plugin.admonitions[i]:void 0;if(!a)return;let s=o.querySelector(".callout-title"),r=o.querySelector(".callout-content");if(!s||!r)return;let m=t.getSectionInfo(e);if(m){let{text:g,lineStart:h,lineEnd:p}=m,w=g.split(`
`)[h],[,b]=w.match(/> \[!.+\|(.*)]/)??[];if(b&&(o.dataset.calloutMetadata=b),r&&(a.copy??this.plugin.data.copyButton)){let k=r.createDiv("admonition-content-copy");(0,D.setIcon)(k,"copy"),k.addEventListener("click",()=>{navigator.clipboard.writeText(g.split(`
`).slice(h+1,p+1).join(`
`).replace(/^> /gm,"")).then(()=>{new D.Notice("Callout content copied to clipboard.")})})}}a.noTitle&&!o.dataset.calloutFold&&s.querySelector(".callout-title-inner")?.textContent?.toLowerCase()===a.type.toLowerCase()&&s.addClass("no-title"),!a.noTitle&&this.plugin.data.autoCollapse&&!o.dataset.calloutFold&&this.setCollapsible(o);let d=s?.querySelector(".callout-title-inner");if(d&&a.title){let g=d.textContent?.toLowerCase()??"";(g===i?.toLowerCase()||g==="")&&d.setText(a.title)}this.plugin.data.dropShadow&&o.addClass("drop-shadow")}setCollapsible(e){let t=e.querySelector(".callout-title"),o=e.querySelector(".callout-content");if(!o||!t)return;e.addClass("is-collapsible"),this.plugin.data.defaultCollapseType==="closed"?(e.dataset.calloutFold="-",e.addClass("is-collapsed")):e.dataset.calloutFold="+";let i=t.createDiv("callout-fold");(0,D.setIcon)(i,"chevron-down");let a=e.hasClass("is-collapsed");if(this.getComputedHeights(o),a){let s={};for(let r of this.heights)s[r]="0px";o.setCssStyles(s)}t.onclick=s=>{this.collapse(e,s)}}collapse(e,t){t?.preventDefault();let o=e.querySelector(".callout-content");if(!o)return;let i=s=>{o.removeEventListener("transitionend",i),o.style.removeProperty("transition")};o.addEventListener("transitionend",i),o.setCssStyles({transition:"all 100ms cubic-bezier(.02, .01, .47, 1)"});let a=e.hasClass("is-collapsed");if(!t||t.button===0){let s=this.getComputedHeights(o);for(let r of this.heights)o.style.setProperty(r,a?s[r]:"0px");e.toggleClass("is-collapsed",!a)}}getComputedHeights(e){if(this.heightMap.has(e))return this.heightMap.get(e);let t=getComputedStyle(e),o={};for(let i of this.heights)o[i]=t.getPropertyValue(i);return this.heightMap.set(e,o),o}generateCssString(){let e=[`/* This snippet was auto-generated by the Admonitions plugin */
2026-04-13 11:01:33 +08:00
`];for(let t of Array.from(this.sheet.cssRules))e.push(t.cssText);return e.join(`
2026-04-13 11:01:33 +08:00
`)}addAdmonition(e){if(!this.sheet)return;let t=e.type.toLowerCase();if(this.indexing.contains(t)){let s=this.indexing.indexOf(t);this.sheet.deleteRule(s),this.indexing.splice(s,1)}if(this.plugin.isIconWithCss(e)){this.updateSnippet();return}let o=this.plugin.shouldInjectColor(e)?`--callout-color: ${e.color};`:"",i="";if(e.icon?.name&&e.icon?.type&&(e.icon.type==="obsidian"?i=`--callout-icon: ${e.icon.name}; /* Icon name from the Obsidian Icon Set */`:i=`--callout-icon: "${(this.plugin.iconManager.getIconNode(e.icon)?.outerHTML??"").replace(/(width|height)=(\\?"|')\d+(\\?"|')/g,"").replace(/"/g,'\\"')}";`),!o&&!i){this.updateSnippet();return}let a=`.callout[data-callout="${t}"] {
2026-04-13 11:01:33 +08:00
${o}
${i}
}`;this.indexing=[...this.indexing.filter(s=>s!==t),t],this.sheet.insertRule(a,this.sheet.cssRules.length),this.updateSnippet()}removeAdmonition(e){if(!this.sheet||!this.indexing.contains(e.type))return;let t=this.indexing.indexOf(e.type);this.sheet.deleteRule(t),this.indexing.splice(t,1),this.updateSnippet()}unload(){this.style.detach()}get snippetPath(){return this.plugin.app.customCss.getSnippetPath(this.plugin.data.snippetPath)}setUseSnippet(){this.plugin.data.useSnippet?this.updateSnippet():(this.plugin.app.customCss.setCssEnabledStatus(this.plugin.data.snippetPath,!1),this.plugin.app.customCss.readSnippets(),this.plugin.data.snippetPath&&this.plugin.app.vault.adapter.remove(this.snippetPath).catch(()=>{}))}async updateSnippet(){if(!this.plugin.data.useSnippet)return;let e=this.snippetPath,t=e.substring(0,e.lastIndexOf("/"));await this.plugin.app.vault.adapter.exists(t)||await this.plugin.app.vault.adapter.mkdir(t),await this.plugin.app.vault.adapter.write(e,this.generateCssString()),this.plugin.app.customCss.setCssEnabledStatus(this.plugin.data.snippetPath,!0),this.plugin.app.customCss.readSnippets()}};var q=require("obsidian");var U={fas:["0","1","2","3","4","5","6","7","8","9","a","address-book","address-book","address-card","address-card","address-card","alarm-clock","align-center","align-justify","align-left","align-right","anchor","anchor-circle-check","anchor-circle-exclamation","anchor-circle-xmark","anchor-lock","angle-down","angle-left","angle-right","angle-up","angles-down","angles-down","angles-left","angles-left","angles-right","angles-right","angles-up","angles-up","ankh","apple-whole","apple-whole","aquarius","archway","aries","arrow-down","arrow-down-1-9","arrow-down-1-9","arrow-down-1-9","arrow-down-9-1","arrow-down-9-1","arrow-down-9-1","arrow-down-a-z","arrow-down-a-z","arrow-down-a-z","arrow-down-long","arrow-down-long","arrow-down-short-wide","arrow-down-short-wide","arrow-down-short-wide","arrow-down-up-across-line","arrow-down-up-lock","arrow-down-wide-short","arrow-down-wide-short","arrow-down-wide-short","arrow-down-z-a","arrow-down-z-a","arrow-down-z-a","arrow-left","arrow-left-long","arrow-left-long","arrow-pointer","arrow-pointer","arrow-right","arrow-right-arrow-left","arrow-right-arrow-left","arrow-right-from-bracket","arrow-right-from-bracket","arrow-right-long","arrow-right-long","arrow-right-to-bracket","arrow-right-to-bracket","arrow-right-to-city","arrow-rotate-left","arrow-rotate-left","arrow-rotate-left","arrow-rotate-left","arrow-rotate-left","arrow-rotate-right","arrow-rotate-right","arrow-rotate-right","arrow-rotate-right","arrow-trend-down","arrow-trend-up","arrow-turn-down","arrow-turn-down","arrow-turn-up","arrow-turn-up","arrow-up","arrow-up-1-9","arrow-up-1-9","arrow-up-9-1","arrow-up-9-1","arrow-up-a-z","arrow-up-a-z","arrow-up-from-bracket","arrow-up-from-ground-water","arrow-up-from-water-pump","arrow-up-long","arrow-up-long","arrow-up-right-dots","arrow-up-right-from-square","arrow-up-right-from-square","arrow-up-short-wide","arrow-up-short-wide","arrow-up-wide-short","arrow-up-wide-short","arrow-up-z-a","arrow-up-z-a","arrows-down-to-line","arrows-down-to-people","arrows-left-right","arrows-left-right","arrows-left-right-to-line","arrows-rotate","arrows-rotate","arrows-rotate","arrows-spin","arrows-split-up-and-left","arrows-to-circle","arrows-to-dot","arrows-to-eye","arrows-turn-right","arrows-turn-to-dots","arrows-up-down","arrows-up-down","arrows-up-down-left-right","arrows-up-down-left-right","arrows-up-to-line","asterisk","at","atom","audio-description","austral-sign","award","b","baby","baby-carriage","baby-carriage","backward","backward-fast","backward-fast","backward-step","backward-step","bacon","bacteria","bacterium","bag-shopping","bag-shopping","bahai","bahai","baht-sign","ban","ban","ban-smoking","ban-smoking","bandage","bandage","bangladeshi-taka-sign","barcode","bars","bars","bars-progress","bars-progress","bars-staggered","bars-staggered","bars-staggered","baseball","baseball","baseball-bat-ball","basket-shopping","basket-shopping","basketball","bask
`),o.collapse!=="default"&&(a=`collapse: ${o.collapse}
`),e.replaceSelection(`\`\`\`ad-${o.type}
${i}${a}
${e.getSelection()}
2026-04-13 11:01:33 +08:00
\`\`\`
`);let s=e.getCursor();e.setCursor(s.line-3)},o.open()}}),this.addCommand({id:"insert-callout",name:"Insert callout",editorCallback:(e,t)=>{let o=new H(this);o.onClose=()=>{if(!o.insert)return;let i="",a="";if(o.collapse!=="default")switch(o.collapse){case"open":a="+";break;case"closed":a="-";break;case"none":a="";break}o.title.length&&o.title.toLowerCase()!==o.type.toLowerCase()&&(i=` ${o.title}`);let s=e.getSelection();e.replaceSelection(`> [!${o.type}]${a}${i}
> ${s.split(`
2026-04-13 11:01:33 +08:00
`).join(`
> `)}
`)},o.open()}})})}async downloadIcon(e){await this.iconManager.downloadIcon(e)}async removeIcon(e){await this.iconManager.removeIcon(e)}async postprocessor(e,t,o,i){if(this.admonitions[e])try{let a=typeof i=="string"?i:i?.sourcePath??this.app.workspace.getActiveFile()?.path??"",{title:s,collapse:r,content:m,icon:d,color:g,metadata:h}=ge(e,t,this.admonitions[e]);this.data.autoCollapse&&!r?r=this.data.defaultCollapseType??"open":r&&r.trim()==="none"&&(r="");let p=this.admonitions[e],w=d?this.iconManager.iconDefinitions.find(({name:E})=>d===E):null,b=this.getAdmonitionElement(e,s,w??(this.isIconWithCss(p)?{}:p.icon),g??(this.shouldInjectColor(p)?p.color:null),r,a,h);this.renderAdmonitionContent(b,e,m,i,a,t),r&&r!=="none"&&this.calloutManager.setCollapsible(b);let k=o.parentElement;k&&k.addClass("admonition-parent",`admonition-${e}-parent`),o.replaceWith(b);let v=this.app.workspace.getActiveViewOfType(f.MarkdownView);if(v?.editor?.cm?.state?.field(f.editorLivePreviewField)){let E=v.editor.cm;b.onClickEvent(T=>{if(T.defaultPrevented||T.detail>1||T.shiftKey)return;let C=T.target.closest("input, button, select, textarea, a[href], label, [contenteditable='true'], [tabindex]:not([tabindex='-1'])");if(!(C&&C!==b&&b.contains(C)))try{window.setTimeout(()=>{try{let M=E.posAtDOM(b);E.focus(),E.dispatch({selection:{head:M,anchor:M}})}catch{}},10)}catch{}})}return b}catch(a){console.error(a);let s=createEl("pre");s.createEl("code",{attr:{style:"color: var(--text-error) !important"}}).createSpan({text:`There was an error rendering the admonition:
2026-04-13 11:01:33 +08:00
`+t}),o.replaceWith(s)}}getAdmonitionElement(e,t,o,i,a,s,r){let m=createDiv({cls:`callout admonition admonition-${e} admonition-plugin ${t?.trim().length?"":"no-title"}`,attr:{style:i?`--callout-color: ${i};`:"","data-callout":e,"data-callout-fold":"","data-callout-metadata":r??""}}),d=m.createDiv({cls:`callout-title admonition-title ${t?.trim().length?"":"no-title"}`});if(t?.trim().length){let g=d.createDiv("callout-icon admonition-title-icon");o?.name&&o.type&&g.appendChild(this.iconManager.getIconNode(o)??createDiv());let h=new f.MarkdownRenderChild(d),p=d.createDiv("callout-title-inner admonition-title-content");f.MarkdownRenderer.render(this.app,t,p,s??"",h),p.firstElementChild?.instanceOf(HTMLParagraphElement)&&p.setChildrenInPlace(Array.from(p.firstElementChild.childNodes))}return a&&(m.addClass("is-collapsible"),a==="closed"&&m.addClass("is-collapsed")),this.data.dropShadow||m.addClass("no-drop"),m}renderAdmonitionContent(e,t,o,i,a,s){let r=new f.MarkdownRenderChild(e);if(r.containerEl=e,i&&typeof i!="string"&&i.addChild(r),o?.trim().length){let m=this.getAdmonitionContentElement(t,e,o);if(/^`{3,}mermaid/m.test(o)){let g=!e.hasAttribute("open");e.instanceOf(HTMLDetailsElement)&&e.setAttribute("open","open"),window.setTimeout(()=>{f.MarkdownRenderer.render(this.app,o,m,a,r),e.instanceOf(HTMLDetailsElement)&&g&&e.removeAttribute("open")},0)}else f.MarkdownRenderer.render(this.app,o,m,a,r);(!o.length||m.textContent.trim()==="")&&this.data.hideEmpty&&e.addClass("no-content");let d=m.querySelectorAll(".task-list-item-checkbox");if(d?.length){let g=s.split(`
`),h=0;d.forEach(p=>{let w=g.slice(h).findIndex(b=>/^[ \t>]*- \[.\]/.test(b));w!==-1&&(p.dataset.line=`${w+h+1}`,h=w+h+1)})}}}getAdmonitionContentElement(e,t,o){let i=t.createDiv("callout-content admonition-content");if(this.admonitions[e].copy??this.data.copyButton){let a=i.createDiv("admonition-content-copy");(0,f.setIcon)(a,"copy"),a.addEventListener("click",()=>{navigator.clipboard.writeText(o.trim()).then(()=>{new f.Notice("Admonition content copied to clipboard.")})})}return i}registerType(e){this.data.syntaxHighlight&&this.turnOnSyntaxHighlighting([e]);let t=e[0].toUpperCase()+e.slice(1);this.postprocessors.has(e)&&(f.MarkdownPreviewRenderer.unregisterCodeBlockPostProcessor(`ad-${e}`),t!==e&&f.MarkdownPreviewRenderer.unregisterCodeBlockPostProcessor(`ad-${t}`)),this.postprocessors.set(e,this.registerMarkdownCodeBlockProcessor(`ad-${e}`,(i,a,s)=>this.postprocessor(e,i,a,s))),t!==e&&this.registerMarkdownCodeBlockProcessor(`ad-${t}`,(i,a,s)=>this.postprocessor(e,i,a,s));let o=this.admonitions[e];o.command&&this.registerCommandsFor(o)}get admonitions(){return{...me,...this.data.userAdmonitions}}async addAdmonition(e){e.type=e.type.toLowerCase(),this.data.userAdmonitions={...this.data.userAdmonitions,[e.type]:e},this.registerType(e.type),this.calloutManager.addAdmonition(e),await this.saveSettings()}registerCommandsFor(e){e.command=!0,this.addCommand({id:`insert-${e.type}-callout`,name:`Insert ${e.type} Callout`,editorCheckCallback:(t,o,i)=>{if(t)return e.command;if(e.command)try{let a=o.getSelection();o.replaceSelection(`> [!${e.type}]
> ${a.split(`
2026-04-13 11:01:33 +08:00
`).join(`
> `)}
`);let s=o.getCursor();o.setCursor(s.line-2)}catch{new f.Notice("There was an issue inserting the admonition.")}}}),this.addCommand({id:`insert-${e.type}`,name:`Insert ${e.type}`,editorCheckCallback:(t,o,i)=>{if(t)return e.command;if(e.command)try{o.replaceSelection(`\`\`\`ad-${e.type}
2026-04-13 11:01:33 +08:00
${o.getSelection()}
2026-04-13 11:01:33 +08:00
\`\`\`
`);let a=o.getCursor();o.setCursor(a.line-2)}catch{new f.Notice("There was an issue inserting the admonition.")}}}),this.addCommand({id:`insert-${e.type}-with-title`,name:`Insert ${e.type} With Title`,editorCheckCallback:(t,o,i)=>{if(t)return e.command;if(e.command)try{let a=e.title??"";o.replaceSelection(`\`\`\`ad-${e.type}
title: ${a}
2026-04-13 11:01:33 +08:00
${o.getSelection()}
2026-04-13 11:01:33 +08:00
\`\`\`
`);let s=o.getCursor();o.setCursor(s.line-3)}catch{new f.Notice("There was an issue inserting the admonition.")}}})}unregisterType(e){this.data.syntaxHighlight&&this.turnOffSyntaxHighlighting([e.type]),e.command&&this.unregisterCommandsFor(e);let t=this.postprocessors.get(e.type);t&&(f.MarkdownPreviewRenderer.unregisterPostProcessor(t),f.MarkdownPreviewRenderer.unregisterCodeBlockPostProcessor(`ad-${e.type}`),this.postprocessors.delete(e.type))}async removeAdmonition(e){this.data.userAdmonitions[e.type]&&delete this.data.userAdmonitions[e.type],this.unregisterType(e),this.calloutManager.removeAdmonition(e),await this.saveSettings()}unregisterCommandsFor(e){e.command=!1,this.removeCommand(`insert-${e.type}-callout`),this.removeCommand(`insert-${e.type}`),this.removeCommand(`insert-${e.type}-with-title`)}async saveSettings(){this.data.version=this.manifest.version;let e={...this.data};delete e.msDocConverted,await this.saveData(e)}async loadSettings(){let e=await this.loadData();if(this.data=Object.assign({},at,e),this.data.userAdmonitions){if(!this.data.version||Number(this.data.version.split(".")[0])<5)for(let t in this.data.userAdmonitions)Object.hasOwn(this.data.userAdmonitions[t],"type")||(this.data.userAdmonitions[t]={...this.data.userAdmonitions[t],icon:{type:"font-awesome",name:this.data.userAdmonitions[t].icon}});for(let t of Object.keys(this.data.userAdmonitions)){let o=this.data.userAdmonitions[t];o.color&&/^\d+,\s*\d+,\s*\d+$/.test(o.color)&&(o.color=`rgb(${o.color})`)}}if(!this.data.rpgDownloadedOnce&&this.data.userAdmonitions&&Object.values(this.data.userAdmonitions).some(t=>t.icon?.type==="rpg")&&!this.data.icons.includes("rpg"))try{await this.downloadIcon("rpg"),this.data.rpgDownloadedOnce=!0}catch{}if(this.data.useFontAwesome&&this.data.userAdmonitions){let t=new Set;for(let o of Object.values(this.data.userAdmonitions)){if(o.icon?.type!=="font-awesome"||!o.icon.name)continue;let i=K(o.icon.name);i&&(o.icon.type=i,t.add(i))}for(let o of t)if(!this.data.icons.includes(o))try{await this.downloadIcon(o)}catch{}this.data.useFontAwesome=!1}if(this.data.userAdmonitions)for(let t of Object.keys(this.data.userAdmonitions)){let o=t.toLowerCase();o!==t&&(this.data.userAdmonitions[o]={...this.data.userAdmonitions[t],type:o},delete this.data.userAdmonitions[t])}await this.saveSettings()}turnOnSyntaxHighlighting(e=Object.keys(this.admonitions)){this.data.syntaxHighlight&&(e.forEach(t=>{let o=`${t}`.match(/^([\w+#-]*)[^\n`]*$/);if(!o)return;let[,i]=o;window.CodeMirror.defineMode(`ad-${i}`,(a,s)=>window.CodeMirror.getMode({},"hypermd"))}),this.app.workspace.onLayoutReady(()=>this.app.workspace.iterateCodeMirrors(t=>t.setOption("mode",t.getOption("mode")))))}turnOffSyntaxHighlighting(e=Object.keys(this.admonitions)){e.forEach(t=>{Object.hasOwn(window.CodeMirror.modes,`ad-${t}`)&&delete window.CodeMirror.modes[`ad-${t}`]}),this.app.workspace.onLayoutReady(()=>this.app.workspace.iterateCodeMirrors(t=>t.setOption("mode",t.getOption("mode"))))}onunload(){console.debug("Obsidian Admonition unloaded"),this.postprocessors.clear(),this.turnOffSyntaxHighlighting()}};
2026-04-13 11:01:33 +08:00
/* nosourcemap */