diff --git a/.obsidian/app.json b/.obsidian/app.json index c6a70f9..d167675 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -20,5 +20,6 @@ "landscape": false, "margin": "0", "downscalePercent": 100 - } + }, + "showInlineTitle": true } \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index d1f1c66..c84ea64 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -28,5 +28,8 @@ "tabout", "obsidian-tidy-footnotes", "obsidian-citation-plugin", - "obsidian-quiet-outline" + "obsidian-quiet-outline", + "inline-spoilers", + "daily-notes-editor", + "tasknotes" ] \ No newline at end of file diff --git a/.obsidian/plugins/homepage/main.js b/.obsidian/plugins/homepage/main.js index c77ad66..b4f167c 100644 --- a/.obsidian/plugins/homepage/main.js +++ b/.obsidian/plugins/homepage/main.js @@ -1,3 +1,3 @@ -"use strict";var Qe=Object.create;var z=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var tt=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),at=(n,t)=>{for(var e in t)z(n,e,{get:t[e],enumerable:!0})},ve=(n,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Xe(t))!et.call(n,i)&&i!==e&&z(n,i,{get:()=>t[i],enumerable:!(a=$e(t,i))||a.enumerable});return n};var nt=(n,t,e)=>(e=n!=null?Qe(Ze(n)):{},ve(t||!n||!n.__esModule?z(e,"default",{value:n,enumerable:!0}):e,n)),it=n=>ve(z({},"__esModule",{value:!0}),n);var Ie=tt(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});var m=require("obsidian"),ie="YYYY-MM-DD",oe="gggg-[W]ww",Te="YYYY-MM",Se="YYYY-[Q]Q",Me="YYYY";function H(n){let t=window.app.plugins.getPlugin("periodic-notes");return t&&t.settings?.[n]?.enabled}function W(){try{let{internalPlugins:n,plugins:t}=window.app;if(H("daily")){let{format:o,folder:s,template:c}=t.getPlugin("periodic-notes")?.settings?.daily||{};return{format:o||ie,folder:s?.trim()||"",template:c?.trim()||""}}let{folder:e,format:a,template:i}=n.getPluginById("daily-notes")?.instance?.options||{};return{format:a||ie,folder:e?.trim()||"",template:i?.trim()||""}}catch(n){console.info("No custom daily note settings found!",n)}}function I(){try{let n=window.app.plugins,t=n.getPlugin("calendar")?.options,e=n.getPlugin("periodic-notes")?.settings?.weekly;if(H("weekly"))return{format:e.format||oe,folder:e.folder?.trim()||"",template:e.template?.trim()||""};let a=t||{};return{format:a.weeklyNoteFormat||oe,folder:a.weeklyNoteFolder?.trim()||"",template:a.weeklyNoteTemplate?.trim()||""}}catch(n){console.info("No custom weekly note settings found!",n)}}function V(){let n=window.app.plugins;try{let t=H("monthly")&&n.getPlugin("periodic-notes")?.settings?.monthly||{};return{format:t.format||Te,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom monthly note settings found!",t)}}function _(){let n=window.app.plugins;try{let t=H("quarterly")&&n.getPlugin("periodic-notes")?.settings?.quarterly||{};return{format:t.format||Se,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom quarterly note settings found!",t)}}function U(){let n=window.app.plugins;try{let t=H("yearly")&&n.getPlugin("periodic-notes")?.settings?.yearly||{};return{format:t.format||Me,folder:t.folder?.trim()||"",template:t.template?.trim()||""}}catch(t){console.info("No custom yearly note settings found!",t)}}function Fe(...n){let t=[];for(let a=0,i=n.length;a{let ee=a(),te=n.clone().set({hour:ee.get("hour"),minute:ee.get("minute"),second:ee.get("second")});return M&&te.add(parseInt(N,10),v),y?te.format(y.substring(1).trim()):te.format(o)}).replace(/{{\s*yesterday\s*}}/gi,n.clone().subtract(1,"day").format(o)).replace(/{{\s*tomorrow\s*}}/gi,n.clone().add(1,"d").format(o)));return t.foldManager.save(f,d),f}catch(f){console.error(`Failed to create file: '${h}'`,f),new m.Notice("Unable to create new file.")}}function pt(n,t){return t[P(n,"day")]??null}function dt(){let{vault:n}=window.app,{folder:t}=W(),e=n.getAbstractFileByPath(m.normalizePath(t));if(!e)throw new se("Failed to find daily notes folder");let a={};return m.Vault.recurseChildren(e,i=>{if(i instanceof m.TFile){let o=L(i,"day");if(o){let s=P(o,"day");a[s]=i}}}),a}var re=class extends Error{};function ut(){let{moment:n}=window,t=n.localeData()._week.dow,e=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;t;)e.push(e.shift()),t--;return e}function gt(n){return ut().indexOf(n.toLowerCase())}async function Le(n){let{vault:t}=window.app,{template:e,format:a,folder:i}=I(),[o,s]=await A(e),c=n.format(a),d=await Y(i,c);try{let p=await t.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,N)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),N?y.format(N.substring(1).trim()):y.format(a)}).replace(/{{\s*title\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(h,f,g)=>{let T=gt(f);return n.weekday(T).format(g.trim())}));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function mt(n,t){return t[P(n,"week")]??null}function ht(){let n={};if(!Re())return n;let{vault:t}=window.app,{folder:e}=I(),a=t.getAbstractFileByPath(m.normalizePath(e));if(!a)throw new re("Failed to find weekly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"week");if(o){let s=P(o,"week");n[s]=i}}}),n}var le=class extends Error{};async function Ce(n){let{vault:t}=window.app,{template:e,format:a,folder:i}=V(),[o,s]=await A(e),c=n.format(a),d=await Y(i,c);try{let p=await t.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,N)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),N?y.format(N.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function ft(n,t){return t[P(n,"month")]??null}function wt(){let n={};if(!xe())return n;let{vault:t}=window.app,{folder:e}=V(),a=t.getAbstractFileByPath(m.normalizePath(e));if(!a)throw new le("Failed to find monthly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"month");if(o){let s=P(o,"month");n[s]=i}}}),n}var ce=class extends Error{};async function yt(n){let{vault:t}=window.app,{template:e,format:a,folder:i}=_(),[o,s]=await A(e),c=n.format(a),d=await Y(i,c);try{let p=await t.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,N)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),N?y.format(N.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function vt(n,t){return t[P(n,"quarter")]??null}function bt(){let n={};if(!He())return n;let{vault:t}=window.app,{folder:e}=_(),a=t.getAbstractFileByPath(m.normalizePath(e));if(!a)throw new ce("Failed to find quarterly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"quarter");if(o){let s=P(o,"quarter");n[s]=i}}}),n}var pe=class extends Error{};async function Nt(n){let{vault:t}=window.app,{template:e,format:a,folder:i}=U(),[o,s]=await A(e),c=n.format(a),d=await Y(i,c);try{let p=await t.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,N)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),N?y.format(N.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function Dt(n,t){return t[P(n,"year")]??null}function kt(){let n={};if(!We())return n;let{vault:t}=window.app,{folder:e}=U(),a=t.getAbstractFileByPath(m.normalizePath(e));if(!a)throw new pe("Failed to find yearly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"year");if(o){let s=P(o,"year");n[s]=i}}}),n}function Pt(){let{app:n}=window,t=n.internalPlugins.plugins["daily-notes"];if(t&&t.enabled)return!0;let e=n.plugins.getPlugin("periodic-notes");return e&&e.settings?.daily?.enabled}function Re(){let{app:n}=window;if(n.plugins.getPlugin("calendar"))return!0;let t=n.plugins.getPlugin("periodic-notes");return t&&t.settings?.weekly?.enabled}function xe(){let{app:n}=window,t=n.plugins.getPlugin("periodic-notes");return t&&t.settings?.monthly?.enabled}function He(){let{app:n}=window,t=n.plugins.getPlugin("periodic-notes");return t&&t.settings?.quarterly?.enabled}function We(){let{app:n}=window,t=n.plugins.getPlugin("periodic-notes");return t&&t.settings?.yearly?.enabled}function Tt(n){let t={day:W,week:I,month:V,quarter:_,year:U}[n];return t()}function St(n,t){return{day:Ae,month:Ce,week:Le}[n](t)}l.DEFAULT_DAILY_NOTE_FORMAT=ie;l.DEFAULT_MONTHLY_NOTE_FORMAT=Te;l.DEFAULT_QUARTERLY_NOTE_FORMAT=Se;l.DEFAULT_WEEKLY_NOTE_FORMAT=oe;l.DEFAULT_YEARLY_NOTE_FORMAT=Me;l.appHasDailyNotesPluginLoaded=Pt;l.appHasMonthlyNotesPluginLoaded=xe;l.appHasQuarterlyNotesPluginLoaded=He;l.appHasWeeklyNotesPluginLoaded=Re;l.appHasYearlyNotesPluginLoaded=We;l.createDailyNote=Ae;l.createMonthlyNote=Ce;l.createPeriodicNote=St;l.createQuarterlyNote=yt;l.createWeeklyNote=Le;l.createYearlyNote=Nt;l.getAllDailyNotes=dt;l.getAllMonthlyNotes=wt;l.getAllQuarterlyNotes=bt;l.getAllWeeklyNotes=ht;l.getAllYearlyNotes=kt;l.getDailyNote=pt;l.getDailyNoteSettings=W;l.getDateFromFile=L;l.getDateFromPath=ct;l.getDateUID=P;l.getMonthlyNote=ft;l.getMonthlyNoteSettings=V;l.getPeriodicNoteSettings=Tt;l.getQuarterlyNote=vt;l.getQuarterlyNoteSettings=_;l.getTemplateInfo=A;l.getWeeklyNote=mt;l.getWeeklyNoteSettings=I;l.getYearlyNote=Dt;l.getYearlyNoteSettings=U});var At={};at(At,{default:()=>Z});module.exports=it(At);var S=require("obsidian");var b=require("obsidian");var F=require("obsidian");function k(n){return n?n.extension=="md"?n.path.slice(0,-3):n.path:""}function be(n){return n.split("/").slice(-1)[0].contains(".")?n:`${n}.md`}function ae(n,t=void 0){let e=n.vault.getFiles();if(t){let a=n.vault.getFolderByPath(t);if(!a)return;e=Ne(a)}if(e.filter(a=>["md","canvas","base"].contains(a.extension)),e.length){let a=Math.floor(Math.random()*e.length);return k(e[a])}}function Ne(n){let t=[];for(let e of n.children)e instanceof F.TFile?t.push(e):e instanceof F.TFolder&&t.push(...Ne(e));return t}function De(n){return n.workspace.getActiveViewOfType(F.View)?.getViewType()=="empty"}function ne(n,t){return n.localeCompare(t,void 0,{sensitivity:"accent"})===0}function q(n){return new Promise(t=>window.setTimeout(t,n))}async function ke(n){let t=n.workspace.getLayout();t.main={id:"5324373015726ba8",type:"split",children:[{id:"4509724f8bf84da7",type:"tabs",children:[{id:"e7a7b303c61786dc",type:"leaf",state:{type:"empty",state:{},icon:"lucide-file",title:"New tab"}}]}],direction:"vertical"},t.active="e7a7b303c61786dc",await n.workspace.changeLayout(t),F.Platform.isMobile&&(n.workspace.rightSplit?.updateInfo(),ot(n))}function ot(n){let t=n.internalPlugins.plugins.sync?.instance;t&&n.workspace.onLayoutReady(()=>{t.statusIconEl=n.workspace.rightSplit.addHeaderButton("sync-small",t.openStatusIconMenu.bind(t)),t.statusIconEl.addEventListener("contextmenu",t.openStatusIconMenu.bind(t)),t.statusIconEl.addClass("sync-status-icon")})}function Pe(n){let t=n.internalPlugins.plugins.sync,e=[new Promise(a=>{let i=async()=>{a(),n.workspace.off("layout-change",i)};n.workspace.on("layout-change",i)})];return t.enabled&&t.instance.syncing&&e.push(new Promise(a=>{let i=async()=>{a(),t.instance.off("status-change",i)};t.instance.on("status-change",i)})),Promise.race([Promise.all(e),new Promise(a=>window.setTimeout(a,1500))])}var u=nt(Ie()),Mt="custom-journal-locale",de={["Daily Note"]:{noun:"day",adjective:"daily",create:u.createDailyNote,get:u.getDailyNote,getAll:u.getAllDailyNotes},["Weekly Note"]:{noun:"week",adjective:"weekly",create:u.createWeeklyNote,get:u.getWeeklyNote,getAll:u.getAllWeeklyNotes},["Monthly Note"]:{noun:"month",adjective:"monthly",create:u.createMonthlyNote,get:u.getMonthlyNote,getAll:u.getAllMonthlyNotes},["Yearly Note"]:{noun:"year",adjective:"yearly",create:u.createYearlyNote,get:u.getYearlyNote,getAll:u.getAllYearlyNotes}},J=["Daily Note","Weekly Note","Monthly Note","Yearly Note"],Ve="Date-dependent file";async function _e(n,t){let e=t.communityPlugins["periodic-notes"],a=de[n],i=window.moment().startOf(a.noun),o;if(Ye(e)){let s=a.getAll();Object.keys(s).length?o=a.get(i,s)||await a.create(i):o=await a.create(i),o||(o=a.get(i,s))}else e.cache.initialize(),o=e.getPeriodicNote(a.noun,i)||await e.createPeriodicNote(a.noun,i);return k(o)}function Ue(n,t){if(n=="Daily Note"&&t.internalPlugins["daily-notes"]?.enabled)return!0;let e=t.communityPlugins["periodic-notes"];if(!e)return!1;if(Ye(e)){let a=de[n].adjective;return e.settings[a]?.enabled}else{let a=de[n].noun;return e?.calendarSetManager?.getActiveSet()[a]?.enabled}}function Ye(n){return(n?.manifest.version||"0").startsWith("0")}function Be(n){return!!n.plugin.communityPlugins.journals.getJournal(n.data.value)}async function Ke(n,t){let e=t.communityPlugins.journals,a=e.getJournal(n),i=a.config.value.autoCreate;e.reprocessNotes(),a.config.value.autoCreate=!0,await a.autoCreate(),a.config.value.autoCreate=i;let o=window.moment().locale(Mt).startOf("day");return a.getNotePath(a?.get(o)).replace(/\.md$/,"")}var ue={["Replace all open notes"]:"Replace all open notes",["Replace last note"]:"Replace last note",["Keep open notes"]:"Keep open notes",["Default view"]:"Default view",["Reading view"]:"Reading view",["Editing view (Source)"]:"Editing view (Source)",["Editing view (Live Preview)"]:"Editing view (Live Preview)",["File"]:"File",["Workspace"]:"Workspace",["Random file"]:"Random file",["Random in folder"]:"Random in folder",["New note"]:"New note",["Graph view"]:"Graph view",["Nothing"]:"Nothing",["Journal"]:"Journal",["Daily Note"]:"Daily Note",["Weekly Note"]:"Weekly Note",["Monthly Note"]:"Monthly Note",["Yearly Note"]:"Yearly Note",["Both"]:"Both",["Startup only"]:"Startup only",["Manual only"]:"Manual only",openHomepage:"Open homepage",setToActiveFile:"Set to active file",copyDebugInfo:"Copy debug info",cliOpenHomepageDesc:"Open the homepage",cliOpenHomepageResult:"Opened the homepage",cliReadHomepageDesc:"Read homepage contents",cliReadHomepageIllegible:"The current homepage cannot be viewed, as it does not match an file",pluginUnavailable:"The active homepage cannot be opened due to plugin unavailablity.",journalUnavailable:'Cannot find the journal "?0" to use as the homepage.',workspaceUnavailable:'Cannot find the workspace "?0" to use as the homepage.',noteUnavailable:'Cannot find the file "?0" to use as the homepage.',homepageChanged:'The homepage has been changed to "?0".',momentUpgradeNotice:"Date-dependent notes in Homepage have been removed. Set your homepage as a Periodic or Daily Note instead.",openOnStartup:"Open on startup",openOnStartupDesc:"When launching Obsidian, open the homepage.",openOnStartupWarn:'This will override the built-in "Default file to open" setting.',openWhenEmpty:"Open when empty",openWhenEmptyDesc:"When there are no tabs open, open the homepage.",alwaysApply:"Use when opening normally",alwaysApplyDesc:"Use homepage settings when opening it normally, such as from a link or the file browser.",separateMobile:"Separate mobile homepage",separateMobileDesc:"For mobile devices, store the homepage and its settings separately.",separateMobileWarnPrefix:"Mobile settings are stored separately.",separateMobileWarnMobile:"Therefore, changes to other settings will not affect desktop devices. To edit desktop settings, use a desktop device.",separateMobileWarnDesktop:"Therefore, changes to other settings will not affect mobile devices. To edit mobile settings, use a mobile device.",commandsGroup:"Commands",commandsDesc:"Select commands that will be executed when opening the homepage.",commandsAddButton:"Add...",commandUnavailable:"This command can't be found, so it won't be executed. It may belong to a disabled plugin.",commandsReally:"Really?",vaultGroup:"Vault environment",openMode:"Opening method",openModeDesc:"Determine how extant tabs and views are affected on startup.",manualOpenMode:"Manual opening method",manualOpenModeDesc:"Determine how extant tabs and views are affected when opening with commands or the ribbon button.",pin:"Pin",pinDesc:"Pin the homepage when opening.",hideReleaseNotes:"Hide release notes",hideReleaseNotesDesc:"Never display release notes when Obsidian updates.",autoCreate:"Auto-create",autoCreateDesc:"When the homepage doesn't exist, create a note with its name.",autoCreateWarn:"If this vault is synced using unofficial services, this may lead to content being overwritten.",openingGroup:"Opened view",view:"Homepage view",viewDesc:"Choose what view to open the homepage in.",revertView:"Revert view on close",revertViewDesc:"When navigating away from the homepage, restore the default view.",autoScroll:"Auto-scroll",autoScrollDesc:"When opening the homepage, scroll to the bottom and focus on the last line",refreshDataview:"Refresh Dataview",refreshDataviewDesc:"Always attempt to reload Dataview views when opening the homepage",refreshDataviewWarn:"Requires Dataview auto-refresh to be enabled.",FileDesc:"Enter a note, base, or canvas to use.",WorkspaceDesc:"Enter an Obsidian workspace to use.","New noteDesc":"Enter a prefix to use. A note using that prefix will be created for each Obsidian session.","Graph viewDesc":"Your graph view will be used.",NothingDesc:"Nothing will occur by default. Any commands added will still take effect.","Random fileDesc":"A random note, base, or canvas from your Obsidian folder will be selected.","Random in folderDesc":"Enter a folder. A random note, base, or canvas from it will be selected.",JournalDesc:"Enter a Journal to use.","Daily noteDesc":"Your Daily Note or Periodic Daily Note will be used.","Weekly noteDesc":"Your Periodic Weekly Note will be used.","Monthly noteDesc":"Your Periodic Monthly Note will be used.","Yearly noteDesc":"Your Periodic Yearly Note will be used.",homepageSettingTitle:"Homepage",pluginUnavailableSettings:"The plugin required for this homepage type isn't available.",copyDebugInfoNotice:"Copied homepage debug information to clipboard"};var je={["Replace all open notes"]:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",["Replace last note"]:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443",["Keep open notes"]:"\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438",["Default view"]:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",["Reading view"]:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",["Editing view (Source)"]:"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430",["Editing view (Live Preview)"]:"\u0414\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",["File"]:"\u0424\u0430\u0439\u043B",["Workspace"]:"\u0420\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E",["Random file"]:"\u0421\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B",["Random in folder"]:"\u0421\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u043F\u0430\u043F\u043A\u0438",["New note"]:"\u041D\u043E\u0432\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",["Graph view"]:"\u0413\u0440\u0430\u0444",["Nothing"]:"\u041D\u0438\u0447\u0435\u0433\u043E",["Journal"]:"\u0416\u0443\u0440\u043D\u0430\u043B",["Daily Note"]:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",["Weekly Note"]:"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",["Monthly Note"]:"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",["Yearly Note"]:"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",["Both"]:"\u041E\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430",["Startup only"]:"\u0422\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435",["Manual only"]:"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0443\u0447\u043D\u0443\u044E",openHomepage:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443",setToActiveFile:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0444\u0430\u0439\u043B",copyDebugInfo:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E",pluginUnavailable:"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443: \u043F\u043B\u0430\u0433\u0438\u043D \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",journalUnavailable:'\u0416\u0443\u0440\u043D\u0430\u043B "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D.',workspaceUnavailable:'\u0420\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.',noteUnavailable:'\u0424\u0430\u0439\u043B "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D.',homepageChanged:'\u0414\u043E\u043C\u0430\u0448\u043D\u044F\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430 \u043D\u0430 "?0".',momentUpgradeNotice:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438, \u0437\u0430\u0432\u0438\u0441\u044F\u0449\u0438\u0435 \u043E\u0442 \u0434\u0430\u0442\u044B, \u0443\u0434\u0430\u043B\u0435\u043D\u044B \u0438\u0437 Homepage. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043F\u0435\u0440\u0438\u043E\u0434\u0438\u0447\u0435\u0441\u043A\u0443\u044E \u0438\u043B\u0438 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443.",openOnStartup:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435",openOnStartupDesc:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 Obsidian.",openOnStartupWarn:"\u042D\u0442\u043E \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u0444\u0430\u0439\u043B\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.",openWhenEmpty:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u043A\u043B\u0430\u0434\u043E\u043A",openWhenEmptyDesc:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0432\u043A\u043B\u0430\u0434\u043E\u043A.",alwaysApply:"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043F\u0440\u0438 \u043E\u0431\u044B\u0447\u043D\u043E\u043C \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438",alwaysApplyDesc:"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u043E\u0432\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.",separateMobile:"\u041E\u0442\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u044F\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432",separateMobileDesc:"\u0425\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432 \u0438 \u0435\u0451 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E.",separateMobileWarnPrefix:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0445\u0440\u0430\u043D\u044F\u0442\u0441\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E.",separateMobileWarnMobile:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0432\u043B\u0438\u044F\u044E\u0442 \u043D\u0430 \u043D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.",separateMobileWarnDesktop:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0432\u043B\u0438\u044F\u044E\u0442 \u043D\u0430 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.",commandsGroup:"\u041A\u043E\u043C\u0430\u043D\u0434\u044B",commandsDesc:"\u041A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u044B\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",commandsAddButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C...",commandUnavailable:"\u041A\u043E\u043C\u0430\u043D\u0434\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0438 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430. \u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D.",commandsReally:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?",vaultGroup:"\u0421\u0440\u0435\u0434\u0430 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430",openMode:"\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F",openModeDesc:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u0430\u043A \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435.",manualOpenMode:"\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E",manualOpenModeDesc:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u0430\u043A \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0438\u043B\u0438 \u043A\u043D\u043E\u043F\u043A\u0443.",pin:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C",pinDesc:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438.",hideReleaseNotes:"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443",hideReleaseNotesDesc:"\u041D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443 \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 Obsidian.",autoCreate:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435",autoCreateDesc:"\u0415\u0441\u043B\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0441\u043E\u0437\u0434\u0430\u0435\u0442 \u0435\u0451.",autoCreateWarn:"\u041F\u0440\u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u043D\u0435\u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044B \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u0430 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044C \u0434\u0430\u043D\u043D\u044B\u0445.",openingGroup:"\u0420\u0435\u0436\u0438\u043C \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438",view:"\u0420\u0435\u0436\u0438\u043C \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",viewDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043C \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",revertView:"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438",revertViewDesc:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u0443\u0445\u043E\u0434\u0435 \u0441 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",autoScroll:"\u0410\u0432\u0442\u043E-scroll",autoScrollDesc:"\u041F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044C \u0432\u043D\u0438\u0437 \u0438 \u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438.",refreshDataview:"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C Dataview",refreshDataviewDesc:"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F Dataview \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",refreshDataviewWarn:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u043E\u0435 \u0430\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 Dataview.",FileDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0443, \u0431\u0430\u0437\u0443 \u0438\u043B\u0438 canvas.",WorkspaceDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E Obsidian.","New noteDesc":"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0440\u0435\u0444\u0438\u043A\u0441. \u041F\u0440\u0438 \u043A\u0430\u0436\u0434\u043E\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u0435 Obsidian \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430 \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u043E\u043C.","Graph viewDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0433\u0440\u0430\u0444.",NothingDesc:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043F\u0440\u043E\u0438\u0437\u043E\u0439\u0434\u0435\u0442. \u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0431\u0443\u0434\u0443\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u044B.","Random fileDesc":"\u0411\u0443\u0434\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 Obsidian.","Random in folderDesc":"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443. \u0411\u0443\u0434\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u043D\u0435\u0451.",JournalDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0436\u0443\u0440\u043D\u0430\u043B.","Daily noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Weekly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Monthly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Yearly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u0433\u043E\u0434\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.",homepageSettingTitle:"Homepage",pluginUnavailableSettings:"\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",copyDebugInfoNotice:"\u041E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"};var qe=require("obsidian"),Ft={en:ue,ru:je},Ge,ze=!1;function r(n,...t){if(!ze){let a=(0,qe.getLanguage)()?.toLowerCase()?.split("-")[0]||"en";Ge=Ft[a],ze=!0}n=Ge?.[n]||ue[n];let e=0;for(let a of t)n=n.replace("?"+e,a),e++;return n}var D=require("obsidian");var w=require("obsidian");var Q=class extends w.AbstractInputSuggest{getSuggestions(e){let a=this.app.vault.getAllLoadedFiles(),i=[],o=e.toLowerCase();return a.forEach(s=>{s instanceof w.TFile&&["md","canvas","base"].contains(s.extension)&&s.path.toLowerCase().contains(o)&&i.push(s)}),i}renderSuggestion(e,a){if(e.extension=="md")a.setText(k(e));else{a.setText(e.path.split(".").slice(0,-1).join("."));let i=createDiv();i.className="nav-file-tag nv-homepage-file-tag",i.textContent=e.extension,a.append(i)}}selectSuggestion(e){this.textInputEl.value=k(e),this.textInputEl.trigger("input"),this.close()}},ge=class extends w.AbstractInputSuggest{getSuggestions(e){let a=e.toLowerCase();return this.app.vault.getAllFolders().filter(i=>i.path.toLowerCase().contains(a))}renderSuggestion(e,a){a.setText(e.path)}selectSuggestion(e){this.textInputEl.value=e.path,this.textInputEl.trigger("input"),this.close()}},me=class extends w.AbstractInputSuggest{getSuggestions(e){let a=Object.keys(this.app.internalPlugins.plugins.workspaces?.instance.workspaces),i=e.toLowerCase();return a.filter(o=>o.toLowerCase().contains(i))}renderSuggestion(e,a){a.setText(e)}selectSuggestion(e){this.textInputEl.value=e,this.textInputEl.trigger("input"),this.close()}},he=class extends w.AbstractInputSuggest{getSuggestions(e){let i=this.app.plugins.plugins.journals.journals.map(s=>s.name),o=e.toLowerCase();return i.filter(s=>s.toLowerCase().contains(o))}renderSuggestion(e,a){a.setText(e)}selectSuggestion(e){this.textInputEl.value=e,this.textInputEl.trigger("input"),this.close()}},Je={["File"]:Q,["Workspace"]:me,["Random in folder"]:ge,["New note"]:Q,["Journal"]:he},$=class{constructor(t,e){this.app=t.plugin.app,this.homepage=t.plugin.homepage,this.tab=t,e.addSetting(a=>{a.settingEl.addClass("nv-command-setting"),a.descEl.addClass("nv-command-desc"),a.descEl.innerText=r("commandsDesc"),this.container=a.settingEl.createDiv({cls:"nv-command-box"})}),this.dropzone=createDiv(),this.dropzone.className="nv-command-pill nv-dropzone",this.dropzone.addEventListener("dragenter",a=>a.preventDefault()),this.dropzone.addEventListener("dragover",a=>a.preventDefault()),this.dropzone.addEventListener("drop",()=>this.terminateDrag()),this.update()}update(){this.container.innerHTML="",this.activeDrag=null,this.activeCommand=null;for(let t of this.homepage.data.commands){let e=this.app.commands.findCommand(t.id),a=this.container.createDiv({cls:"nv-command-pill",attr:{draggable:!0}});a.addEventListener("dragstart",o=>{o.dataTransfer.effectAllowed="move",this.activeCommand=this.homepage.data.commands.splice(this.indexOf(a),1)[0],this.activeDrag=a,this.dropzone.style.width=`${a.clientWidth}px`,this.dropzone.style.height=`${a.clientHeight}px`}),a.addEventListener("dragover",o=>this.moveDropzone(a,o)),a.addEventListener("drop",o=>o.preventDefault()),a.addEventListener("dragend",()=>this.terminateDrag()),a.createSpan({cls:"nv-command-text",text:e?.name??t.id});let i=new w.ButtonComponent(a).setIcon("route").setClass("clickable-icon").setClass("nv-command-period").onClick(o=>this.showMenu(t,o,i));t.period!="Both"&&(i.setClass("nv-command-selected"),i.setIcon(""),i.buttonEl.createSpan({text:r(t.period)})),new w.ButtonComponent(a).setIcon("trash-2").setClass("clickable-icon").setClass("nv-command-delete").onClick(()=>this.delete(t)),e||(a.classList.add("nv-command-invalid"),a.prepend((0,w.getIcon)("ban")),(0,w.setTooltip)(a,r("commandUnavailable"),{delay:.001}))}new w.ButtonComponent(this.container).setClass("nv-command-add-button").setButtonText(r("commandsAddButton")).onClick(()=>{new fe(this.tab).open()})}delete(t){this.homepage.data.commands.remove(t),this.homepage.save(),this.update()}showMenu(t,e,a){let i=new w.Menu;for(let s of Object.values(R))i.addItem(c=>{c.setTitle(r(s)),c.setChecked(t.period==s),c.onClick(()=>{t.period=s,this.homepage.save(),this.update()})});let o=a.buttonEl.getBoundingClientRect();i.showAtPosition({x:o.x-22,y:o.y+o.height+8})}indexOf(t){return Array.from(this.container.children).indexOf(t)}moveDropzone(t,e){if(!this.activeDrag)return;this.activeDrag.hidden=!0;let a=t.getBoundingClientRect();e.xawait this.copyDebugInfo()})}sanitiseNote(e){return e===null||e.match(/^\s*$/)!==null?null:(0,D.normalizePath)(e)}display(){let e=this.plugin.homepage.data.kind,a=!1,i=Je[e];this.containerEl.empty(),new O(this).addSetting(d=>{d.setName(r("homepageSettingTitle")).addDropdown(async h=>{for(let f of Object.values(E)){if(!this.plugin.hasRequiredPlugin(f))if(f==this.plugin.homepage.data.kind)a=!0;else{h.selectEl.createEl("option",{text:r(f),attr:{disabled:!0}});continue}h.addOption(f,r(f))}h.setValue(this.plugin.homepage.data.kind),h.onChange(async f=>{this.plugin.homepage.data.kind=f,f=="Random file"&&(this.plugin.homepage.data.value=""),await this.plugin.homepage.save(),this.display()})}),d.settingEl.id="nv-main-setting";let p=d.settingEl.createEl("article",{text:r(e+"Desc"),attr:{id:"nv-desc"}});a&&p.createDiv({text:r("pluginUnavailableSettings"),cls:"mod-warning"}),ye.includes(e)?d.addText(h=>{h.setDisabled(!0)}):d.addText(h=>{new i(this.app,h.inputEl),h.setPlaceholder(x.value),h.setValue(x.value==this.plugin.homepage.data.value?"":this.plugin.homepage.data.value),h.onChange(async f=>{this.plugin.homepage.data.value=this.sanitiseNote(f)||x.value,await this.plugin.homepage.save()})})});let o=new O(this).addToggle("openOnStartup",d=>this.display()).addToggle("openWhenEmpty").addToggle("alwaysApply").addSetting(d=>{if(d.setName(r("separateMobile")).setDesc(r("separateMobileDesc")).addToggle(p=>p.setValue(this.plugin.settings.separateMobile).onChange(async h=>{this.plugin.settings.separateMobile=h,this.plugin.homepage=this.plugin.getHomepage(),await this.plugin.saveSettings(),this.display()})),this.plugin.settings.separateMobile){let p=createDiv();d.setClass("nv-mobile-setting"),p.className="mod-warning nv-mobile-info",p.createEl("b",{text:r("separateMobileWarnPrefix")}),p.append(" "+r(D.Platform.isMobile?"separateMobileWarnMobile":"separateMobileWarnDesktop")),d.settingEl.append(p)}});o.elements.openOnStartup.descEl.createDiv({text:r("openOnStartupWarn"),attr:{class:"mod-warning"}}),this.commandBox=new $(this,new O(this,"commandsGroup"));let s=new O(this,"vaultGroup").addDropdown("openMode",C).addDropdown("manualOpenMode",C).addToggle("pin").addToggle("hideReleaseNotes").addToggle("autoCreate");s.elements.autoCreate.descEl.createDiv({text:r("autoCreateWarn"),cls:"mod-warning"});let c=new O(this,"openingGroup").addDropdown("view",B).addToggle("revertView").addToggle("autoScroll");"dataview"in this.plugin.communityPlugins&&(c.addToggle("refreshDataview"),c.elements.refreshDataview.descEl.createDiv({text:r("refreshDataviewWarn"),attr:{class:"mod-warning"}})),D.Platform.isMobile||new D.ButtonComponent(this.containerEl).setButtonText(r("copyDebugInfo")).setClass("nv-debug-button").onClick(async()=>await this.copyDebugInfo()),["Workspace","Nothing"].includes(e)&&(o.disableSettings("openWhenEmpty","alwaysApply"),s.disableSettings("openMode","manualOpenMode","autoCreate","pin")),["Workspace","Nothing","Graph view"].includes(e)&&c.disableAll(),this.plugin.homepage.data.openOnStartup||s.disableSettings("openMode"),(J.includes(e)||e==="Journal")&&s.disableSettings("autoCreate")}async copyDebugInfo(){let e=this.app.vault.config,a={...this.settings,_defaultViewMode:e.defaultViewMode||"default",_livePreview:e.livePreview!==void 0?e.livePreview:"default",_focusNewTab:e.focusNewTab!==void 0?e.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(a)),new D.Notice(r("copyDebugInfoNotice"))}},O=class extends D.SettingGroup{constructor(e,a){super(e.containerEl);this.elements={};a&&this.setHeading(r(a)),this.plugin=e.plugin,this.settings=e.settings}addDropdown(e,a,i){return this.addSetting(o=>{o.setName(r(e)).setDesc(r(e+"Desc")).addDropdown(async s=>{for(let c of Object.values(a))s.addOption(c,r(c));s.setValue(this.plugin.homepage.data[e]),s.onChange(async c=>{this.plugin.homepage.data[e]=c,await this.plugin.homepage.save(),i&&i(c)})}),this.elements[e]=o}),this}addToggle(e,a){return this.addSetting(i=>{i.setName(r(e)).setDesc(r(e+"Desc")).addToggle(o=>o.setValue(this.plugin.homepage.data[e]).onChange(async s=>{this.plugin.homepage.data[e]=s,await this.plugin.homepage.save(),a&&a(s)})),this.elements[e]=i}),this}disableAll(){this.disableSettings(...Object.keys(this.elements))}disableSettings(...e){e.forEach(a=>{this.elements[a]?.settingEl.setAttribute("nv-greyed","")})}};var Et=["markdown","canvas","kanban","bases"],j="Main Homepage",G="Mobile Homepage",C=(a=>(a.ReplaceAll="Replace all open notes",a.ReplaceLast="Replace last note",a.Retain="Keep open notes",a))(C||{}),B=(i=>(i.Default="Default view",i.Reading="Reading view",i.Source="Editing view (Source)",i.LivePreview="Editing view (Live Preview)",i))(B||{}),E=(g=>(g.File="File",g.Workspace="Workspace",g.Random="Random file",g.RandomFolder="Random in folder",g.NewNote="New note",g.Graph="Graph view",g.None="Nothing",g.Journal="Journal",g.DailyNote="Daily Note",g.WeeklyNote="Weekly Note",g.MonthlyNote="Monthly Note",g.YearlyNote="Yearly Note",g))(E||{}),R=(a=>(a.Both="Both",a.Startup="Startup only",a.Manual="Manual only",a))(R||{}),ye=["Random file","Graph view","Nothing",...J],Ot=["Nothing","Graph view","Workspace"],K=class{constructor(t,e){this.lastView=void 0;this.openedViews=new WeakMap;this.name=t,this.plugin=e,this.app=e.app;let a=this.plugin.settings.homepages[t];a?this.data=Object.assign({},x,a):(this.plugin.settings.homepages[t]={...x},this.data=this.plugin.settings.homepages[t])}async open(t=!1){if(this.plugin.hasRequiredPlugin(this.data.kind)){if(this.data.kind==="Journal"&&!Be(this)){new b.Notice(r("journalUnavailable",this.data.value));return}}else{new b.Notice(r("pluginUnavailable"));return}if(this.data.kind==="Workspace")await this.launchWorkspace();else if(this.data.kind!=="Nothing"){let a=this.plugin.loaded?this.data.manualOpenMode:this.data.openMode;t&&(a="Keep open notes"),await this.launchLeaf(a)}if(this.data.commands.length<1)return;let e=this.plugin.loaded?"Startup only":"Manual only";await Pe(this.app);for(let{id:a,period:i}of this.data.commands)i!==e&&this.app.commands.executeCommandById(a)}async launchWorkspace(){let t=this.plugin.internalPlugins.workspaces?.instance;if(!(this.data.value in t.workspaces)){new b.Notice(r("workspaceUnavailable",this.data.value));return}t.loadWorkspace(this.data.value),await q(100)}async launchLeaf(t){let e;if(this.computedValue=await this.computeValue(),this.plugin.executing=!0,t!=="Replace all open notes"){let a=this.getOpened();if(a.length>0){this.app.workspace.setActiveLeaf(a[0]),await this.configure(a[0]);return}else t=="Keep open notes"&&De(this.app)&&(t="Replace last note")}t!=="Keep open notes"&&this.app.workspace.getActiveViewOfType(b.View)?.leaf.setPinned(!1),t==="Replace all open notes"&&(this.app.workspace?.floatingSplit?.children&&(await q(0),this.app.workspace.floatingSplit.children.forEach(a=>a.win.close())),await ke(this.app),await q(0));try{this.data.kind==="Graph view"?e=await this.launchGraph(t):e=await this.launchNote(t),await this.configure(e)}catch{return}}async launchGraph(t){if(t==="Keep open notes"){let e=this.app.workspace.getLeaf("tab");this.app.workspace.setActiveLeaf(e)}return this.app.commands.executeCommandById("graph:open"),this.app.workspace.getActiveViewOfType(b.View).leaf}async launchNote(t){let e=this.app.metadataCache.getFirstLinkpathDest(this.computedValue,"/");if(!e){if(!this.data.autoCreate)throw new b.Notice(r("noteUnavailable",this.computedValue)),new Error(r("noteUnavailable",this.computedValue));e=await this.app.vault.create(be(this.computedValue),"")}let a=await this.app.vault.cachedRead(e),i=this.app.workspace.getLeaf(t=="Keep open notes");return await i.openFile(e),this.app.workspace.setActiveLeaf(i),a!==await this.app.vault.read(e)&&await this.app.vault.modify(e,a),i}async configure(t){this.plugin.executing=!1;let e=t.view,a=e.leaf.history;if(!(e instanceof b.MarkdownView)){this.data.pin&&e.leaf.setPinned(!0),this.configurePlugins();return}let i=e.getState();if(this.data.revertView&&(this.lastView=new WeakRef(e)),this.data.autoScroll){let o=e.editor.lineCount();i.mode=="preview"?e.previewMode.applyScroll(o-4):(e.editor.setCursor(o),e.editor.focus())}if(this.data.pin&&e.leaf.setPinned(!0),this.data.view!=="Default view"){switch(this.data.view){case"Editing view (Live Preview)":case"Editing view (Source)":i.mode="source",i.source=this.data.view!="Editing view (Live Preview)";break;case"Reading view":i.mode="preview";break}await e.leaf.setViewState({type:"markdown",state:i}),e.leaf.history=a}this.configurePlugins()}configurePlugins(){this.plugin.loaded&&this.data.refreshDataview&&this.plugin.communityPlugins.dataview?.index.touch(),this.plugin.communityPlugins["obsidian-file-color"]?.generateColorStyles()}getOpened(){return this.data.kind=="Graph view"?this.app.workspace.getLeavesOfType("graph"):Et.flatMap(e=>this.app.workspace.getLeavesOfType(e)).filter(e=>{let a=e.view.getState().file;return ne(a.endsWith("md")?a.slice(0,-3):a,this.computedValue)})}async computeValue(){let t=this.data.value,e;switch(this.data.kind){case"Random file":e=ae(this.app),e&&(t=e);break;case"Random in folder":e=ae(this.app,t),e&&(t=e);break;case"New note":this.cachedNewFile||(this.cachedNewFile=k(await this.app.fileManager.createNewFile("",t))),t=this.cachedNewFile;break;case"Journal":t=await Ke(t,this.plugin);break;case"Daily Note":case"Weekly Note":case"Monthly Note":case"Yearly Note":t=await _e(this.data.kind,this.plugin);break}return t}async save(){this.plugin.settings.homepages[this.name]=this.data,await this.plugin.saveSettings()}async setToActiveFile(){let t=this.app.workspace.getActiveFile();t&&(this.data.value=k(t),await this.save(),new b.Notice(r("homepageChanged",this.data.value)))}canSetToFile(){return this.app.workspace.getActiveFile()!==null&&!ye.includes(this.data.kind)}async revertView(){if(this.lastView==null||this.data.view=="Default view")return;let t=this.lastView.deref();if(!t?.file||ne(k(t.file),this.computedValue))return;let e=t.getState(),a=this.app.vault.config,i=a.defaultViewMode||"source",o=a.livePreview!==void 0?!a.livePreview:!1;t.leaf.getViewState().type=="markdown"&&(i!=e.mode||o!=e.source)&&(e.mode=i,e.source=o,await t.leaf.setViewState({type:"markdown",state:e,active:!0})),this.lastView=void 0}async openWhenEmpty(){if(!this.plugin.loaded||this.plugin.executing)return;let t=this.app.workspace.getActiveViewOfType(b.View)?.leaf;t?.getViewState().type!=="empty"||t?.parentSplit?.children?.length!=1||await this.open(!0)}async apply(){let t=this.app.workspace.getActiveViewOfType(b.FileView);if(!t?.file)return;let e=k(t.file);this.openedViews.get(t)!==e&&(this.openedViews.set(t,e),e===await this.computeValue()&&this.plugin.loaded&&!this.plugin.executing&&await this.configure(t.leaf))}async read(){if(Ot.includes(this.data.kind))return;let t=this.app.metadataCache.getFirstLinkpathDest(await this.computeValue(),"/");if(t)return this.app.vault.cachedRead(t)}};var Z=class extends S.Plugin{constructor(){super(...arguments);this.newRelease=!1;this.loaded=!1;this.executing=!1;this.onLayoutChange=async()=>{this.homepage.data.revertView&&await this.homepage.revertView(),this.homepage.data.openWhenEmpty&&await this.homepage.openWhenEmpty(),this.homepage.data.alwaysApply&&await this.homepage.apply()}}async onload(){this.patchReleaseNotes(),this.patchOpeningBehaviour(),this.settings=await this.loadSettings(),this.internalPlugins=this.app.internalPlugins.plugins,this.communityPlugins=this.app.plugins.plugins,this.homepage=this.getHomepage(),this.addRibbonIcon("house","Open homepage",e=>this.homepage.open(e.button==1||e.button==2||S.Keymap.isModifier(e,"Mod"))).setAttribute("id","nv-homepage-icon"),this.registerEvent(this.app.workspace.on("layout-change",this.onLayoutChange)),this.addSettingTab(new X(this.app,this)),this.addCommand({id:"open-homepage",name:r("openHomepage"),callback:()=>this.homepage.open()}),this.addCommand({id:"set-to-active-file",name:r("setToActiveFile"),checkCallback:e=>{if(e)return this.homepage.canSetToFile();this.homepage.setToActiveFile()}}),this.registerCliHandler("homepage",r("cliOpenHomepageDesc"),null,async()=>(await this.homepage.open(),r("cliOpenHomepageResult"))),this.registerCliHandler("homepage:read",r("cliReadHomepageDesc"),null,async()=>{let e=await this.homepage.read();return e!==void 0?e:r("cliReadHomepageIllegible")})}onunload(){this.app.workspace.off("layout-change",this.onLayoutChange),this.unpatchNewTabPage(),this.unpatchOpeningBehaviour()}getHomepage(){return this.settings.separateMobile&&S.Platform.isMobile?(G in this.settings.homepages||(this.settings.homepages[G]={...this.settings.homepages?.[j]},this.settings.homepages[G].commands=[...this.settings.homepages?.[j]?.commands||[]]),new K(G,this)):new K(j,this)}async loadSettings(){let e=await this.loadData();return e?.version!==4?e?this.upgradeSettings(e):Object.assign({},we):e}async saveSettings(){await this.saveData(this.settings)}async hasUrlParams(){let e,a;if(S.Platform.isMobile){let i=await window.Capacitor.Plugins.App.getLaunchUrl();if(!i)return!1;let o=new URL(i.url);a=Array.from(o.searchParams.keys()),e=o.hostname}else if(window.OBS_ACT)a=Object.keys(window.OBS_ACT),e=window.OBS_ACT.action;else return!1;return["open","advanced-uri"].includes(e)&&["file","filepath","workspace"].some(i=>a.includes(i))}hasRequiredPlugin(e){switch(e){case"Workspace":return this.internalPlugins.workspaces?.enabled;case"Graph view":return this.internalPlugins.graph?.enabled;case"Journal":return"journals"in this.communityPlugins;case"Daily Note":case"Weekly Note":case"Monthly Note":case"Yearly Note":return Ue(e,this);default:return!0}}patchNewTabPage(){let e=this.communityPlugins["new-tab-default-page"];e&&(e.nvOrig_checkForNewTab=e.checkForNewTab,e.checkForNewTab=async a=>{if(!(this&&this.executing))return await e.nvOrig_checkForNewTab(a)})}unpatchNewTabPage(){let e=this.communityPlugins["new-tab-default-page"];e&&(e.checkForNewTab=e.nvOrig_checkForNewTab)}patchReleaseNotes(){this.app.nvOrig_showReleaseNotes=this.app.showReleaseNotes,this.app.showReleaseNotes=()=>this.newRelease=!0}unpatchReleaseNotes(){this.newRelease&&!this.homepage.data.hideReleaseNotes&&this.app.nvOrig_showReleaseNotes(),this.app.showReleaseNotes=this.app.nvOrig_showReleaseNotes}patchOpeningBehaviour(){this.app.nvOrig_runOpeningBehavior=this.app.runOpeningBehavior,this.app.runOpeningBehavior=async e=>{let a=this.homepage.data.openOnStartup&&!await this.hasUrlParams();this.patchNewTabPage(),a?await this.homepage.open():this.app.nvOrig_runOpeningBehavior(e),this.loaded=!0,this.unpatchReleaseNotes()}}unpatchOpeningBehaviour(){this.app.runOpeningBehavior=this.app.nvOrig_runOpeningBehavior}upgradeSettings(e){if(e.version==3){let i=e,o=!1;for(let s of Object.values(i.homepages))s.commands=s.commands.map(c=>({id:c,period:"Both"})),s.kind==Ve&&(o=!0,s.kind="Daily Note");return o&&new S.Notice(r("momentUpgradeNotice")),i.version=4,this.saveData(i),i}let a=Object.assign({},we);return e.workspaceEnabled?(e.value=e.workspace||"",e.kind="Workspace"):e.momentFormat?(e.kind="Daily Note",new S.Notice(r("momentUpgradeNotice"))):(e.value=e.defaultNote||"Home",e.kind="File"),e.commands=[],delete e.workspace,delete e.momentFormat,delete e.defaultNote,delete e.useMoment,delete e.workspaceEnabled,a.homepages[j]=e,this.saveData(a),a}}; +"use strict";var Qe=Object.create;var z=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var tt=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),at=(n,e)=>{for(var t in e)z(n,t,{get:e[t],enumerable:!0})},ve=(n,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xe(e))!et.call(n,i)&&i!==t&&z(n,i,{get:()=>e[i],enumerable:!(a=$e(e,i))||a.enumerable});return n};var nt=(n,e,t)=>(t=n!=null?Qe(Ze(n)):{},ve(e||!n||!n.__esModule?z(t,"default",{value:n,enumerable:!0}):t,n)),it=n=>ve(z({},"__esModule",{value:!0}),n);var Ie=tt(l=>{"use strict";Object.defineProperty(l,"__esModule",{value:!0});var m=require("obsidian"),ie="YYYY-MM-DD",oe="gggg-[W]ww",Te="YYYY-MM",Se="YYYY-[Q]Q",Me="YYYY";function H(n){let e=window.app.plugins.getPlugin("periodic-notes");return e&&e.settings?.[n]?.enabled}function W(){try{let{internalPlugins:n,plugins:e}=window.app;if(H("daily")){let{format:o,folder:s,template:c}=e.getPlugin("periodic-notes")?.settings?.daily||{};return{format:o||ie,folder:s?.trim()||"",template:c?.trim()||""}}let{folder:t,format:a,template:i}=n.getPluginById("daily-notes")?.instance?.options||{};return{format:a||ie,folder:t?.trim()||"",template:i?.trim()||""}}catch(n){console.info("No custom daily note settings found!",n)}}function I(){try{let n=window.app.plugins,e=n.getPlugin("calendar")?.options,t=n.getPlugin("periodic-notes")?.settings?.weekly;if(H("weekly"))return{format:t.format||oe,folder:t.folder?.trim()||"",template:t.template?.trim()||""};let a=e||{};return{format:a.weeklyNoteFormat||oe,folder:a.weeklyNoteFolder?.trim()||"",template:a.weeklyNoteTemplate?.trim()||""}}catch(n){console.info("No custom weekly note settings found!",n)}}function V(){let n=window.app.plugins;try{let e=H("monthly")&&n.getPlugin("periodic-notes")?.settings?.monthly||{};return{format:e.format||Te,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom monthly note settings found!",e)}}function _(){let n=window.app.plugins;try{let e=H("quarterly")&&n.getPlugin("periodic-notes")?.settings?.quarterly||{};return{format:e.format||Se,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom quarterly note settings found!",e)}}function U(){let n=window.app.plugins;try{let e=H("yearly")&&n.getPlugin("periodic-notes")?.settings?.yearly||{};return{format:e.format||Me,folder:e.folder?.trim()||"",template:e.template?.trim()||""}}catch(e){console.info("No custom yearly note settings found!",e)}}function Fe(...n){let e=[];for(let a=0,i=n.length;a{let ee=a(),te=n.clone().set({hour:ee.get("hour"),minute:ee.get("minute"),second:ee.get("second")});return M&&te.add(parseInt(D,10),v),y?te.format(y.substring(1).trim()):te.format(o)}).replace(/{{\s*yesterday\s*}}/gi,n.clone().subtract(1,"day").format(o)).replace(/{{\s*tomorrow\s*}}/gi,n.clone().add(1,"d").format(o)));return e.foldManager.save(f,d),f}catch(f){console.error(`Failed to create file: '${h}'`,f),new m.Notice("Unable to create new file.")}}function pt(n,e){return e[P(n,"day")]??null}function dt(){let{vault:n}=window.app,{folder:e}=W(),t=n.getAbstractFileByPath(m.normalizePath(e));if(!t)throw new se("Failed to find daily notes folder");let a={};return m.Vault.recurseChildren(t,i=>{if(i instanceof m.TFile){let o=L(i,"day");if(o){let s=P(o,"day");a[s]=i}}}),a}var re=class extends Error{};function ut(){let{moment:n}=window,e=n.localeData()._week.dow,t=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];for(;e;)t.push(t.shift()),e--;return t}function gt(n){return ut().indexOf(n.toLowerCase())}async function Le(n){let{vault:e}=window.app,{template:t,format:a,folder:i}=I(),[o,s]=await A(t),c=n.format(a),d=await Y(i,c);try{let p=await e.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,D)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),D?y.format(D.substring(1).trim()):y.format(a)}).replace(/{{\s*title\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\s*:(.*?)}}/gi,(h,f,g)=>{let T=gt(f);return n.weekday(T).format(g.trim())}));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function mt(n,e){return e[P(n,"week")]??null}function ht(){let n={};if(!Re())return n;let{vault:e}=window.app,{folder:t}=I(),a=e.getAbstractFileByPath(m.normalizePath(t));if(!a)throw new re("Failed to find weekly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"week");if(o){let s=P(o,"week");n[s]=i}}}),n}var le=class extends Error{};async function Ce(n){let{vault:e}=window.app,{template:t,format:a,folder:i}=V(),[o,s]=await A(t),c=n.format(a),d=await Y(i,c);try{let p=await e.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,D)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),D?y.format(D.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function ft(n,e){return e[P(n,"month")]??null}function wt(){let n={};if(!xe())return n;let{vault:e}=window.app,{folder:t}=V(),a=e.getAbstractFileByPath(m.normalizePath(t));if(!a)throw new le("Failed to find monthly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"month");if(o){let s=P(o,"month");n[s]=i}}}),n}var ce=class extends Error{};async function yt(n){let{vault:e}=window.app,{template:t,format:a,folder:i}=_(),[o,s]=await A(t),c=n.format(a),d=await Y(i,c);try{let p=await e.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,D)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),D?y.format(D.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function vt(n,e){return e[P(n,"quarter")]??null}function bt(){let n={};if(!He())return n;let{vault:e}=window.app,{folder:t}=_(),a=e.getAbstractFileByPath(m.normalizePath(t));if(!a)throw new ce("Failed to find quarterly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"quarter");if(o){let s=P(o,"quarter");n[s]=i}}}),n}var pe=class extends Error{};async function Nt(n){let{vault:e}=window.app,{template:t,format:a,folder:i}=U(),[o,s]=await A(t),c=n.format(a),d=await Y(i,c);try{let p=await e.create(d,o.replace(/{{\s*(date|time)\s*(([+-]\d+)([yqmwdhs]))?\s*(:.+?)?}}/gi,(h,f,g,T,M,D)=>{let v=window.moment(),y=n.clone().set({hour:v.get("hour"),minute:v.get("minute"),second:v.get("second")});return g&&y.add(parseInt(T,10),M),D?y.format(D.substring(1).trim()):y.format(a)}).replace(/{{\s*date\s*}}/gi,c).replace(/{{\s*time\s*}}/gi,window.moment().format("HH:mm")).replace(/{{\s*title\s*}}/gi,c));return window.app.foldManager.save(p,s),p}catch(p){console.error(`Failed to create file: '${d}'`,p),new m.Notice("Unable to create new file.")}}function Dt(n,e){return e[P(n,"year")]??null}function kt(){let n={};if(!We())return n;let{vault:e}=window.app,{folder:t}=U(),a=e.getAbstractFileByPath(m.normalizePath(t));if(!a)throw new pe("Failed to find yearly notes folder");return m.Vault.recurseChildren(a,i=>{if(i instanceof m.TFile){let o=L(i,"year");if(o){let s=P(o,"year");n[s]=i}}}),n}function Pt(){let{app:n}=window,e=n.internalPlugins.plugins["daily-notes"];if(e&&e.enabled)return!0;let t=n.plugins.getPlugin("periodic-notes");return t&&t.settings?.daily?.enabled}function Re(){let{app:n}=window;if(n.plugins.getPlugin("calendar"))return!0;let e=n.plugins.getPlugin("periodic-notes");return e&&e.settings?.weekly?.enabled}function xe(){let{app:n}=window,e=n.plugins.getPlugin("periodic-notes");return e&&e.settings?.monthly?.enabled}function He(){let{app:n}=window,e=n.plugins.getPlugin("periodic-notes");return e&&e.settings?.quarterly?.enabled}function We(){let{app:n}=window,e=n.plugins.getPlugin("periodic-notes");return e&&e.settings?.yearly?.enabled}function Tt(n){let e={day:W,week:I,month:V,quarter:_,year:U}[n];return e()}function St(n,e){return{day:Ae,month:Ce,week:Le}[n](e)}l.DEFAULT_DAILY_NOTE_FORMAT=ie;l.DEFAULT_MONTHLY_NOTE_FORMAT=Te;l.DEFAULT_QUARTERLY_NOTE_FORMAT=Se;l.DEFAULT_WEEKLY_NOTE_FORMAT=oe;l.DEFAULT_YEARLY_NOTE_FORMAT=Me;l.appHasDailyNotesPluginLoaded=Pt;l.appHasMonthlyNotesPluginLoaded=xe;l.appHasQuarterlyNotesPluginLoaded=He;l.appHasWeeklyNotesPluginLoaded=Re;l.appHasYearlyNotesPluginLoaded=We;l.createDailyNote=Ae;l.createMonthlyNote=Ce;l.createPeriodicNote=St;l.createQuarterlyNote=yt;l.createWeeklyNote=Le;l.createYearlyNote=Nt;l.getAllDailyNotes=dt;l.getAllMonthlyNotes=wt;l.getAllQuarterlyNotes=bt;l.getAllWeeklyNotes=ht;l.getAllYearlyNotes=kt;l.getDailyNote=pt;l.getDailyNoteSettings=W;l.getDateFromFile=L;l.getDateFromPath=ct;l.getDateUID=P;l.getMonthlyNote=ft;l.getMonthlyNoteSettings=V;l.getPeriodicNoteSettings=Tt;l.getQuarterlyNote=vt;l.getQuarterlyNoteSettings=_;l.getTemplateInfo=A;l.getWeeklyNote=mt;l.getWeeklyNoteSettings=I;l.getYearlyNote=Dt;l.getYearlyNoteSettings=U});var At={};at(At,{default:()=>Z});module.exports=it(At);var S=require("obsidian");var N=require("obsidian");var F=require("obsidian");function k(n){return n?n.extension=="md"?n.path.slice(0,-3):n.path:""}function be(n){return n.split("/").slice(-1)[0].contains(".")?n:`${n}.md`}function ae(n,e=void 0){let t=n.vault.getFiles();if(e){let a=n.vault.getFolderByPath(e);if(!a)return;t=Ne(a)}if(t.filter(a=>["md","canvas","base"].contains(a.extension)),t.length){let a=Math.floor(Math.random()*t.length);return k(t[a])}}function Ne(n){let e=[];for(let t of n.children)t instanceof F.TFile?e.push(t):t instanceof F.TFolder&&e.push(...Ne(t));return e}function De(n){return n.workspace.getActiveViewOfType(F.View)?.getViewType()=="empty"}function ne(n,e){return n.localeCompare(e,void 0,{sensitivity:"accent"})===0}function q(n){return new Promise(e=>window.setTimeout(e,n))}async function ke(n){let e=n.workspace.getLayout();e.main={id:"5324373015726ba8",type:"split",children:[{id:"4509724f8bf84da7",type:"tabs",children:[{id:"e7a7b303c61786dc",type:"leaf",state:{type:"empty",state:{},icon:"lucide-file",title:"New tab"}}]}],direction:"vertical"},e.active="e7a7b303c61786dc",await n.workspace.changeLayout(e),F.Platform.isMobile&&(n.workspace.rightSplit?.updateInfo(),ot(n))}function ot(n){let e=n.internalPlugins.plugins.sync?.instance;e&&n.workspace.onLayoutReady(()=>{e.statusIconEl=n.workspace.rightSplit.addHeaderButton("sync-small",e.openStatusIconMenu.bind(e)),e.statusIconEl.addEventListener("contextmenu",e.openStatusIconMenu.bind(e)),e.statusIconEl.addClass("sync-status-icon")})}function Pe(n){let e=n.internalPlugins.plugins.sync,t=[new Promise(a=>{let i=async()=>{a(),n.workspace.off("layout-change",i)};n.workspace.on("layout-change",i)})];return e.enabled&&e.instance.syncing&&t.push(new Promise(a=>{let i=async()=>{a(),e.instance.off("status-change",i)};e.instance.on("status-change",i)})),Promise.race([Promise.all(t),new Promise(a=>window.setTimeout(a,1500))])}var u=nt(Ie()),Mt="custom-journal-locale",de={"Daily Note":{noun:"day",adjective:"daily",create:u.createDailyNote,get:u.getDailyNote,getAll:u.getAllDailyNotes},"Weekly Note":{noun:"week",adjective:"weekly",create:u.createWeeklyNote,get:u.getWeeklyNote,getAll:u.getAllWeeklyNotes},"Monthly Note":{noun:"month",adjective:"monthly",create:u.createMonthlyNote,get:u.getMonthlyNote,getAll:u.getAllMonthlyNotes},"Yearly Note":{noun:"year",adjective:"yearly",create:u.createYearlyNote,get:u.getYearlyNote,getAll:u.getAllYearlyNotes}},J=["Daily Note","Weekly Note","Monthly Note","Yearly Note"],Ve="Date-dependent file";async function _e(n,e){let t=e.communityPlugins["periodic-notes"],a=de[n],i=window.moment().startOf(a.noun),o;if(Ye(t)){let s=a.getAll();Object.keys(s).length?o=a.get(i,s)||await a.create(i):o=await a.create(i),o||(o=a.get(i,s))}else t.cache.initialize(),o=t.getPeriodicNote(a.noun,i)||await t.createPeriodicNote(a.noun,i);return k(o)}function Ue(n,e){if(n=="Daily Note"&&e.internalPlugins["daily-notes"]?.enabled)return!0;let t=e.communityPlugins["periodic-notes"];if(!t)return!1;if(Ye(t)){let a=de[n].adjective;return t.settings[a]?.enabled}else{let a=de[n].noun;return t?.calendarSetManager?.getActiveSet()[a]?.enabled}}function Ye(n){return(n?.manifest.version||"0").startsWith("0")}function Be(n){return!!n.plugin.communityPlugins.journals.getJournal(n.data.value)}async function Ke(n,e){let t=e.communityPlugins.journals,a=t.getJournal(n),i=a.config.value.autoCreate;t.reprocessNotes(),a.config.value.autoCreate=!0,await a.autoCreate(),a.config.value.autoCreate=i;let o=window.moment().locale(Mt).startOf("day");return a.getNotePath(a?.get(o)).replace(/\.md$/,"")}var ue={"Replace all open notes":"Replace all open notes","Replace last note":"Replace last note","Keep open notes":"Keep open notes","Default view":"Default view","Reading view":"Reading view","Editing view (Source)":"Editing view (Source)","Editing view (Live Preview)":"Editing view (Live Preview)",File:"File",Workspace:"Workspace","Random file":"Random file","Random in folder":"Random in folder","New note":"New note","Graph view":"Graph view",Nothing:"Nothing",Journal:"Journal","Daily Note":"Daily Note","Weekly Note":"Weekly Note","Monthly Note":"Monthly Note","Yearly Note":"Yearly Note",Both:"Both","Startup only":"Startup only","Manual only":"Manual only",openHomepage:"Open homepage",setToActiveFile:"Set to active file",copyDebugInfo:"Copy debug info",cliOpenHomepageDesc:"Open the homepage",cliOpenHomepageResult:"Opened the homepage",cliReadHomepageDesc:"Read homepage contents",cliReadHomepageIllegible:"The current homepage cannot be viewed, as it does not match an file",pluginUnavailable:"The active homepage cannot be opened due to plugin unavailablity.",journalUnavailable:'Cannot find the journal "?0" to use as the homepage.',workspaceUnavailable:'Cannot find the workspace "?0" to use as the homepage.',noteUnavailable:'Cannot find the file "?0" to use as the homepage.',homepageChanged:'The homepage has been changed to "?0".',momentUpgradeNotice:"Date-dependent notes in Homepage have been removed. Set your homepage as a Periodic or Daily Note instead.",openOnStartup:"Open on startup",openOnStartupDesc:"When launching Obsidian, open the homepage.",openOnStartupWarn:'This will override the built-in "Default file to open" setting.',openWhenEmpty:"Open when empty",openWhenEmptyDesc:"When there are no tabs open, open the homepage.",alwaysApply:"Use when opening normally",alwaysApplyDesc:"Use homepage settings when opening it normally, such as from a link or the file browser.",separateMobile:"Separate mobile homepage",separateMobileDesc:"For mobile devices, store the homepage and its settings separately.",separateMobileWarnPrefix:"Mobile settings are stored separately.",separateMobileWarnMobile:"Therefore, changes to other settings will not affect desktop devices. To edit desktop settings, use a desktop device.",separateMobileWarnDesktop:"Therefore, changes to other settings will not affect mobile devices. To edit mobile settings, use a mobile device.",commandsGroup:"Commands",commandsDesc:"Select commands that will be executed when opening the homepage.",commandsAddButton:"Add...",commandUnavailable:"This command can't be found, so it won't be executed. It may belong to a disabled plugin.",commandsReally:"Really?",vaultGroup:"Vault environment",openMode:"Opening method",openModeDesc:"Determine how extant tabs and views are affected on startup.",manualOpenMode:"Manual opening method",manualOpenModeDesc:"Determine how extant tabs and views are affected when opening with commands or the ribbon button.",pin:"Pin",pinDesc:"Pin the homepage when opening.",hideReleaseNotes:"Hide release notes",hideReleaseNotesDesc:"Never display release notes when Obsidian updates.",autoCreate:"Auto-create",autoCreateDesc:"When the homepage doesn't exist, create a note with its name.",autoCreateWarn:"If this vault is synced using unofficial services, this may lead to content being overwritten.",openingGroup:"Opened view",view:"Homepage view",viewDesc:"Choose what view to open the homepage in.",revertView:"Revert view on close",revertViewDesc:"When navigating away from the homepage, restore the default view.",autoScroll:"Auto-scroll",autoScrollDesc:"When opening the homepage, scroll to the bottom and focus on the last line",refreshDataview:"Refresh Dataview",refreshDataviewDesc:"Always attempt to reload Dataview views when opening the homepage",refreshDataviewWarn:"Requires Dataview auto-refresh to be enabled.",FileDesc:"Enter a note, base, or canvas to use.",WorkspaceDesc:"Enter an Obsidian workspace to use.","New noteDesc":"Enter a prefix to use. A note using that prefix will be created for each Obsidian session.","Graph viewDesc":"Your graph view will be used.",NothingDesc:"Nothing will occur by default. Any commands added will still take effect.","Random fileDesc":"A random note, base, or canvas from your Obsidian folder will be selected.","Random in folderDesc":"Enter a folder. A random note, base, or canvas from it will be selected.",JournalDesc:"Enter a Journal to use.","Daily noteDesc":"Your Daily Note or Periodic Daily Note will be used.","Weekly noteDesc":"Your Periodic Weekly Note will be used.","Monthly noteDesc":"Your Periodic Monthly Note will be used.","Yearly noteDesc":"Your Periodic Yearly Note will be used.",homepageSettingTitle:"Homepage",pluginUnavailableSettings:"The plugin required for this homepage type isn't available.",copyDebugInfoNotice:"Copied homepage debug information to clipboard"};var je={"Replace all open notes":"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438","Replace last note":"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443","Keep open notes":"\u041E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0438","Default view":"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E","Reading view":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440","Editing view (Source)":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0433\u043E \u043A\u043E\u0434\u0430","Editing view (Live Preview)":"\u0414\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",File:"\u0424\u0430\u0439\u043B",Workspace:"\u0420\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E","Random file":"\u0421\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B","Random in folder":"\u0421\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u043F\u0430\u043F\u043A\u0438","New note":"\u041D\u043E\u0432\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430","Graph view":"\u0413\u0440\u0430\u0444",Nothing:"\u041D\u0438\u0447\u0435\u0433\u043E",Journal:"\u0416\u0443\u0440\u043D\u0430\u043B","Daily Note":"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430","Weekly Note":"\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430","Monthly Note":"\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430","Yearly Note":"\u0415\u0436\u0435\u0433\u043E\u0434\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430",Both:"\u041E\u0431\u0430 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430","Startup only":"\u0422\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435","Manual only":"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u0440\u0443\u0447\u043D\u0443\u044E",openHomepage:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443",setToActiveFile:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0444\u0430\u0439\u043B",copyDebugInfo:"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E",pluginUnavailable:"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443: \u043F\u043B\u0430\u0433\u0438\u043D \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",journalUnavailable:'\u0416\u0443\u0440\u043D\u0430\u043B "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D.',workspaceUnavailable:'\u0420\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.',noteUnavailable:'\u0424\u0430\u0439\u043B "?0" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D.',homepageChanged:'\u0414\u043E\u043C\u0430\u0448\u043D\u044F\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0430 \u043D\u0430 "?0".',momentUpgradeNotice:"\u0417\u0430\u043C\u0435\u0442\u043A\u0438, \u0437\u0430\u0432\u0438\u0441\u044F\u0449\u0438\u0435 \u043E\u0442 \u0434\u0430\u0442\u044B, \u0443\u0434\u0430\u043B\u0435\u043D\u044B \u0438\u0437 Homepage. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043F\u0435\u0440\u0438\u043E\u0434\u0438\u0447\u0435\u0441\u043A\u0443\u044E \u0438\u043B\u0438 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0443\u044E \u0437\u0430\u043C\u0435\u0442\u043A\u0443.",openOnStartup:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435",openOnStartupDesc:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 Obsidian.",openOnStartupWarn:"\u042D\u0442\u043E \u043F\u0435\u0440\u0435\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0443 \u0444\u0430\u0439\u043B\u0430 \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E.",openWhenEmpty:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0432\u043A\u043B\u0430\u0434\u043E\u043A",openWhenEmptyDesc:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443, \u0435\u0441\u043B\u0438 \u043D\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u0432\u043A\u043B\u0430\u0434\u043E\u043A.",alwaysApply:"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043F\u0440\u0438 \u043E\u0431\u044B\u0447\u043D\u043E\u043C \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438",alwaysApplyDesc:"\u041F\u0440\u0438\u043C\u0435\u043D\u044F\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0438\u0437 \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u043B\u0438 \u0444\u0430\u0439\u043B\u043E\u0432\u043E\u0433\u043E \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.",separateMobile:"\u041E\u0442\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u044F\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432",separateMobileDesc:"\u0425\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432 \u0438 \u0435\u0451 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E.",separateMobileWarnPrefix:"\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0445\u0440\u0430\u043D\u044F\u0442\u0441\u044F \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E.",separateMobileWarnMobile:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0432\u043B\u0438\u044F\u044E\u0442 \u043D\u0430 \u043D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043D\u0430\u0441\u0442\u043E\u043B\u044C\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.",separateMobileWarnDesktop:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0432\u043B\u0438\u044F\u044E\u0442 \u043D\u0430 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F.",commandsGroup:"\u041A\u043E\u043C\u0430\u043D\u0434\u044B",commandsDesc:"\u041A\u043E\u043C\u0430\u043D\u0434\u044B, \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u043C\u044B\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",commandsAddButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C...",commandUnavailable:"\u041A\u043E\u043C\u0430\u043D\u0434\u0430 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0438 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430. \u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D.",commandsReally:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?",vaultGroup:"\u0421\u0440\u0435\u0434\u0430 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430",openMode:"\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F",openModeDesc:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u0430\u043A \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435.",manualOpenMode:"\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E",manualOpenModeDesc:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442, \u043A\u0430\u043A \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u044E\u0442\u0441\u044F \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u0432\u043A\u043B\u0430\u0434\u043A\u0438 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0438\u043B\u0438 \u043A\u043D\u043E\u043F\u043A\u0443.",pin:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C",pinDesc:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0434\u043E\u043C\u0430\u0448\u043D\u044E\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438.",hideReleaseNotes:"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443",hideReleaseNotesDesc:"\u041D\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u044F \u043A \u0432\u044B\u043F\u0443\u0441\u043A\u0443 \u043F\u0440\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0438 Obsidian.",autoCreate:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435",autoCreateDesc:"\u0415\u0441\u043B\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0441\u043E\u0437\u0434\u0430\u0435\u0442 \u0435\u0451.",autoCreateWarn:"\u041F\u0440\u0438 \u0441\u0438\u043D\u0445\u0440\u043E\u043D\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u043D\u0435\u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044B \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u0430 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0438\u0441\u044C \u0434\u0430\u043D\u043D\u044B\u0445.",openingGroup:"\u0420\u0435\u0436\u0438\u043C \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438",view:"\u0420\u0435\u0436\u0438\u043C \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",viewDesc:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043C \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",revertView:"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0438",revertViewDesc:"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043F\u0440\u0438 \u0443\u0445\u043E\u0434\u0435 \u0441 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",autoScroll:"\u0410\u0432\u0442\u043E-scroll",autoScrollDesc:"\u041F\u0440\u043E\u043A\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044C \u0432\u043D\u0438\u0437 \u0438 \u0444\u043E\u043A\u0443\u0441\u0438\u0440\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0439 \u0441\u0442\u0440\u043E\u043A\u0435 \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438.",refreshDataview:"\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u0442\u044C Dataview",refreshDataviewDesc:"\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044C \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F Dataview \u043F\u0440\u0438 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0438 \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B.",refreshDataviewWarn:"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u043E\u0435 \u0430\u0432\u0442\u043E\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 Dataview.",FileDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0437\u0430\u043C\u0435\u0442\u043A\u0443, \u0431\u0430\u0437\u0443 \u0438\u043B\u0438 canvas.",WorkspaceDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0431\u043E\u0447\u0435\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E Obsidian.","New noteDesc":"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0440\u0435\u0444\u0438\u043A\u0441. \u041F\u0440\u0438 \u043A\u0430\u0436\u0434\u043E\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u0435 Obsidian \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u043E\u0432\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430 \u0441 \u044D\u0442\u0438\u043C \u043F\u0440\u0435\u0444\u0438\u043A\u0441\u043E\u043C.","Graph viewDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D \u0433\u0440\u0430\u0444.",NothingDesc:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043F\u0440\u043E\u0438\u0437\u043E\u0439\u0434\u0435\u0442. \u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u0431\u0443\u0434\u0443\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u044B.","Random fileDesc":"\u0411\u0443\u0434\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 Obsidian.","Random in folderDesc":"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443. \u0411\u0443\u0434\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0438\u0437 \u043D\u0435\u0451.",JournalDesc:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0436\u0443\u0440\u043D\u0430\u043B.","Daily noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Weekly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Monthly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.","Yearly noteDesc":"\u0411\u0443\u0434\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0430 \u0435\u0436\u0435\u0433\u043E\u0434\u043D\u0430\u044F \u0437\u0430\u043C\u0435\u0442\u043A\u0430.",homepageSettingTitle:"Homepage",pluginUnavailableSettings:"\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u043B\u0430\u0433\u0438\u043D \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",copyDebugInfoNotice:"\u041E\u0442\u043B\u0430\u0434\u043E\u0447\u043D\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0434\u043E\u043C\u0430\u0448\u043D\u0435\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430"};var qe=require("obsidian"),Ft={en:ue,ru:je},Ge,ze=!1;function r(n,...e){if(!ze){let a=(0,qe.getLanguage)()?.toLowerCase()?.split("-")[0]||"en";Ge=Ft[a],ze=!0}n=Ge?.[n]||ue[n];let t=0;for(let a of e)n=n.replace("?"+t,a),t++;return n}var b=require("obsidian");var w=require("obsidian");var Q=class extends w.AbstractInputSuggest{getSuggestions(e){let t=this.app.vault.getAllLoadedFiles(),a=[],i=e.toLowerCase();return t.forEach(o=>{o instanceof w.TFile&&["md","canvas","base"].contains(o.extension)&&o.path.toLowerCase().contains(i)&&a.push(o)}),a}renderSuggestion(e,t){if(e.extension=="md")t.setText(k(e));else{t.setText(e.path.split(".").slice(0,-1).join("."));let a=createDiv();a.className="nav-file-tag nv-homepage-file-tag",a.textContent=e.extension,t.append(a)}}selectSuggestion(e){this.textInputEl.value=k(e),this.textInputEl.trigger("input"),this.close()}},ge=class extends w.AbstractInputSuggest{getSuggestions(e){let t=e.toLowerCase();return this.app.vault.getAllFolders().filter(a=>a.path.toLowerCase().contains(t))}renderSuggestion(e,t){t.setText(e.path)}selectSuggestion(e){this.textInputEl.value=e.path,this.textInputEl.trigger("input"),this.close()}},me=class extends w.AbstractInputSuggest{getSuggestions(e){let t=Object.keys(this.app.internalPlugins.plugins.workspaces?.instance.workspaces),a=e.toLowerCase();return t.filter(i=>i.toLowerCase().contains(a))}renderSuggestion(e,t){t.setText(e)}selectSuggestion(e){this.textInputEl.value=e,this.textInputEl.trigger("input"),this.close()}},he=class extends w.AbstractInputSuggest{getSuggestions(e){let a=this.app.plugins.plugins.journals.journals.map(o=>o.name),i=e.toLowerCase();return a.filter(o=>o.toLowerCase().contains(i))}renderSuggestion(e,t){t.setText(e)}selectSuggestion(e){this.textInputEl.value=e,this.textInputEl.trigger("input"),this.close()}},Je={File:Q,Workspace:me,"Random in folder":ge,"New note":Q,Journal:he},$=class{constructor(e,t){this.app=e.plugin.app,this.homepage=e.plugin.homepage,this.tab=e,t.addSetting(a=>{a.settingEl.addClass("nv-command-setting"),a.descEl.addClass("nv-command-desc"),a.descEl.innerText=r("commandsDesc"),this.container=a.settingEl.createDiv({cls:"nv-command-box"})}),this.dropzone=createDiv(),this.dropzone.className="nv-command-pill nv-dropzone",this.dropzone.addEventListener("dragenter",a=>a.preventDefault()),this.dropzone.addEventListener("dragover",a=>a.preventDefault()),this.dropzone.addEventListener("drop",()=>this.terminateDrag()),this.update()}update(){this.container.innerHTML="",this.activeDrag=null,this.activeCommand=null;for(let e of this.homepage.data.commands){let t=this.app.commands.findCommand(e.id),a=this.container.createDiv({cls:"nv-command-pill",attr:{draggable:!0}});a.addEventListener("dragstart",o=>{o.dataTransfer.effectAllowed="move",this.activeCommand=this.homepage.data.commands.splice(this.indexOf(a),1)[0],this.activeDrag=a,this.dropzone.style.width=`${a.clientWidth}px`,this.dropzone.style.height=`${a.clientHeight}px`}),a.addEventListener("dragover",o=>this.moveDropzone(a,o)),a.addEventListener("drop",o=>o.preventDefault()),a.addEventListener("dragend",()=>this.terminateDrag()),a.createSpan({cls:"nv-command-text",text:t?.name??e.id});let i=new w.ButtonComponent(a).setIcon("route").setClass("clickable-icon").setClass("nv-command-period").onClick(o=>this.showMenu(e,o,i));e.period!="Both"&&(i.setClass("nv-command-selected"),i.setIcon(""),i.buttonEl.createSpan({text:r(e.period)})),new w.ButtonComponent(a).setIcon("trash-2").setClass("clickable-icon").setClass("nv-command-delete").onClick(()=>this.delete(e)),t||(a.classList.add("nv-command-invalid"),a.prepend((0,w.getIcon)("ban")),(0,w.setTooltip)(a,r("commandUnavailable"),{delay:.001}))}new w.ButtonComponent(this.container).setClass("nv-command-add-button").setButtonText(r("commandsAddButton")).onClick(()=>{new fe(this.tab).open()})}delete(e){this.homepage.data.commands.remove(e),this.homepage.save(),this.update()}showMenu(e,t,a){let i=new w.Menu;for(let s of Object.values(R))i.addItem(c=>{c.setTitle(r(s)),c.setChecked(e.period==s),c.onClick(()=>{e.period=s,this.homepage.save(),this.update()})});let o=a.buttonEl.getBoundingClientRect();i.showAtPosition({x:o.x-22,y:o.y+o.height+8})}indexOf(e){return Array.from(this.container.children).indexOf(e)}moveDropzone(e,t){if(!this.activeDrag)return;this.activeDrag.hidden=!0;let a=e.getBoundingClientRect();t.xawait this.copyDebugInfo()})}sanitiseNote(t){return t===null||t.match(/^\s*$/)!==null?null:(0,b.normalizePath)(t)}display(){let t=this.plugin.homepage.data.kind,a=!1,i=Je[t];this.containerEl.empty(),new O(this).addSetting(d=>{d.setName(r("homepageSettingTitle")).addDropdown(async h=>{for(let f of Object.values(E)){if(!this.plugin.hasRequiredPlugin(f))if(f==this.plugin.homepage.data.kind)a=!0;else{h.selectEl.createEl("option",{text:r(f),attr:{disabled:!0}});continue}h.addOption(f,r(f))}h.setValue(this.plugin.homepage.data.kind),h.onChange(async f=>{this.plugin.homepage.data.kind=f,f=="Random file"&&(this.plugin.homepage.data.value=""),await this.plugin.homepage.save(),this.display()})}),d.settingEl.id="nv-main-setting";let p=d.settingEl.createEl("article",{text:r(t+"Desc"),attr:{id:"nv-desc"}});a&&p.createDiv({text:r("pluginUnavailableSettings"),cls:"mod-warning"}),ye.includes(t)?d.addText(h=>{h.setDisabled(!0)}):d.addText(h=>{new i(this.app,h.inputEl),h.setPlaceholder(x.value),h.setValue(x.value==this.plugin.homepage.data.value?"":this.plugin.homepage.data.value),h.onChange(async f=>{this.plugin.homepage.data.value=this.sanitiseNote(f)||x.value,await this.plugin.homepage.save()})})});let o=new O(this).addToggle("openOnStartup",d=>this.display()).addToggle("openWhenEmpty").addToggle("alwaysApply").addSetting(d=>{if(d.setName(r("separateMobile")).setDesc(r("separateMobileDesc")).addToggle(p=>p.setValue(this.plugin.settings.separateMobile).onChange(async h=>{this.plugin.settings.separateMobile=h,this.plugin.homepage=this.plugin.getHomepage(),await this.plugin.saveSettings(),this.display()})),this.plugin.settings.separateMobile){let p=createDiv();d.setClass("nv-mobile-setting"),p.className="mod-warning nv-mobile-info",p.createEl("b",{text:r("separateMobileWarnPrefix")}),p.append(" "+r(b.Platform.isMobile?"separateMobileWarnMobile":"separateMobileWarnDesktop")),d.settingEl.append(p)}});o.elements.openOnStartup.descEl.createDiv({text:r("openOnStartupWarn"),attr:{class:"mod-warning"}}),this.commandBox=new $(this,new O(this,"commandsGroup"));let s=new O(this,"vaultGroup").addDropdown("openMode",C).addDropdown("manualOpenMode",C).addToggle("pin").addToggle("hideReleaseNotes").addToggle("autoCreate");s.elements.autoCreate.descEl.createDiv({text:r("autoCreateWarn"),cls:"mod-warning"});let c=new O(this,"openingGroup").addDropdown("view",B).addToggle("revertView").addToggle("autoScroll");"dataview"in this.plugin.communityPlugins&&(c.addToggle("refreshDataview"),c.elements.refreshDataview.descEl.createDiv({text:r("refreshDataviewWarn"),attr:{class:"mod-warning"}})),b.Platform.isMobile||new b.ButtonComponent(this.containerEl).setButtonText(r("copyDebugInfo")).setClass("nv-debug-button").onClick(async()=>await this.copyDebugInfo()),["Workspace","Nothing"].includes(t)&&(o.disableSettings("openWhenEmpty","alwaysApply"),s.disableSettings("openMode","manualOpenMode","autoCreate","pin")),["Workspace","Nothing","Graph view"].includes(t)&&c.disableAll(),this.plugin.homepage.data.openOnStartup||s.disableSettings("openMode"),(J.includes(t)||t==="Journal")&&s.disableSettings("autoCreate")}async copyDebugInfo(){let t=this.app.vault.config,a={...this.plugin.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:b.apiVersion};await navigator.clipboard.writeText(JSON.stringify(a)),new b.Notice(r("copyDebugInfoNotice"))}},O=class extends b.SettingGroup{constructor(t,a){super(t.containerEl);this.elements={};a&&this.setHeading(r(a)),this.plugin=t.plugin}addDropdown(t,a,i){return this.addSetting(o=>{o.setName(r(t)).setDesc(r(t+"Desc")).addDropdown(async s=>{for(let c of Object.values(a))s.addOption(c,r(c));s.setValue(this.plugin.homepage.data[t]),s.onChange(async c=>{this.plugin.homepage.data[t]=c,await this.plugin.homepage.save(),i&&i(c)})}),this.elements[t]=o}),this}addToggle(t,a){return this.addSetting(i=>{i.setName(r(t)).setDesc(r(t+"Desc")).addToggle(o=>o.setValue(this.plugin.homepage.data[t]).onChange(async s=>{this.plugin.homepage.data[t]=s,await this.plugin.homepage.save(),a&&a(s)})),this.elements[t]=i}),this}disableAll(){this.disableSettings(...Object.keys(this.elements))}disableSettings(...t){t.forEach(a=>{this.elements[a]?.settingEl.setAttribute("nv-greyed","")})}};var Et=["markdown","canvas","kanban","bases"],j="Main Homepage",G="Mobile Homepage",C=(a=>(a.ReplaceAll="Replace all open notes",a.ReplaceLast="Replace last note",a.Retain="Keep open notes",a))(C||{}),B=(i=>(i.Default="Default view",i.Reading="Reading view",i.Source="Editing view (Source)",i.LivePreview="Editing view (Live Preview)",i))(B||{}),E=(g=>(g.File="File",g.Workspace="Workspace",g.Random="Random file",g.RandomFolder="Random in folder",g.NewNote="New note",g.Graph="Graph view",g.None="Nothing",g.Journal="Journal",g.DailyNote="Daily Note",g.WeeklyNote="Weekly Note",g.MonthlyNote="Monthly Note",g.YearlyNote="Yearly Note",g))(E||{}),R=(a=>(a.Both="Both",a.Startup="Startup only",a.Manual="Manual only",a))(R||{}),ye=["Random file","Graph view","Nothing",...J],Ot=["Nothing","Graph view","Workspace"],K=class{constructor(e,t){this.lastView=void 0;this.openedViews=new WeakMap;this.name=e,this.plugin=t,this.app=t.app;let a=this.plugin.settings.homepages[e];a?this.data=Object.assign({},x,a):(this.plugin.settings.homepages[e]={...x},this.data=this.plugin.settings.homepages[e])}async open(e=!1){if(this.plugin.hasRequiredPlugin(this.data.kind)){if(this.data.kind==="Journal"&&!Be(this)){new N.Notice(r("journalUnavailable",this.data.value));return}}else{new N.Notice(r("pluginUnavailable"));return}if(this.data.kind==="Workspace")await this.launchWorkspace();else if(this.data.kind!=="Nothing"){let a=this.plugin.loaded?this.data.manualOpenMode:this.data.openMode;e&&(a="Keep open notes"),await this.launchLeaf(a)}if(this.data.commands.length<1)return;let t=this.plugin.loaded?"Startup only":"Manual only";await Pe(this.app);for(let{id:a,period:i}of this.data.commands)i!==t&&this.app.commands.executeCommandById(a)}async launchWorkspace(){let e=this.plugin.internalPlugins.workspaces?.instance;if(!(this.data.value in e.workspaces)){new N.Notice(r("workspaceUnavailable",this.data.value));return}e.loadWorkspace(this.data.value),await q(100)}async launchLeaf(e){let t;if(this.computedValue=await this.computeValue(),this.plugin.executing=!0,e!=="Replace all open notes"){let a=this.getOpened();if(a.length>0){this.app.workspace.setActiveLeaf(a[0]),await this.configure(a[0]);return}else e=="Keep open notes"&&De(this.app)&&(e="Replace last note")}e!=="Keep open notes"&&this.app.workspace.getActiveViewOfType(N.View)?.leaf.setPinned(!1),e==="Replace all open notes"&&(this.app.workspace?.floatingSplit?.children&&(await q(0),this.app.workspace.floatingSplit.children.forEach(a=>a.win.close())),await ke(this.app),await q(0));try{this.data.kind==="Graph view"?t=await this.launchGraph(e):t=await this.launchNote(e),await this.configure(t)}catch{return}}async launchGraph(e){if(e==="Keep open notes"){let t=this.app.workspace.getLeaf("tab");this.app.workspace.setActiveLeaf(t)}return this.app.commands.executeCommandById("graph:open"),this.app.workspace.getActiveViewOfType(N.View).leaf}async launchNote(e){let t=this.app.metadataCache.getFirstLinkpathDest(this.computedValue,"/");if(!t){if(!this.data.autoCreate)throw new N.Notice(r("noteUnavailable",this.computedValue)),new Error(r("noteUnavailable",this.computedValue));t=await this.app.vault.create(be(this.computedValue),"")}let a=await this.app.vault.cachedRead(t),i=this.app.workspace.getLeaf(e=="Keep open notes");return await i.openFile(t),this.app.workspace.setActiveLeaf(i),a!==await this.app.vault.read(t)&&await this.app.vault.modify(t,a),i}async configure(e){this.plugin.executing=!1;let t=e.view,a=t.leaf.history;if(!(t instanceof N.MarkdownView)){this.data.pin&&t.leaf.setPinned(!0),this.configurePlugins();return}let i=t.getState();if(this.data.revertView&&(this.lastView=new WeakRef(t)),this.data.autoScroll){let o=t.editor.lineCount();i.mode=="preview"?t.previewMode.applyScroll(o-4):(t.editor.setCursor(o),t.editor.focus())}if(this.data.pin&&t.leaf.setPinned(!0),this.data.view!=="Default view"){switch(this.data.view){case"Editing view (Live Preview)":case"Editing view (Source)":i.mode="source",i.source=this.data.view!="Editing view (Live Preview)";break;case"Reading view":i.mode="preview";break}await t.leaf.setViewState({type:"markdown",state:i}),t.leaf.history=a}this.configurePlugins()}configurePlugins(){this.plugin.loaded&&this.data.refreshDataview&&this.plugin.communityPlugins.dataview?.index.touch(),this.plugin.communityPlugins["obsidian-file-color"]?.generateColorStyles()}getOpened(){return this.data.kind=="Graph view"?this.app.workspace.getLeavesOfType("graph"):Et.flatMap(t=>this.app.workspace.getLeavesOfType(t)).filter(t=>{let a=t.view.getState().file;return ne(a.endsWith("md")?a.slice(0,-3):a,this.computedValue)})}async computeValue(){let e=this.data.value,t;switch(this.data.kind){case"Random file":t=ae(this.app),t&&(e=t);break;case"Random in folder":t=ae(this.app,e),t&&(e=t);break;case"New note":this.cachedNewFile||(this.cachedNewFile=k(await this.app.fileManager.createNewFile("",e))),e=this.cachedNewFile;break;case"Journal":e=await Ke(e,this.plugin);break;case"Daily Note":case"Weekly Note":case"Monthly Note":case"Yearly Note":e=await _e(this.data.kind,this.plugin);break}return e}async save(){this.plugin.settings.homepages[this.name]=this.data,await this.plugin.saveSettings()}async setToActiveFile(){let e=this.app.workspace.getActiveFile();e&&(this.data.value=k(e),await this.save(),new N.Notice(r("homepageChanged",this.data.value)))}canSetToFile(){return this.app.workspace.getActiveFile()!==null&&!ye.includes(this.data.kind)}async revertView(){if(this.lastView==null||this.data.view=="Default view")return;let e=this.lastView.deref();if(!e?.file||ne(k(e.file),this.computedValue))return;let t=e.getState(),a=this.app.vault.config,i=a.defaultViewMode||"source",o=a.livePreview!==void 0?!a.livePreview:!1;e.leaf.getViewState().type=="markdown"&&(i!=t.mode||o!=t.source)&&(t.mode=i,t.source=o,await e.leaf.setViewState({type:"markdown",state:t,active:!0})),this.lastView=void 0}async openWhenEmpty(){if(!this.plugin.loaded||this.plugin.executing)return;let e=this.app.workspace.getActiveViewOfType(N.View)?.leaf;e?.getViewState().type!=="empty"||e?.parentSplit?.children?.length!=1||await this.open(!0)}async apply(){let e=this.app.workspace.getActiveViewOfType(N.FileView);if(!e?.file)return;let t=k(e.file);this.openedViews.get(e)!==t&&(this.openedViews.set(e,t),t===await this.computeValue()&&this.plugin.loaded&&!this.plugin.executing&&await this.configure(e.leaf))}async read(){if(Ot.includes(this.data.kind))return;let e=this.app.metadataCache.getFirstLinkpathDest(await this.computeValue(),"/");if(e)return this.app.vault.cachedRead(e)}};var Z=class extends S.Plugin{constructor(){super(...arguments);this.newRelease=!1;this.loaded=!1;this.executing=!1;this.onLayoutChange=async()=>{this.homepage.data.revertView&&await this.homepage.revertView(),this.homepage.data.openWhenEmpty&&await this.homepage.openWhenEmpty(),this.homepage.data.alwaysApply&&await this.homepage.apply()}}async onload(){this.patchReleaseNotes(),this.patchOpeningBehaviour(),this.settings=await this.loadSettings(),this.internalPlugins=this.app.internalPlugins.plugins,this.communityPlugins=this.app.plugins.plugins,this.homepage=this.getHomepage(),this.addRibbonIcon("house","Open homepage",t=>this.homepage.open(t.button==1||t.button==2||S.Keymap.isModifier(t,"Mod"))).setAttribute("id","nv-homepage-icon"),this.registerEvent(this.app.workspace.on("layout-change",this.onLayoutChange)),this.addSettingTab(new X(this.app,this)),this.addCommand({id:"open-homepage",name:r("openHomepage"),callback:()=>this.homepage.open()}),this.addCommand({id:"set-to-active-file",name:r("setToActiveFile"),checkCallback:t=>{if(t)return this.homepage.canSetToFile();this.homepage.setToActiveFile()}}),this.registerCliHandler("homepage",r("cliOpenHomepageDesc"),null,async()=>(await this.homepage.open(),r("cliOpenHomepageResult"))),this.registerCliHandler("homepage:read",r("cliReadHomepageDesc"),null,async()=>{let t=await this.homepage.read();return t!==void 0?t:r("cliReadHomepageIllegible")})}onunload(){this.app.workspace.off("layout-change",this.onLayoutChange),this.unpatchNewTabPage(),this.unpatchOpeningBehaviour()}getHomepage(){return this.settings.separateMobile&&S.Platform.isMobile?(G in this.settings.homepages||(this.settings.homepages[G]={...this.settings.homepages?.[j]},this.settings.homepages[G].commands=[...this.settings.homepages?.[j]?.commands||[]]),new K(G,this)):new K(j,this)}async loadSettings(){let t=await this.loadData();return t?.version!==4?t?this.upgradeSettings(t):Object.assign({},we):t}async saveSettings(){await this.saveData(this.settings)}async hasUrlParams(){let t,a;if(S.Platform.isMobile){let i=await window.Capacitor.Plugins.App.getLaunchUrl();if(!i)return!1;let o=new URL(i.url);a=Array.from(o.searchParams.keys()),t=o.hostname}else if(window.OBS_ACT)a=Object.keys(window.OBS_ACT),t=window.OBS_ACT.action;else return!1;return["open","advanced-uri"].includes(t)&&["file","filepath","workspace"].some(i=>a.includes(i))}hasRequiredPlugin(t){switch(t){case"Workspace":return this.internalPlugins.workspaces?.enabled;case"Graph view":return this.internalPlugins.graph?.enabled;case"Journal":return"journals"in this.communityPlugins;case"Daily Note":case"Weekly Note":case"Monthly Note":case"Yearly Note":return Ue(t,this);default:return!0}}patchNewTabPage(){let t=this.communityPlugins["new-tab-default-page"];t&&(t.nvOrig_checkForNewTab=t.checkForNewTab,t.checkForNewTab=async a=>{if(!(this&&this.executing))return await t.nvOrig_checkForNewTab(a)})}unpatchNewTabPage(){let t=this.communityPlugins["new-tab-default-page"];t&&(t.checkForNewTab=t.nvOrig_checkForNewTab)}patchReleaseNotes(){this.app.nvOrig_showReleaseNotes=this.app.showReleaseNotes,this.app.showReleaseNotes=()=>this.newRelease=!0}unpatchReleaseNotes(){this.newRelease&&!this.homepage.data.hideReleaseNotes&&this.app.nvOrig_showReleaseNotes(),this.app.showReleaseNotes=this.app.nvOrig_showReleaseNotes}patchOpeningBehaviour(){this.app.nvOrig_runOpeningBehavior=this.app.runOpeningBehavior,this.app.runOpeningBehavior=async t=>{let a=this.homepage.data.openOnStartup&&!await this.hasUrlParams();this.patchNewTabPage(),a?await this.homepage.open():this.app.nvOrig_runOpeningBehavior(t),this.loaded=!0,this.unpatchReleaseNotes()}}unpatchOpeningBehaviour(){this.app.runOpeningBehavior=this.app.nvOrig_runOpeningBehavior}upgradeSettings(t){if(t.version==3){let i=t,o=!1;for(let s of Object.values(i.homepages))s.commands=s.commands.map(c=>({id:c,period:"Both"})),s.kind==Ve&&(o=!0,s.kind="Daily Note");return o&&new S.Notice(r("momentUpgradeNotice")),i.version=4,this.saveData(i),i}let a=Object.assign({},we);return t.workspaceEnabled?(t.value=t.workspace||"",t.kind="Workspace"):t.momentFormat?(t.kind="Daily Note",new S.Notice(r("momentUpgradeNotice"))):(t.value=t.defaultNote||"Home",t.kind="File"),t.commands=[],delete t.workspace,delete t.momentFormat,delete t.defaultNote,delete t.useMoment,delete t.workspaceEnabled,a.homepages[j]=t,this.saveData(a),a}}; /* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/homepage/manifest.json b/.obsidian/plugins/homepage/manifest.json index 972fc15..2c05e2e 100644 --- a/.obsidian/plugins/homepage/manifest.json +++ b/.obsidian/plugins/homepage/manifest.json @@ -1,7 +1,7 @@ { "id": "homepage", "name": "Homepage", - "version": "4.4.2", + "version": "4.4.4", "minAppVersion": "1.12.2", "description": "Open a specified note, canvas, base, or workspace on startup, or set it for quick access later.", "author": "novov", diff --git a/.obsidian/plugins/inline-spoilers/main.js b/.obsidian/plugins/inline-spoilers/main.js index 66f5dca..25e4be1 100644 --- a/.obsidian/plugins/inline-spoilers/main.js +++ b/.obsidian/plugins/inline-spoilers/main.js @@ -3,6 +3,6 @@ * https://github.com/logonoff/obsidian-inline-spoilers * SPDX-License-Identifier: GPL-3.0-or-later */ -"use strict";var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var i in e)u(t,i,{get:e[i],enumerable:!0})},_=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of N(e))!A.call(t,o)&&o!==i&&u(t,o,{get:()=>e[o],enumerable:!(s=y(e,o))||s.enumerable});return t};var v=t=>_(u({},"__esModule",{value:!0}),t);var H={};C(H,{default:()=>g});module.exports=v(H);var D=require("@codemirror/language"),x=require("@codemirror/state"),c=require("@codemirror/view"),n=require("obsidian"),P=/\|\|(.+?)\|\|/g,M="p, li, h1, h2, h3, h4, h5, h6, blockquote, em, strong, b, i, a, th, td",T=t=>{if(t.nodeType===Node.TEXT_NODE){if(!t.textContent||!t.parentNode)return;let e=t.textContent.split(/(\|\|[^|]+\|\|)/g),i=document.createDocumentFragment();for(let s of e)if(P.test(s)){let o=s.slice(2,-2),l=createSpan({cls:"inline_spoilers-spoiler",text:o});i.appendChild(l)}else{let o=document.createTextNode(s);i.appendChild(o)}t.parentNode.replaceChild(i,t)}else t.nodeType===Node.ELEMENT_NODE&&Array.from(t.childNodes).forEach(T)},w=(t,e)=>{let i=t.findAll(M);for(let o of i)Array.from(o.childNodes).forEach(T);let s=t.findAll(".inline_spoilers-spoiler");for(let o of s)e.registerDomEvent(o,"click",()=>{o.classList.toggle("inline_spoilers-revealed")})},V=t=>{let e=Array.from(t.containerEl.querySelectorAll(".inline_spoilers-spoiler"));for(let i of e){let s=i.parentNode,o=document.createTextNode(`||${i.innerText}||`);s&&s.replaceChild(o,i)}},L=c.Decoration.mark({class:"inline_spoilers-editor-spoiler",tagName:"span"}),R=c.Decoration.mark({class:"inline_spoilers-editor-spoiler-delimiter",tagName:"span"}),m=class{constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=this.buildDecorations(e.view))}destroy(){}buildDecorations(e){let i=new x.RangeSetBuilder,s=[];for(let{from:o,to:l}of e.visibleRanges)(0,D.syntaxTree)(e.state).iterate({from:o,to:l,enter(E){let k=e.state.sliceDoc(E.from,E.to),h;for(;(h=P.exec(k))!==null;){let a=h.index,p=a+h[0].length,S=e.state.sliceDoc(a,p);!S.startsWith("||")&&!S.endsWith("||")||(s.push({from:a,to:a+2,isDelimiter:!0}),s.push({from:a+2,to:p-2,isDelimiter:!1}),s.push({from:p-2,to:p,isDelimiter:!0}))}}});s.sort((o,l)=>o.from-l.from);for(let o of s)i.add(o.from,o.to,o.isDelimiter?R:L);return i.finish()}},I={decorations:t=>t.decorations},d=c.ViewPlugin.fromClass(m,I),r=[],O=t=>{r.includes(d)||r.push(d),t.updateOptions()},b=t=>{let e=r.indexOf(d);e!==-1&&r.splice(e,1),t.updateOptions()},W={showAllSpoilers:!1,enableEditorMode:!1},f=class extends n.PluginSettingTab{constructor(e,i){super(e,i),this.plugin=i}display(){let{containerEl:e}=this;e.empty(),new n.Setting(e).setName("Reveal all spoilers").setDesc("Always show all inline spoilers, regardless of whether they are clicked or not.").addToggle(i=>i.setValue(this.plugin.settings.showAllSpoilers).onChange(async s=>{this.plugin.settings.showAllSpoilers=s,this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",s),await this.plugin.saveSettings()})),new n.Setting(e).setName("Hide spoilers in editor view (experimental)").setDesc("Hide spoilers in the editor until your cursor is on the same line as the spoiler.").addToggle(i=>i.setValue(this.plugin.settings.enableEditorMode).onChange(async s=>{this.plugin.settings.enableEditorMode=s,s?O(this.app.workspace):b(this.app.workspace),await this.plugin.saveSettings()}))}},g=class extends n.Plugin{async onload(){await this.loadSettings();let e=this.app.workspace.containerEl.querySelector(".markdown-reading-view");e&&w(e,this),this.registerMarkdownPostProcessor(i=>{w(i,this)}),this.addCommand({id:"create-spoiler",name:"Create spoiler",editorCallback:i=>{let s=i.getSelection();i.replaceSelection(`||${s}||`)}}),this.registerEditorExtension(r),this.addSettingTab(new f(this.app,this))}onunload(){this.app.workspace.containerEl.classList.remove("inline_spoilers-revealed"),V(this.app.workspace),b(this.app.workspace)}async loadSettings(){this.settings=Object.assign({},W,await this.loadData()),this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",this.settings.showAllSpoilers),this.settings.enableEditorMode&&r.push(d)}async saveSettings(){await this.saveData(this.settings)}}; +"use strict";var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var i in e)u(t,i,{get:e[i],enumerable:!0})},v=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of N(e))!A.call(t,o)&&o!==i&&u(t,o,{get:()=>e[o],enumerable:!(s=y(e,o))||s.enumerable});return t};var _=t=>v(u({},"__esModule",{value:!0}),t);var H={};C(H,{default:()=>g});module.exports=_(H);var D=require("@codemirror/language"),x=require("@codemirror/state"),c=require("@codemirror/view"),n=require("obsidian"),P=/\|\|(.+?)\|\|/g,M="p, li, h1, h2, h3, h4, h5, h6, blockquote, em, strong, b, i, a, th, td",T=t=>{if(t.nodeType===Node.TEXT_NODE){if(!t.textContent||!t.parentNode)return;let e=t.textContent.split(/(\|\|[^|]+\|\|)/g),i=createFragment();for(let s of e)if(P.test(s)){let o=s.slice(2,-2),l=createSpan({cls:"inline_spoilers-spoiler",text:o});i.appendChild(l)}else{let o=activeDocument.createTextNode(s);i.appendChild(o)}t.parentNode.replaceChild(i,t)}else t.nodeType===Node.ELEMENT_NODE&&Array.from(t.childNodes).forEach(T)},w=(t,e)=>{let i=t.findAll(M);for(let o of i)Array.from(o.childNodes).forEach(T);let s=t.findAll(".inline_spoilers-spoiler");for(let o of s)e.registerDomEvent(o,"click",()=>{o.classList.toggle("inline_spoilers-revealed")})},V=t=>{let e=Array.from(t.containerEl.querySelectorAll(".inline_spoilers-spoiler"));for(let i of e){let s=i.parentNode,o=activeDocument.createTextNode(`||${i.innerText}||`);s&&s.replaceChild(o,i)}},L=c.Decoration.mark({class:"inline_spoilers-editor-spoiler",tagName:"span"}),R=c.Decoration.mark({class:"inline_spoilers-editor-spoiler-delimiter",tagName:"span"}),m=class{constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=this.buildDecorations(e.view))}destroy(){}buildDecorations(e){let i=new x.RangeSetBuilder,s=[];for(let{from:o,to:l}of e.visibleRanges)(0,D.syntaxTree)(e.state).iterate({from:o,to:l,enter(E){let k=e.state.sliceDoc(E.from,E.to),h;for(;(h=P.exec(k))!==null;){let a=h.index,p=a+h[0].length,S=e.state.sliceDoc(a,p);!S.startsWith("||")&&!S.endsWith("||")||(s.push({from:a,to:a+2,isDelimiter:!0}),s.push({from:a+2,to:p-2,isDelimiter:!1}),s.push({from:p-2,to:p,isDelimiter:!0}))}}});s.sort((o,l)=>o.from-l.from);for(let o of s)i.add(o.from,o.to,o.isDelimiter?R:L);return i.finish()}},I={decorations:t=>t.decorations},d=c.ViewPlugin.fromClass(m,I),r=[],O=t=>{r.includes(d)||r.push(d),t.updateOptions()},b=t=>{let e=r.indexOf(d);e!==-1&&r.splice(e,1),t.updateOptions()},W={showAllSpoilers:!1,enableEditorMode:!1},f=class extends n.PluginSettingTab{constructor(e,i){super(e,i),this.plugin=i}display(){let{containerEl:e}=this;e.empty(),new n.Setting(e).setName("Reveal all spoilers").setDesc("Always show all inline spoilers, regardless of whether they are clicked or not.").addToggle(i=>i.setValue(this.plugin.settings.showAllSpoilers).onChange(async s=>{this.plugin.settings.showAllSpoilers=s,this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",s),await this.plugin.saveSettings()})),new n.Setting(e).setName("Hide spoilers in editor view (experimental)").setDesc("Hide spoilers in the editor until your cursor is on the same line as the spoiler.").addToggle(i=>i.setValue(this.plugin.settings.enableEditorMode).onChange(async s=>{this.plugin.settings.enableEditorMode=s,s?O(this.app.workspace):b(this.app.workspace),await this.plugin.saveSettings()}))}},g=class extends n.Plugin{async onload(){await this.loadSettings();let e=this.app.workspace.containerEl.querySelector(".markdown-reading-view");e&&w(e,this),this.registerMarkdownPostProcessor(i=>{w(i,this)}),this.addCommand({id:"create-spoiler",name:"Create spoiler",editorCallback:i=>{let s=i.getSelection();i.replaceSelection(`||${s}||`)}}),this.registerEditorExtension(r),this.addSettingTab(new f(this.app,this))}onunload(){this.app.workspace.containerEl.classList.remove("inline_spoilers-revealed"),V(this.app.workspace),b(this.app.workspace)}async loadSettings(){this.settings=Object.assign({},W,await this.loadData()),this.app.workspace.containerEl.toggleClass("inline_spoilers-revealed",this.settings.showAllSpoilers),this.settings.enableEditorMode&&r.push(d)}async saveSettings(){await this.saveData(this.settings)}}; /* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/inline-spoilers/manifest.json b/.obsidian/plugins/inline-spoilers/manifest.json index c87396e..30e1f3e 100644 --- a/.obsidian/plugins/inline-spoilers/manifest.json +++ b/.obsidian/plugins/inline-spoilers/manifest.json @@ -1,7 +1,7 @@ { "id": "inline-spoilers", "name": "Inline spoilers", - "version": "1.2.5", + "version": "1.2.6", "minAppVersion": "1.6.5", "description": "Adds Discord-like syntax for inline spoilers.", "author": "logonoff", diff --git a/.obsidian/plugins/inline-spoilers/styles.css b/.obsidian/plugins/inline-spoilers/styles.css index ec996b3..3211f29 100644 --- a/.obsidian/plugins/inline-spoilers/styles.css +++ b/.obsidian/plugins/inline-spoilers/styles.css @@ -13,15 +13,25 @@ body { --inline-spoilers-spoiler-radius: var(--radius-s); } -/* spoiler bar */ +/** + * hidden spoilers + */ +/** used in reader mode */ .inline_spoilers-spoiler, + +/** used in spoiler content in editor mode */ .inline_spoilers-editor-spoiler, + +/** used in delimiter in editor mode */ .inline_spoilers-editor-spoiler-delimiter { /* obscured */ background-color: var(--inline-spoilers-hidden-background) !important; color: var(--inline-spoilers-hidden-foreground) !important; } +/** + * revealed spoilers + */ /** used when a hidden spoiler is revealed by clicking in reader mode */ .inline_spoilers-spoiler.inline_spoilers-revealed, @@ -33,27 +43,31 @@ body { .inline_spoilers-revealed .inline_spoilers-spoiler, .inline_spoilers-revealed .inline_spoilers-editor-spoiler, .inline_spoilers-revealed .inline_spoilers-editor-spoiler-delimiter { - /* revealed */ background-color: var(--inline-spoilers-revealed-background) !important; color: var(--inline-spoilers-revealed-foreground) !important; } -/* reader */ +/** + * spoiler border radius + */ +/* reader mode always shows one contiguous spoiler with rounded corners */ .inline_spoilers-spoiler { border-radius: var(--inline-spoilers-spoiler-radius); } -/* editor */ +/* editor mode, when a spoiler is hidden, does not display delimiters (||) */ .is-live-preview .inline_spoilers-editor-spoiler { border-radius: var(--inline-spoilers-spoiler-radius); } +/* editor mode, when a spoiler is revealed, display delimiters */ .is-live-preview .cm-active .inline_spoilers-editor-spoiler { /* contiguous border radius with the delimiter */ border-radius: 0em; } -/* delimiter */ +/* editor mode, when a spoiler is revealed, display delimiters, which should have + contiguous border radius with the spoiler content */ .cm-line .inline_spoilers-editor-spoiler-delimiter { &:has(+ .inline_spoilers-editor-spoiler) { border-radius: var(--inline-spoilers-spoiler-radius) 0 0 var(--inline-spoilers-spoiler-radius); @@ -63,10 +77,12 @@ body { } } +/** hide spoiler delimiters in editor mode when spoilers are hidden */ .is-live-preview .inline_spoilers-editor-spoiler-delimiter { display: none; } +/** reveal spoiler delimiters in editor mode when a spoiler is revealed */ .is-live-preview .cm-active .inline_spoilers-editor-spoiler-delimiter { display: unset; } diff --git a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js index c5453e8..9cd7e2c 100644 --- a/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +++ b/.obsidian/plugins/obsidian-excalidraw-plugin/main.js @@ -1,10 +1,10 @@ "use strict";var obsidian_module=require("obsidian"),view=require("@codemirror/view"),commands=require("@codemirror/commands"),lr=require("@lezer/lr"),language=require("@codemirror/language"),state=require("@codemirror/state");;const INITIAL_TIMESTAMP=Date.now();var LZString=function(){var r=String.fromCharCode,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",e={};function t(r,o){if(!e[r]){e[r]={};for(var n=0;n>>8,n[2*e+1]=s%256}return n},decompressFromUint8Array:function(o){if(null==o)return i.decompress(o);for(var n=new Array(o.length/2),e=0,t=n.length;e>=1}else{for(t=1,e=0;e>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e>=1;0==--l&&(l=Math.pow(2,h),h++),s[p]=f++,c=String(a)}if(""!==c){if(Object.prototype.hasOwnProperty.call(u,c)){if(c.charCodeAt(0)<256){for(e=0;e>=1}else{for(t=1,e=0;e>=1}0==--l&&(l=Math.pow(2,h),h++),delete u[c]}else for(t=s[c],e=0;e>=1;0==--l&&(l=Math.pow(2,h),h++)}for(t=2,e=0;e>=1;for(;;){if(m<<=1,v==o-1){d.push(n(m));break}v++}return d.join("")},decompress:function(r){return null==r?"":""==r?null:i._decompress(r.length,32768,function(o){return r.charCodeAt(o)})},_decompress:function(o,n,e){var t,i,s,u,a,p,c,l=[],f=4,h=4,d=3,m="",v=[],g={val:e(0),position:n,index:1};for(t=0;t<3;t+=1)l[t]=t;for(s=0,a=Math.pow(2,2),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;c=r(s);break;case 2:return""}for(l[3]=c,i=c,v.push(c);;){if(g.index>o)return"";for(s=0,a=Math.pow(2,d),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;switch(c=s){case 0:for(s=0,a=Math.pow(2,8),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 1:for(s=0,a=Math.pow(2,16),p=1;p!=a;)u=g.val&g.position,g.position>>=1,0==g.position&&(g.position=n,g.val=e(g.index++)),s|=(u>0?1:0)*p,p<<=1;l[h++]=r(s),c=h-1,f--;break;case 2:return v.join("")}if(0==f&&(f=Math.pow(2,d),d++),l[c])m=l[c];else{if(c!==h)return null;m=i+i.charAt(0)}v.push(m),l[h++]=i+m.charAt(0),i=m,0==--f&&(f=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}); let REACT_PACKAGES = `!function(){var e,t;e=this,t=function(e){function M(e){return null!==e&&"object"==typeof e&&"function"==typeof(e=te&&e[te]||e["@@iterator"])?e:null}function t(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function n(){}function r(e,t,n){this.props=e,this.context=t,this.refs=oe,this.updater=n||ne}function o(e,t,n){var r,o={},u=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(u=""+t.key),t)ae.call(t,r)&&!ie.hasOwnProperty(r)&&(o[r]=t[r]);var i=arguments.length-2;if(1===i)o.children=n;else if(1>>1,o=e[r];if(!(0>>1;rt)||e&&!q());){var r,o=R.callback;"function"==typeof o?(R.callback=null,P=R.priorityLevel,r=o(R.expirationTime<=t),t=v(),"function"==typeof r?R.callback=r:R===i(C)&&l(C),y(t)):l(C),R=i(C)}var u,a=null!==R||(null!==(u=i(E))&&_(d,u.startTime-t),!1);return a}finally{R=null,P=n,$=!1}}function q(){return!(v()-de")?l.replace("",n.displayName):l}while(1<=u&&0<=i);break}}}finally{xo=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Q(n):""}function $(e){switch(e.tag){case 5:return Q(e.type);case 16:return Q("Lazy");case 13:return Q("Suspense");case 19:return Q("SuspenseList");case 0:case 2:case 15:return e=j(e.type,!1);case 11:return e=j(e.type.render,!1);case 1:return e=j(e.type,!0);default:return""}}function q(e){if(null!=e){if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case co:return"Fragment";case so:return"Portal";case po:return"Profiler";case fo:return"StrictMode";case yo:return"Suspense";case vo:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ho:return(e.displayName||"Context")+".Consumer";case mo:return(e._context.displayName||"Context")+".Provider";case go:var n=e.render;return e=(e=e.displayName)?e:""!==(e=n.displayName||n.name||"")?"ForwardRef("+e+")":"ForwardRef";case bo:return null!==(n=e.displayName||null)?n:q(e.type)||"Memo";case ko:n=e._payload,e=e._init;try{return q(e(n))}catch(e){}}}return null}function K(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=n.render).displayName||e.name||"",n.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return q(n);case 8:return n===fo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof n)return n.displayName||n.name||null;if("string"==typeof n)return n}return null}function Y(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function X(e){var n=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===n||"radio"===n)}function G(e){var n,t,r=X(e)?"checked":"value",l=Object.getOwnPropertyDescriptor(e.constructor.prototype,r),a=""+e[r];if(!e.hasOwnProperty(r)&&void 0!==l&&"function"==typeof l.get&&"function"==typeof l.set)return n=l.get,t=l.set,Object.defineProperty(e,r,{configurable:!0,get:function(){return n.call(this)},set:function(e){a=""+e,t.call(this,e)}}),Object.defineProperty(e,r,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[r]}}}function Z(e){e._valueTracker||(e._valueTracker=G(e))}function J(e){var n,t,r;return!(!e||(n=e._valueTracker)&&(t=n.getValue(),r="",(e=r=e?X(e)?e.checked?"true":"false":e.value:r)===t||(n.setValue(e),0)))}function ee(n){if(void 0===(n=n||("undefined"!=typeof document?document:void 0)))return null;try{return n.activeElement||n.body}catch(e){return n.body}}function ne(e,n){var t=n.checked;return g({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=t?t:e._wrapperState.initialChecked})}function te(e,n){var t=null==n.defaultValue?"":n.defaultValue,r=null!=n.checked?n.checked:n.defaultChecked,t=Y(null!=n.value?n.value:t);e._wrapperState={initialChecked:r,initialValue:t,controlled:"checkbox"===n.type||"radio"===n.type?null!=n.checked:null!=n.value}}function re(e,n){null!=(n=n.checked)&&B(e,"checked",n,!1)}function le(e,n){re(e,n);var t=Y(n.value),r=n.type;if(null!=t)"number"===r?(0===t&&""===e.value||e.value!=t)&&(e.value=""+t):e.value!==""+t&&(e.value=""+t);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");n.hasOwnProperty("value")?oe(e,n.type,t):n.hasOwnProperty("defaultValue")&&oe(e,n.type,Y(n.defaultValue)),null==n.checked&&null!=n.defaultChecked&&(e.defaultChecked=!!n.defaultChecked)}function ae(e,n,t){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var r=n.type;if(("submit"===r||"reset"===r)&&null==n.value)return;n=""+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==t&&(e.name=t)}function oe(e,n,t){"number"===n&&ee(e.ownerDocument)===e||(null==t?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+t&&(e.defaultValue=""+t))}function ue(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l>>=0)?32:31-(iu(e)/su|0)|0}function Re(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function De(e,n){var t=e.pendingLanes;if(0===t)return 0;var r,l=0,a=e.suspendedLanes,o=e.pingedLanes,u=268435455&t;if(0!==u?0!==(r=u&~a)?l=Re(r):0!==(o&=u)&&(l=Re(o)):0!==(u=t&~a)?l=Re(u):0!==o&&(l=Re(o)),0===l)return 0;if(0!==n&&n!==l&&0==(n&a)&&((o=n&-n)<=(a=l&-l)||16===a&&0!=(4194240&o)))return n;if(0!=(4&l)&&(l|=16&t),0!==(n=e.entangledLanes))for(e=e.entanglements,n&=l;0>=r,a-=r,Xi=1<<32-uu(n)+a|t<u?(i=o,o=null):i=o.sibling;var s=y(n,o,t[u],r);if(null===s){null===o&&(o=i);break}f&&o&&null===s.alternate&&d(n,o),e=h(s,e,u),null===a?l=s:a.sibling=s,a=s,o=i}if(u===t.length)p(n,o);else if(null===o)for(;uu?(i=o,o=null):i=o.sibling;var c=y(n,o,s.value,r);if(null===c){null===o&&(o=i);break}f&&o&&null===c.alternate&&d(n,o),e=h(c,e,u),null===a?l=c:a.sibling=c,a=c,o=i}if(s.done)p(n,o);else if(null===o)for(;!s.done;u++,s=t.next())null!==(s=g(n,s.value,r))&&(e=h(s,e,u),null===a?l=s:a.sibling=s,a=s);else{for(o=m(n,o);!s.done;u++,s=t.next())null!==(s=v(o,n,u,s.value,r))&&(f&&null!==s.alternate&&o.delete(null===s.key?u:s.key),e=h(s,e,u),null===a?l=s:a.sibling=s,a=s);f&&o.forEach(function(e){return d(n,e)})}return E&&vt(n,u),l}function w(e,n,t,r){if("object"==typeof(t="object"==typeof t&&null!==t&&t.type===co&&null===t.key?t.props.children:t)&&null!==t){switch(t.$$typeof){case io:e:{for(var l=t.key,a=n;null!==a;){if(a.key===l){if((l=t.type)===co){if(7===a.tag){p(e,a.sibling),(n=o(a,t.props.children)).return=e,e=n;break e}}else if(a.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===ko&&Mt(l)===a.type){p(e,a.sibling),(n=o(a,t.props)).ref=Lt(e,a,t),n.return=e,e=n;break e}p(e,a);break}d(e,a),a=a.sibling}e=t.type===co?((n=za(t.props.children,e.mode,r,t.key)).return=e,n):((r=Na(t.type,t.key,t.props,null,e.mode,r)).ref=Lt(e,n,t),r.return=e,r)}return u(e);case so:e:{for(a=t.key;null!==n;){if(n.key===a){if(4===n.tag&&n.stateNode.containerInfo===t.containerInfo&&n.stateNode.implementation===t.implementation){p(e,n.sibling),(n=o(n,t.children||[])).return=e,e=n;break e}p(e,n);break}d(e,n),n=n.sibling}(n=La(t,e.mode,r)).return=e,e=n}return u(e);case ko:return w(e,n,(a=t._init)(t._payload),r)}if(Eo(t))return b(e,n,t,r);if(H(t))return k(e,n,t,r);Tt(e,t)}return"string"==typeof t&&""!==t||"number"==typeof t?(t=""+t,(n=null!==n&&6===n.tag?(p(e,n.sibling),o(n,t)):(p(e,n),_a(t,e.mode,r))).return=e,u(e=n)):p(e,n)}return w}function Rt(){os=as=ls=null}function Dt(e,n){n=rs.current,s(rs),e._currentValue=n}function Ot(e,n,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,null!==r&&(r.childLanes|=n)):null!==r&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function It(e,n){(os=as=null)!==(e=(ls=e).dependencies)&&null!==e.firstContext&&(0!=(e.lanes&n)&&(_=!0),e.firstContext=null)}function Ut(e){var n=e._currentValue;if(os!==e)if(e={context:e,memoizedValue:n,next:null},null===as){if(null===ls)throw Error(S(308));as=e,ls.dependencies={lanes:0,firstContext:e}}else as=as.next=e;return n}function Vt(e){null===us?us=[e]:us.push(e)}function At(e,n,t,r){var l=n.interleaved;return null===l?(t.next=t,Vt(n)):(t.next=l.next,l.next=t),n.interleaved=t,Wt(e,r)}function Wt(e,n){e.lanes|=n;var t=e.alternate;for(null!==t&&(t.lanes|=n),e=(t=e).return;null!==e;)e.childLanes|=n,null!==(t=e.alternate)&&(t.childLanes|=n),e=(t=e).return;return 3===t.tag?t.stateNode:null}function Bt(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ht(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qt(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function jt(e,n,t){var r,l=e.updateQueue;return null===l?null:(l=l.shared,(0!=(2&F)?(null===(r=l.pending)?n.next=n:(n.next=r.next,r.next=n),l.pending=n,is):(null===(r=l.interleaved)?(n.next=n,Vt(l)):(n.next=r.next,r.next=n),l.interleaved=n,Wt))(e,t))}function $t(e,n,t){var r;null!==(n=n.updateQueue)&&(n=n.shared,0!=(4194240&t))&&(r=n.lanes,r&=e.pendingLanes,He(e,n.lanes=t|=r))}function qt(e,n){var t=e.updateQueue,r=e.alternate;if(null!==r&&t===(r=r.updateQueue)){var l=null,a=null;if(null!==(t=t.firstBaseUpdate)){do{var o={eventTime:t.eventTime,lane:t.lane,tag:t.tag,payload:t.payload,callback:t.callback,next:null}}while(null===a?l=a=o:a=a.next=o,null!==(t=t.next));null===a?l=a=n:a=a.next=n}else l=a=n;t={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=t}else null===(e=t.lastBaseUpdate)?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}function Kt(e,n,t,r){var l,a,o=e.updateQueue,u=(ss=!1,o.firstBaseUpdate),i=o.lastBaseUpdate;if(null!==(f=o.shared.pending)&&(o.shared.pending=null,a=(l=f).next,(l.next=null)===i?u=a:i.next=a,i=l,null!==(c=e.alternate))&&(f=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===f?c.firstBaseUpdate=a:f.next=a,c.lastBaseUpdate=l),null!==u){for(var s=o.baseState,i=0,c=a=l=null,f=u;;){var d=f.lane,p=f.eventTime;if((r&d)===d){null!==c&&(c=c.next={eventTime:p,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,next:null});e:{var m=e,h=f,d=n,p=t;switch(h.tag){case 1:if("function"==typeof(m=h.payload)){s=m.call(p,s,d);break e}s=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(d="function"==typeof(m=h.payload)?m.call(p,s,d):m))break e;s=g({},s,d);break e;case 2:ss=!0}}null!==f.callback&&0!==f.lane&&(e.flags|=64,null===(d=o.effects)?o.effects=[f]:d.push(f))}else p={eventTime:p,lane:d,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===c?(a=c=p,l=s):c=c.next=p,i|=d;if(null===(f=f.next)){if(null===(f=o.shared.pending))break;f=(d=f).next,d.next=null,o.lastBaseUpdate=d,o.shared.pending=null}}if(null===c&&(l=s),o.baseState=l,o.firstBaseUpdate=a,o.lastBaseUpdate=c,null!==(n=o.shared.interleaved))for(o=n;i|=o.lane,(o=o.next)!==n;);else null===u&&(o.shared.lanes=0);Qs|=i,e.lanes=i,e.memoizedState=s}}function Yt(e,n,t){if(e=n.effects,(n.effects=null)!==e)for(n=0;n<\\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=o.createElement(t,{is:r.is}):(e=o.createElement(t),"select"===t&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,t),e[Li]=n,e[Ti]=r,Ls(e,n,!1,!1),n.stateNode=e;e:{switch(o=ye(t,r),t){case"dialog":c("cancel",e),c("close",e),a=r;break;case"iframe":case"object":case"embed":c("load",e),a=r;break;case"video":case"audio":for(a=0;aYs&&(n.flags|=128,wl(i,!(r=!0)),n.lanes=4194304)}else{if(!r)if(null!==(e=nr(o))){if(n.flags|=128,r=!0,null!==(t=e.updateQueue)&&(n.updateQueue=t,n.flags|=4),wl(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!E)return p(n),null}else 2*y()-i.renderingStartTime>Ys&&1073741824!==t&&(n.flags|=128,wl(i,!(r=!0)),n.lanes=4194304);i.isBackwards?(o.sibling=n.child,n.child=o):(null!==(t=i.last)?t.sibling=o:n.child=o,i.last=o)}if(null!==i.tail)return n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=y(),n.sibling=null,t=C.current,f(C,r?1&t|2:1&t),n}return p(n),null;case 22:case 23:return O=Bs.current,s(Bs),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!=(1&n.mode)?0!=(1073741824&O)&&(p(n),6&n.subtreeFlags)&&(n.flags|=8192):p(n),null;case 24:case 25:return null}throw Error(S(156,n.tag))}function xl(e,n,t){switch(wt(n),n.tag){case 1:return h(n.type)&&(s(b),s(v)),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return Zt(),s(b),s(v),tr(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 5:return er(n),null;case 13:if(s(C),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(S(340));Pt()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return s(C),null;case 4:return Zt(),null;case 10:return Dt(n.type._context),null;case 22:case 23:return O=Bs.current,s(Bs),null;default:return null}}function El(n,t){var e=n.ref;if(null!==e)if("function"==typeof e)try{e(null)}catch(e){w(n,t,e)}else e.current=null}function Cl(n,t,e){try{e()}catch(e){w(n,t,e)}}function Nl(e,n){if(Ei=Su,Dn(e=Rn())){if("selectionStart"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:if((a=(t=(t=e.ownerDocument)&&t.defaultView||window).getSelection&&t.getSelection())&&0!==a.rangeCount){var t=a.anchorNode,r=a.anchorOffset,l=a.focusNode,a=a.focusOffset;try{t.nodeType,l.nodeType}catch(e){t=null;break e}var o,u=0,i=-1,s=-1,c=0,f=0,d=e,p=null;n:for(;;){for(;d!==t||0!==r&&3!==d.nodeType||(i=u+r),d!==l||0!==a&&3!==d.nodeType||(s=u+a),3===d.nodeType&&(u+=d.nodeValue.length),null!==(o=d.firstChild);)p=d,d=o;for(;;){if(d===e)break n;if(p===t&&++c===r&&(i=u),p===l&&++f===a&&(s=u),null!==(o=d.nextSibling))break;p=(d=p).parentNode}d=o}t=-1===i||-1===s?null:{start:i,end:s}}else t=null;t=t||{start:0,end:0}}else t=null;for(Su=!(Ci={focusedElem:e,selectionRange:t}),T=n;null!==T;)if(e=(n=T).child,0!=(1028&n.subtreeFlags)&&null!==e)e.return=n,T=e;else for(;null!==T;){n=T;try{var m,h,g,y,v=n.alternate;if(0!=(1024&n.flags))switch(n.tag){case 0:case 11:case 15:break;case 1:null!==v&&(m=v.memoizedProps,h=v.memoizedState,y=(g=n.stateNode).getSnapshotBeforeUpdate(n.elementType===n.type?m:Ar(n.type,m),h),g.__reactInternalSnapshotBeforeUpdate=y);break;case 3:var b=n.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(S(163))}}catch(e){w(n,n.return,e)}if(null!==(e=n.sibling)){e.return=n.return,T=e;break}T=n.return}return v=Os,Os=!1,v}function zl(e,n,t){var r=n.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var l,a=r=r.next;do{}while((a.tag&e)===e&&(l=a.destroy,(a.destroy=void 0)!==l)&&Cl(n,t,l),(a=a.next)!==r)}}function Pl(e,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var t,r=n=n.next;do{}while((r.tag&e)===e&&(t=r.create,r.destroy=t()),(r=r.next)!==n)}}function _l(e){var n,t=e.ref;null!==t&&(n=e.stateNode,e.tag,e=n,"function"==typeof t?t(e):t.current=e)}function Ll(e){var n=e.alternate;null!==n&&(e.alternate=null,Ll(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(n=e.stateNode)&&(delete n[Li],delete n[Ti],delete n[Fi],delete n[Ri],delete n[Di]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Tl(e){return 5===e.tag||3===e.tag||4===e.tag}function Ml(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Tl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e=(e.child.return=e).child}if(!(2&e.flags))return e.stateNode}}function Fl(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?(8===t.nodeType?t.parentNode:t).insertBefore(e,n):(8===t.nodeType?(n=t.parentNode).insertBefore(e,t):(n=t).appendChild(e),null==(t=t._reactRootContainer)&&null===n.onclick&&(n.onclick=Jn));else if(4!==r&&null!==(e=e.child))for(Fl(e,n,t),e=e.sibling;null!==e;)Fl(e,n,t),e=e.sibling}function Rl(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(4!==r&&null!==(e=e.child))for(Rl(e,n,t),e=e.sibling;null!==e;)Rl(e,n,t),e=e.sibling}function Dl(e,n,t){for(t=t.child;null!==t;)Ol(e,n,t),t=t.sibling}function Ol(e,n,t){if(ou&&"function"==typeof ou.onCommitFiberUnmount)try{ou.onCommitFiberUnmount(au,t)}catch(e){}switch(t.tag){case 5:L||El(t,n);case 6:var r=M,l=Is;M=null,Dl(e,n,t),Is=l,null!==(M=r)&&(Is?(e=M,t=t.stateNode,(8===e.nodeType?e.parentNode:e).removeChild(t)):M.removeChild(t.stateNode));break;case 18:null!==M&&(Is?(e=M,t=t.stateNode,8===e.nodeType?tt(e.parentNode,t):1===e.nodeType&&tt(e,t),Je(e)):tt(M,t.stateNode));break;case 4:r=M,l=Is,M=t.stateNode.containerInfo,Is=!0,Dl(e,n,t),M=r,Is=l;break;case 0:case 11:case 14:case 15:if(!L&&null!==(r=t.updateQueue)&&null!==(r=r.lastEffect)){l=r=r.next;do{var a=(o=l).destroy,o=o.tag}while(void 0===a||0==(2&o)&&0==(4&o)||Cl(t,n,a),(l=l.next)!==r)}Dl(e,n,t);break;case 1:if(!L&&(El(t,n),"function"==typeof(r=t.stateNode).componentWillUnmount))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(e){w(t,n,e)}Dl(e,n,t);break;case 21:Dl(e,n,t);break;case 22:1&t.mode?(L=(r=L)||null!==t.memoizedState,Dl(e,n,t),L=r):Dl(e,n,t);break;default:Dl(e,n,t)}}function Il(t){var r,e=t.updateQueue;null!==e&&((t.updateQueue=null)===(r=t.stateNode)&&(r=t.stateNode=new Ds),e.forEach(function(e){var n=ka.bind(null,t,e);r.has(e)||(r.add(e),e.then(n,n))}))}function Ul(e,n,t){if(null!==(t=n.deletions))for(var r=0;r