WritingSpace/.obsidian/plugins/homepage/main.js

4 lines
36 KiB
JavaScript
Raw Normal View History

2025-01-22 08:00:25 +00:00
"use strict";var Ve=Object.create;var Y=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ue=Object.getPrototypeOf,Ke=Object.prototype.hasOwnProperty;var je=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),ze=(a,e)=>{for(var t in e)Y(a,t,{get:e[t],enumerable:!0})},he=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Be(e))!Ke.call(a,i)&&i!==t&&Y(a,i,{get:()=>e[i],enumerable:!(n=Ye(e,i))||n.enumerable});return a};var qe=(a,e,t)=>(t=a!=null?Ve(Ue(a)):{},he(e||!a||!a.__esModule?Y(t,"default",{value:a,enumerable:!0}):t,a)),Ge=a=>he(Y({},"__esModule",{value:!0}),a);var Ce=je(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});var g=require("obsidian"),ne="YYYY-MM-DD",ae="gggg-[W]ww",Ne="YYYY-MM",ke="YYYY-[Q]Q",Pe="YYYY";function F(a){let e=window.app.plugins.getPlugin("periodic-notes");return e&&e.settings?.[a]?.enabled}function O(){try{let{internalPlugins:a,plugins:e}=window.app;if(F("daily")){let{format:o,folder:s,template:c}=e.getPlugin("periodic-notes")?.settings?.daily||{};return{format:o||ne,folder:s?.trim()||"",template:c?.trim()||""}}let{folder:t,format:n,template:i}=a.getPluginById("daily-notes")?.instance?.options||{};return{format:n||ne,folder:t?.trim()||"",template:i?.trim()||""}}catch(a){console.info("No custom daily note settings found!",a)}}function L(){try{let a=window.app.plugins,e=a.getPlugin("calendar")?.options,t=a.getPlugin("periodic-notes")?.settings?.weekly;if(F("weekly"))return{format:t.format||ae,folder:t.folder?.trim()||"",template:t.template?.trim()||""};let n=e||{};return{format:n.weeklyNoteFormat||ae,folder:n.weeklyNoteFolder?.trim()||"",template:n.weeklyNoteTemplate?.trim()||""}}catch(a){console.info("No custom weekly note settings found!",a)}}function x(){let a=window.app.plugins;try{let e=F("monthly")&&a.getPlugin("periodic-notes")?.settings?.monthly||{};return{format:e.format||Ne,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom monthly note settings found!",e)}}function C(){let a=window.app.plugins;try{let e=F("quarterly")&&a.getPlugin("periodic-notes")?.settings?.quarterly||{};return{format:e.format||ke,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom quarterly note settings found!",e)}}function H(){let a=window.app.plugins;try{let e=F("yearly")&&a.getPlugin("periodic-notes")?.settings?.yearly||{};return{format:e.format||Pe,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom yearly note settings found!",e)}}function De(...a){let e=[];for(let n=0,i=a.length;n<i;n++)e=e.concat(a[n].split("/"));let t=[];for(let n=0,i=e.length;n<i;n++){let o=e[n];!o||o==="."||t.push(o)}return e[0]===""&&t.unshift(""),t.join("/")}function Qe(a){let e=a.substring(a.lastIndexOf("/")+1);return e.lastIndexOf(".")!=-1&&(e=e.substring(0,e.lastIndexOf("."))),e}async function Je(a){let e=a.replace(/\\/g,"/").split("/");if(e.pop(),e.length){let t=De(...e);window.app.vault.getAbstractFileByPath(t)||await window.app.vault.createFolder(t)}}async function I(a,e){e.endsWith(".md")||(e+=".md");let t=g.normalizePath(De(a,e));return await Je(t),t}async function A(a){let{metadataCache:e,vault:t}=window.app,n=g.normalizePath(a);if(n==="/")return Promise.resolve(["",null]);try{let i=e.getFirstLinkpathDest(n,""),o=await t.cachedRead(i),s=window.app.foldManager.load(i);return[o,s]}catch(i){return console.error(`Failed to read the daily note template '${n}'`,i),new g.Notice("Failed to read the daily note template"),["",null]}}function k(a,e="day"){let t=a.clone().startOf(e).format();return`${e}-${t}`}function Te(a){return a.replace(/\[[^\]]*\]/g,"")}function Ze(a,e){if(e==="week"){let t=Te(a);return/w{1,2}/i.test(t)&&(/M{1,4}/.test(t)||/D{1,4}/.test(t))}return!1}function M(a,e){return Ee(a.basename,e)}function Xe(a,e){return Ee(Qe(a),e)}function Ee(a,e){let n={day:O,week:L,month:x,quarter:C,year:H}[e]().format.split("/").pop(),i=window.moment(a,n,!0);if(!i.isValid())return null;if(Ze(n,e)&&e==="week"){let o=Te(n);if
${d} devices. To edit ${d} settings, use a ${d} device.`,r.settingEl.append(p)}this.addHeading("Commands","commandsHeading"),this.containerEl.createDiv({cls:"nv-command-desc setting-item-description",text:"Select commands that will be executed when opening the homepage."}),this.commandBox=new G(this),this.addHeading("Vault environment","vaultHeading"),this.addDropdown("Opening method","Determine how extant tabs and views are affected on startup.","openMode",J),this.addDropdown("Manual opening method","Determine how extant tabs and views are affected when opening with commands or the ribbon button.","manualOpenMode",J),this.addToggle("Pin","Pin the homepage when opening.","pin"),this.addToggle("Hide release notes","Never display release notes when Obsidian updates.","hideReleaseNotes"),this.addToggle("Auto-create","When the homepage doesn't exist, create a note with its name.","autoCreate"),this.elements.autoCreate.descEl.createDiv({text:"If this vault is synced using unofficial services, this may lead to content being overwritten.",cls:"mod-warning"}),this.addHeading("Opened view","paneHeading"),this.addDropdown("Homepage view","Choose what view to open the homepage in.","view",ge),this.addToggle("Revert view on close","When navigating away from the homepage, restore the default view.","revertView"),this.addToggle("Auto-scroll","When opening the homepage, scroll to the bottom and focus on the last line.","autoScroll"),"dataview"in this.plugin.communityPlugins&&(this.addToggle("Refresh Dataview","Always attempt to reload Dataview views when opening the homepage.","refreshDataview"),this.elements.refreshDataview.descEl.createDiv({text:"Requires Dataview auto-refresh to be enabled.",attr:{class:"mod-warning"}})),y.Platform.isMobile||new y.ButtonComponent(this.containerEl).setButtonText("Copy debug info").setClass("nv-debug-button").onClick(async()=>await this.copyDebugInfo()),(t||n==="Nothing")&&this.disableSettings("openWhenEmpty","alwaysApply","vaultHeading","openMode","manualOpenMode","autoCreate","pin"),(t||["Nothing","Graph view"].includes(n))&&this.disableSettings("paneHeading","view","revertView","autoScroll","refreshDataview"),(!this.plugin.homepage.data.openOnStartup||i)&&this.disableSetting("openMode"),K.includes(this.plugin.homepage.data.kind)&&this.disableSetting("autoCreate")}disableSetting(t){this.elements[t]?.settingEl.setAttribute("nv-greyed","")}disableSettings(...t){t.forEach(n=>this.disableSetting(n))}addHeading(t,n){let i=new y.Setting(this.containerEl).setHeading().setName(t);this.elements[n]=i}addDropdown(t,n,i,o,s){let c=new y.Setting(this.containerEl).setName(t).setDesc(n).addDropdown(async m=>{for(let r of Object.values(o))m.addOption(r,r);m.setValue(this.plugin.homepage.data[i]),m.onChange(async r=>{this.plugin.homepage.data[i]=r,await this.plugin.homepage.save(),s&&s(r)})});return this.elements[i]=c,c}addToggle(t,n,i,o){let s=new y.Setting(this.containerEl).setName(t).setDesc(n).addToggle(c=>c.setValue(this.plugin.homepage.data[i]).onChange(async m=>{this.plugin.homepage.data[i]=m,await this.plugin.homepage.save(),o&&o(m)}));return this.elements[i]=s,s}async copyDebugInfo(){let t=this.app.vault.config,n={...this.settings,_defaultViewMode:t.defaultViewMode||"default",_livePreview:t.livePreview!==void 0?t.livePreview:"default",_focusNewTab:t.focusNewTab!==void 0?t.focusNewTab:"default",_plugins:Object.keys(this.plugin.communityPlugins),_internalPlugins:Object.values(this.plugin.internalPlugins).flatMap(i=>i.enabled?[i.instance.id]:[]),_obsidianVersion:window.electron?.ipcRenderer.sendSync("version")||"unknown"};await navigator.clipboard.writeText(JSON.stringify(n)),new y.Notice("Copied homepage debug information to clipboard")}};var yt=["markdown","canvas","kanban"],W="Main Homepage",V="Mobile Homepage",J=(n=>(n.ReplaceAll="Replace all open notes",n.ReplaceLast="Replace last note",n.Retain="Keep open notes",n))(J||{}),ge=(i=>(i.Default="Default view",i.Reading="Reading view",i.Source="Editing view (Source)",i.LivePreview="Editing view (Live Preview)",i))(ge||{}),R=(r=>(r.File="File",r.Workspace=
/* nosourcemap */