From 9b730f83f9104c570471beb6eb6114c218b91917 Mon Sep 17 00:00:00 2001 From: Ulf Ninow Date: Tue, 15 Nov 2022 23:47:19 +0100 Subject: [PATCH] fix: ignore main.js --- .gitignore | 2 +- main.js | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 main.js diff --git a/.gitignore b/.gitignore index 2a8ea34..c86e1d0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,6 @@ yarn.lock .npmrc dist/ .DS_STORE -#main.js +main.js styles.css .hotreload \ No newline at end of file diff --git a/main.js b/main.js deleted file mode 100644 index a6dc6d8..0000000 --- a/main.js +++ /dev/null @@ -1,2 +0,0 @@ -var B=Object.create;var f=Object.defineProperty,$=Object.defineProperties,Y=Object.getOwnPropertyDescriptor,X=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertyNames,M=Object.getOwnPropertySymbols,q=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var A=(i,e,t)=>e in i?f(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,h=(i,e)=>{for(var t in e||(e={}))H.call(e,t)&&A(i,t,e[t]);if(M)for(var t of M(e))G.call(e,t)&&A(i,t,e[t]);return i},p=(i,e)=>$(i,X(e)),L=i=>f(i,"__esModule",{value:!0});var U=(i,e)=>{L(i);for(var t in e)f(i,t,{get:e[t],enumerable:!0})},J=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of z(e))!H.call(i,s)&&s!=="default"&&f(i,s,{get:()=>e[s],enumerable:!(t=Y(e,s))||t.enumerable});return i},g=i=>J(L(f(i!=null?B(q(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var r=(i,e,t)=>new Promise((s,n)=>{var a=d=>{try{c(t.next(d))}catch(u){n(u)}},o=d=>{try{c(t.throw(d))}catch(u){n(u)}},c=d=>d.done?s(d.value):Promise.resolve(d.value).then(a,o);c((t=t.apply(i,e)).next())});U(exports,{default:()=>O});var j=g(require("obsidian"));var D=g(require("obsidian"));function v(i,e){let t=Object.assign({},e,i);return Object.keys(t).reduce((s,n)=>{let a=i[n],o=typeof a=="undefined"||a===null;return p(h({},s),{[n]:o?e[n]:a})},{})}function N(i,e){try{let t=(0,D.parseYaml)(i);return v(t,e)}catch(t){return e}}var m={None:"",TOC:"[TOC]",_TOC_:"__TOC__",AzureWiki:"_TOC_",DevonThink:"{{toc}}",TheBrain:"[/toc/]"};var P={style:"bullet",min_depth:2,max_depth:6,externalStyle:"None",supportAllMatchers:!1,allow_inconsistent_headings:!1},y="dynamic-toc",R=`.${y}`,I=Object.keys(m);var T=g(require("obsidian"));var K=g(require("obsidian"));var _=class{constructor(e){this.cached=e}get level(){return this.cached.level}get rawHeading(){return this.cached.heading}get isLink(){return/\[\[(.*?)\]\]/.test(this.cached.heading)}get href(){return this.isLink?`#${this.parseMarkdownLink(this.rawHeading).split("|").join(" ")}`:null}get markdownHref(){if(!this.isLink)return`[[#${this.rawHeading}]]`;let t=this.parseMarkdownLink(this.rawHeading).split("|");return t.length>1?`[[#${t.join(" ")}|${t[1]}]]`:`[[#${t[0]}]]`}parseMarkdownLink(e){let[,t]=e.match(/\[\[(.*?)]\]/)||[];return t}};function C(i,e){if(!(i==null?void 0:i.headings))return"";let{headings:t}=i,s=t.filter(a=>!!a&&a.level>=e.min_depth&&a.level<=e.max_depth);if(!s.length)return"";let n=s.map(a=>new _(a));return e.style==="inline"?ne(n,e):te(n,e)}function V(i,e){if(!e)return;let t=(s,n)=>{let a=Z(n.link,i).headings;return p(h({},s),{[n.original]:a})};return e.reduce(t,{})}function F(i,e){let t=n=>{var c;let a=n.level,o=(c=e[n.heading])==null?void 0:c.filter(d=>d.level>0).map(Q(a));return o?[n,...o]:[n]};return{headings:i.flatMap(t)}}function Q(i){return e=>p(h({},e),{level:e.level+i-1})}function Z(i,e){let{path:t,subpath:s}=(0,K.parseLinktext)(i),n=e.getFirstLinkpathDest(t,s);return e.getCache(n.path)}function ee(i,e,t){let s=t.style==="number"&&"1."||"-";return!t.varied_style||i.level===e?s:t.style==="number"?"-":"1."}function te(i,e){let t=i[0].level,s=[];e.title&&s.push(`${e.title}`);let n=0;for(let a=0;a1&&(d=new Array(n+1)),n=d.length);let u=d.fill(" ").join("");s.push(`${u}${c} ${o.markdownHref}`)}return s.join(` -`)}function ne(i,e){let t=i.map(a=>a.level).reduce((a,o)=>Math.min(a,o)),s=i.filter(a=>a.level===t),n=e.delimiter?e.delimiter:"|";return s.map(a=>`${a.markdownHref}`).join(` ${n.trim()} `)}var S=class extends T.MarkdownRenderChild{constructor(e,t,s,n){super(n);this.app=e;this.config=t;this.filePath=s;this.container=n;this.onActiveLeafChangeHandler=e=>{let t=this.app.workspace.getActiveFile();this.filePath=t.path,this.onFileChangeHandler(t)};this.onSettingsChangeHandler=e=>{this.render(v(this.config,e))};this.onFileChangeHandler=e=>{this.filePath=e.path,!e.deleted&&this.render()}}onload(){return r(this,null,function*(){yield this.render(),this.registerEvent(this.app.metadataCache.on("dynamic-toc:settings",this.onSettingsChangeHandler)),this.registerEvent(this.app.workspace.on("active-leaf-change",this.onActiveLeafChangeHandler)),this.registerEvent(this.app.metadataCache.on("changed",this.onFileChangeHandler))})}render(e){return r(this,null,function*(){this.container.empty(),this.container.classList.add(y);let t=this.app.metadataCache.getCache(this.filePath),{headings:s,embeds:n}=t,a=V(this.app.metadataCache,n),o=a?F(s,a):t,c=C(o,e||this.config);yield T.MarkdownRenderer.renderMarkdown(c,this.container,this.filePath,this)})}};var l=g(require("obsidian"));var x=class extends l.PluginSettingTab{constructor(e,t){super(e,t);this.plugin=t}display(){let{containerEl:e}=this;e.empty(),e.createEl("h2",{text:"Dynamic Table of Contents Settings"}),new l.Setting(e).setName("List Style").setDesc("The table indication").addDropdown(s=>s.addOptions({bullet:"Bullet",number:"Number",inline:"Inline"}).setValue(this.plugin.settings.style).onChange(n=>r(this,null,function*(){this.plugin.settings.style=n,yield this.plugin.saveSettings()}))),new l.Setting(e).setName("Enable varied style").setDesc("Varied style allows for the most top level heading to match your list style, then subsequent levels to be the opposite. For example if your list style is number, then your level 2 headings will be number, any levels lower then 2 will be bullet and vice versa.").addToggle(s=>s.setValue(this.plugin.settings.varied_style).onChange(n=>r(this,null,function*(){this.plugin.settings.varied_style=n,yield this.plugin.saveSettings()}))),new l.Setting(e).setName("Delimiter").setDesc("Only used when list style is inline. The delimiter between the list items").addText(s=>s.setPlaceholder("e.g. -, *, ~").setValue(this.plugin.settings.delimiter).onChange(n=>r(this,null,function*(){this.plugin.settings.delimiter=n,this.plugin.saveSettings()}))),new l.Setting(e).setName("Minimum Header Depth").setDesc("The default minimum header depth to render").addSlider(s=>s.setLimits(1,6,1).setValue(this.plugin.settings.min_depth).setDynamicTooltip().onChange(n=>r(this,null,function*(){n>this.plugin.settings.max_depth?new l.Notice("Min Depth is higher than Max Depth"):(this.plugin.settings.min_depth=n,yield this.plugin.saveSettings())}))),new l.Setting(e).setName("Maximum Header Depth").setDesc("The default maximum header depth to render").addSlider(s=>s.setLimits(1,6,1).setValue(this.plugin.settings.max_depth).setDynamicTooltip().onChange(n=>r(this,null,function*(){ns.setPlaceholder("## Table of Contents").setValue(this.plugin.settings.title).onChange(n=>r(this,null,function*(){this.plugin.settings.title=n,this.plugin.saveSettings()})));let t=new l.Setting(e).setName("External rendering support").setDesc("Different markdown viewers provided Table of Contents support such as [TOC] or [[_TOC_]]. You may need to restart Obsidian for this to take effect.").addDropdown(s=>s.addOptions(Object.keys(m).reduce((n,a)=>{let o=m[a];return p(h({},n),{[a]:o})},{})).setDisabled(this.plugin.settings.supportAllMatchers).setValue(this.plugin.settings.externalStyle).onChange(n=>r(this,null,function*(){this.plugin.settings.externalStyle=n,yield this.plugin.saveSettings()})));new l.Setting(e).setName("Support all external renderers").setDesc("Cannot be used in conjunction with individual renderers").addToggle(s=>s.setValue(this.plugin.settings.supportAllMatchers).onChange(n=>r(this,null,function*(){this.plugin.settings.supportAllMatchers=n,t.setDisabled(n),yield this.plugin.saveSettings()}))),new l.Setting(e).setName("Allow inconsistent heading levels").setDesc("NOT RECOMMENDED (may be removed in future): If enabled, the table of contents will be generated even if the header depth is inconsistent. This may cause the table of contents to be rendered incorrectly.").addToggle(s=>s.setValue(this.plugin.settings.allow_inconsistent_headings).onChange(n=>r(this,null,function*(){this.plugin.settings.allow_inconsistent_headings=n,yield this.plugin.saveSettings()})))}};var b=g(require("obsidian"));var E=class extends b.MarkdownRenderChild{constructor(e,t,s,n,a){super(n);this.app=e;this.settings=t;this.filePath=s;this.match=a;this.onSettingsChangeHandler=()=>{this.render()};this.onFileChangeHandler=e=>{e.deleted||e.path!==this.filePath||this.render()}}static findMatch(e,t){return Array.from(e.querySelectorAll("p, span, a")).find(n=>n.textContent.toLowerCase().includes(t.toLowerCase()))||null}onload(){return r(this,null,function*(){this.render(),this.registerEvent(this.app.metadataCache.on("dynamic-toc:settings",this.onSettingsChangeHandler)),this.registerEvent(this.app.metadataCache.on("changed",this.onFileChangeHandler))})}render(){return r(this,null,function*(){let e=C(this.app.metadataCache.getCache(this.filePath),this.settings),t=document.createElement("div");t.classList.add(y),yield b.MarkdownRenderer.renderMarkdown(e,t,this.filePath,this),this.match.style.display="none";let s=this.containerEl.querySelector(R);s&&this.containerEl.removeChild(s),this.match.parentNode.appendChild(t)})}};var W=g(require("obsidian")),w={"code-block":{value:"```toc\n```",label:"Code block"},TOC:{value:"[TOC]",label:"[TOC]"},_TOC_:{label:"__TOC__",value:"[[__TOC__]]"},AzureWiki:{label:"_TOC_",value:"[[_TOC_]]"},DevonThink:{label:"{{toc}}",value:"{{toc}}"},TheBrain:{label:"[/toc/]",value:"[/toc/]"}},k=class extends W.FuzzySuggestModal{constructor(e,t){super(e);this.app=e,this.plugin=t,this.setPlaceholder("Type name of table of contents type...")}getItems(){return this.plugin.settings.supportAllMatchers?Object.keys(w):this.plugin.settings.externalStyle!=="None"?["code-block",this.plugin.settings.externalStyle]:["code-block"]}getItemText(e){let t=Object.keys(w).find(s=>s===e);return w[t].label}onChooseItem(e){this.callback(w[e].value)}start(e){this.callback=e,this.open()}};var O=class extends j.Plugin{constructor(){super(...arguments);this.onload=()=>r(this,null,function*(){yield this.loadSettings(),this.addSettingTab(new x(this.app,this)),this.addCommand({id:"dynamic-toc-insert-command",name:"Insert Table of Contents",editorCallback:e=>{new k(this.app,this).start(s=>{e.setCursor(e.getCursor().line,0),e.replaceSelection(s)})}}),this.registerMarkdownCodeBlockProcessor("toc",(e,t,s)=>{let n=N(e,this.settings);s.addChild(new S(this.app,n,s.sourcePath,t))}),this.registerMarkdownPostProcessor((e,t)=>{let s=this.settings.supportAllMatchers===!0?I:[this.settings.externalStyle];for(let n of s){if(!n||n==="None")continue;let a=E.findMatch(e,m[n]);!(a==null?void 0:a.parentNode)||t.addChild(new E(this.app,this.settings,t.sourcePath,e,a))}})});this.loadSettings=()=>r(this,null,function*(){this.settings=Object.assign({},P,yield this.loadData())});this.saveSettings=()=>r(this,null,function*(){yield this.saveData(this.settings),this.app.metadataCache.trigger("dynamic-toc:settings",this.settings)})}};0&&(module.exports={});