diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index b30b108..7147f6b 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -4,7 +4,6 @@ "obsidian-enhancing-mindmap", "obsidian-auto-link-title", "cm-editor-syntax-highlight-obsidian", - "markdown-prettifier", "emoji-shortcodes", "obsidian-emoji-toolbar", "obsidian-enhancing-export", @@ -18,5 +17,6 @@ "obsidian-excalidraw-plugin", "text-snippets-obsidian", "obsidian-list-callouts", - "obsidian-columns" + "obsidian-columns", + "obsidian-linter" ] \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-columns/main.js b/.obsidian/plugins/obsidian-columns/main.js index 2f90406..33b37dd 100644 --- a/.obsidian/plugins/obsidian-columns/main.js +++ b/.obsidian/plugins/obsidian-columns/main.js @@ -1,20 +1,20 @@ -/* -THIS IS A GENERATED/BUNDLED FILE BY ESBUILD -if you want to view the source, please visit the github repository of this plugin -*/ - -var U=Object.create;var w=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var v=n=>w(n,"__esModule",{value:!0});var _=(n,t)=>{v(n);for(var e in t)w(n,e,{get:t[e],enumerable:!0})},K=(n,t,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of V(t))!j.call(n,l)&&l!=="default"&&w(n,l,{get:()=>t[l],enumerable:!(e=W(t,l))||e.enumerable});return n},N=n=>K(v(w(n!=null?U(q(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var m=(n,t,e)=>new Promise((l,r)=>{var s=a=>{try{o(e.next(a))}catch(h){r(h)}},i=a=>{try{o(e.throw(a))}catch(h){r(h)}},o=a=>a.done?l(a.value):Promise.resolve(a.value).then(s,i);o((e=e.apply(n,t)).next())});_(exports,{ColumnInsertModal:()=>x,default:()=>M});var u=N(require("obsidian"));var I=N(require("obsidian")),J=n=>n=="yes"||n=="true",Q=(n,t)=>{if(t=="string")return n;if(t=="boolean")return J(n);if(t=="number")return parseFloat(n)};function T(n,t,e,l){let r=new I.Setting(n).setName(t[1].name).setDesc(t[1].desc);typeof t[1].value=="boolean"?r.addToggle(s=>s.setValue(e).onChange(i=>{l(i,t[0])})):r.addText(s=>s.setPlaceholder(String(t[1].value)).setValue(String(e)).onChange(i=>{l(Q(i,typeof t[1].value),t[0])}))}function L(n,t,e){let{containerEl:l}=n;l.empty(),l.createEl("h2",{text:"Settings for "+e});let r=Object.entries(t);for(let s of r)T(l,s,n.plugin.settings[s[0]].value,(i,o)=>{n.plugin.settings[o].value=i,n.plugin.saveSettings()})}function D(n,t){return m(this,null,function*(){return new Promise((e,l)=>{n.settings=t,n.loadData().then(r=>{r&&Object.entries(r).forEach(i=>{n.settings[i[0]].value=i[1]})}).then(e).catch(l)})})}function P(n,t){return m(this,null,function*(){let e={};Object.entries(n.settings).forEach(l=>{e[l[0]]=l[1].value,l[1].onChange(l[1].value)}),yield n.saveData(e)})}var X="Obsidian Columns",E="col",O=E+"-md",Y="!!!",A="===";var k="--obsidian-columns-min-width",G="--obsidian-columns-def-span",Z="`",b={wrapSize:{value:100,name:"Minimum width of column",desc:"Columns will have this minimum width before wrapping to a new row. 0 disables column wrapping. Useful for smaller devices",onChange:n=>{document.querySelector(":root").style.setProperty(k,n.toString()+"px")}},defaultSpan:{value:1,name:"The default span of an item",desc:"The default width of a column. If the minimum width is specified, the width of the column will be multiplied by this setting.",onChange:n=>{document.querySelector(":root").style.setProperty(G,n.toString())}}},B=(n,t=["`"],e=A)=>{let l=n.split(` -`),r=!1;e:for(let s of l)for(let i of t){if(s.contains(i))break e;if(s==e){let o=n.split(e+` -`);if(o.length>1)return{settings:o[0],source:o.slice(1).join(e+` -`)};break e}}return{settings:"",source:n}},H=n=>{let t={};return n.split(` -`).map(e=>e.split(";")).reduce((e,l)=>(e.push(...l),e)).map(e=>e.split("=").map(l=>l.trim()).slice(0,2)).forEach(e=>{t[e[0]]=e[1]}),t},$=n=>{let t=0,e=n.split("");for(let l of e)if(l==Z)t++;else break;return t},ee=n=>{let t=n.split(` -`),e=[],l=0,r=0,s=[];for(let i of t){let o=$(i);if(r=o<3?0:o,l==0&&r==0&&i.startsWith(A)){e.push(s.join(` -`)),s=[];continue}else l==0?l=r:l==r&&(l=0);s.push(i)}return e.push(s.join(` -`)),e},R=n=>parseFloat(n.split("").filter(t=>"0123456789.".contains(t)).join("")),M=class extends u.Plugin{constructor(){super(...arguments);this.generateCssString=t=>{let e={};return e.flexGrow=t.toString(),e.flexBasis=(this.settings.wrapSize.value*t).toString()+"px",e.width=(this.settings.wrapSize.value*t).toString()+"px",e};this.applyStyle=(t,e)=>{Object.assign(t.style,e)};this.processChild=t=>{t.firstChild!=null&&"tagName"in t.firstChild&&t.firstChild.tagName=="BR"&&t.removeChild(t.firstChild);let e=t;for(;e!=null;)"style"in e&&(e.style.marginTop="0px"),e=e.firstChild;let l=t;for(;l!=null;)"style"in l&&(l.style.marginBottom="0px"),l=l.lastChild}}onload(){return m(this,null,function*(){yield this.loadSettings(),this.addSettingTab(new F(this.app,this)),this.registerMarkdownCodeBlockProcessor(O,(e,l,r)=>{let s=B(e),i=H(s.settings);e=s.source;let o=r.sourcePath,a=l.createDiv(),h=new u.MarkdownRenderChild(a);if(r.addChild(h),u.MarkdownRenderer.renderMarkdown(e,a,o,h),i.flexGrow!=null){let d=parseFloat(i.flexGrow),f=this.generateCssString(d);delete f.width,this.applyStyle(a,f)}if(i.height!=null){let d={};d.height=i.height.toString(),d.overflow="scroll",this.applyStyle(a,d)}if(i.textAlign!=null){let d={};d.textAlign=i.textAlign,this.applyStyle(a,d)}this.applyPotentialBorderStyling(i,a)}),this.registerMarkdownCodeBlockProcessor(E,(e,l,r)=>m(this,null,function*(){let s=B(e),i=H(s.settings),o=ee(s.source);console.log(o);for(let a of o){let h=r.sourcePath,d=createDiv(),f=new u.MarkdownRenderChild(d);r.addChild(f);let y=u.MarkdownRenderer.renderMarkdown(a,d,h,f),S=l.createEl("div",{cls:"columnParent"});if(Array.from(d.children).forEach(g=>{let c=S.createEl("div",{cls:"columnChild"}),C=new u.MarkdownRenderChild(c);r.addChild(C),this.applyStyle(c,this.generateCssString(this.settings.defaultSpan.value)),c.appendChild(g),g.classList.contains("block-language-"+O)&&g.childNodes[0].style.flexGrow!=""&&(c.style.flexGrow=g.childNodes[0].style.flexGrow,c.style.flexBasis=g.childNodes[0].style.flexBasis,c.style.width=g.childNodes[0].style.flexBasis),this.processChild(g)}),i.height!=null){let g=i.height;if(g=="shortest"){yield y;let c=Math.min(...Array.from(S.children).map(p=>p.childNodes[0]).map(p=>R(getComputedStyle(p).height)+R(getComputedStyle(p).lineHeight))),C={};C.height=c+"px",C.overflow="scroll",Array.from(S.children).map(p=>p.childNodes[0]).forEach(p=>{this.applyStyle(p,C)})}else{let c={};c.height=g,c.overflow="scroll",this.applyStyle(S,c)}}if(i.textAlign!=null){let g={};g.textAlign=i.textAlign,this.applyStyle(S,g)}this.applyPotentialBorderStyling(i,S)}})),this.addCommand({id:"insert-column-wrapper",name:"Insert column wrapper",editorCallback:(e,l)=>{new x(this.app,r=>{let s=r.numberOfColumns.value,i="````col\n";for(let o=0;o{let r=e.getSelection(),s=e.getCursor(),i="````col\n```col-md\nflexGrow=1\n===\n"+r+"\n```\n````\n";if(e.replaceSelection(i),r==="")e.setCursor({line:s.line+4,ch:0});else{let o=r.split(` -`).length;e.setCursor({line:s.line+4+o-1,ch:r.length-r.lastIndexOf(` -`)-1})}}}),this.addCommand({id:"insert-column",name:"Insert column",editorCallback:(e,l)=>{let r=e.getSelection(),s=e.getCursor(),i;if(r==="")i="```col-md\nflexGrow=1\n===\n# New Column\n\n```",e.replaceSelection(i),e.setCursor({line:s.line+4,ch:0});else{i="```col-md\nflexGrow=1\n===\n"+r+"\n```",e.replaceSelection(i);let o=r.split(` -`).length;e.setCursor({line:s.line+o+2,ch:r.length-r.lastIndexOf(` -`)-1})}}});let t=(e,l)=>{for(let r of Array.from(e.children))if(r!=null&&!(r.nodeName!="UL"&&r.nodeName!="OL"))for(let s of Array.from(r.children)){if(s==null)continue;if(!s.textContent.trim().startsWith(Y+E)){t(s,l);continue}r.removeChild(s);let i=e.createEl("div",{cls:"columnParent"}),o=new u.MarkdownRenderChild(i);l.addChild(o);let a=s.querySelector("ul, ol");if(a!=null)for(let h of Array.from(a.children)){let d=i.createEl("div",{cls:"columnChild"}),f=new u.MarkdownRenderChild(d);l.addChild(f);let y=parseFloat(h.textContent.split(` -`)[0].split(" ")[0]);isNaN(y)&&(y=this.settings.defaultSpan.value),this.applyStyle(d,this.generateCssString(y));let S=!1;t(h,l);for(let g of Array.from(h.childNodes))S&&d.appendChild(g),g.nodeName=="#text"&&(S=!0);this.processChild(d)}}};this.registerMarkdownPostProcessor((e,l)=>{t(e,l)})})}applyPotentialBorderStyling(t,e){var r,s;if(t.borderColor!=null||t.borderStyle!=null||t.borderWidth!=null||t.borderRadius!=null||t.borderPadding!=null){let i={};i.borderColor=(r=t.borderColor)!=null?r:"white",i.borderStyle=(s=t.borderStyle)!=null?s:"solid",i.borderWidth=this.parseBorderSizeInput(t.borderWidth,"1px"),i.borderRadius=this.parseBorderSizeInput(t.borderRadius),i.padding=this.parseBorderSizeInput(t.borderPadding),this.applyStyle(e,i)}}parseBorderSizeInput(t,e="0"){return t==null?e:+t?t+"px":t}onunload(){}loadSettings(){return m(this,null,function*(){yield D(this,b);let t=document.querySelector(":root");console.log(this.settings.wrapSize.value.toString()),t.style.setProperty(k,this.settings.wrapSize.value.toString()+"px"),t.style.setProperty(G,this.settings.defaultSpan.value.toString())})}saveSettings(){return m(this,null,function*(){yield P(this,b)})}},z={numberOfColumns:{value:2,name:"Number of Columns",desc:"Number of Columns to be made"}},x=class extends u.Modal{constructor(t,e){super(t);this.onSubmit=e}onOpen(){let{contentEl:t}=this;t.createEl("h1",{text:"Create a Column Wrapper"});let e=z,l=Object.entries(z);for(let r of l)T(t,r,"",(s,i)=>{e[i].value=s});new u.Setting(t).addButton(r=>r.setButtonText("Submit").setCta().onClick(()=>{this.close(),this.onSubmit(e)}))}onClose(){let{contentEl:t}=this;t.empty()}},F=class extends u.PluginSettingTab{constructor(t,e){super(t,e);this.plugin=e}display(){L(this,b,X)}}; - +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var U=Object.create;var w=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var v=n=>w(n,"__esModule",{value:!0});var _=(n,t)=>{v(n);for(var e in t)w(n,e,{get:t[e],enumerable:!0})},K=(n,t,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of V(t))!j.call(n,l)&&l!=="default"&&w(n,l,{get:()=>t[l],enumerable:!(e=W(t,l))||e.enumerable});return n},N=n=>K(v(w(n!=null?U(q(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);var m=(n,t,e)=>new Promise((l,r)=>{var s=a=>{try{o(e.next(a))}catch(h){r(h)}},i=a=>{try{o(e.throw(a))}catch(h){r(h)}},o=a=>a.done?l(a.value):Promise.resolve(a.value).then(s,i);o((e=e.apply(n,t)).next())});_(exports,{ColumnInsertModal:()=>x,default:()=>M});var u=N(require("obsidian"));var I=N(require("obsidian")),J=n=>n=="yes"||n=="true",Q=(n,t)=>{if(t=="string")return n;if(t=="boolean")return J(n);if(t=="number")return parseFloat(n)};function T(n,t,e,l){let r=new I.Setting(n).setName(t[1].name).setDesc(t[1].desc);typeof t[1].value=="boolean"?r.addToggle(s=>s.setValue(e).onChange(i=>{l(i,t[0])})):r.addText(s=>s.setPlaceholder(String(t[1].value)).setValue(String(e)).onChange(i=>{l(Q(i,typeof t[1].value),t[0])}))}function L(n,t,e){let{containerEl:l}=n;l.empty(),l.createEl("h2",{text:"Settings for "+e});let r=Object.entries(t);for(let s of r)T(l,s,n.plugin.settings[s[0]].value,(i,o)=>{n.plugin.settings[o].value=i,n.plugin.saveSettings()})}function D(n,t){return m(this,null,function*(){return new Promise((e,l)=>{n.settings=t,n.loadData().then(r=>{r&&Object.entries(r).forEach(i=>{n.settings[i[0]].value=i[1]})}).then(e).catch(l)})})}function P(n,t){return m(this,null,function*(){let e={};Object.entries(n.settings).forEach(l=>{e[l[0]]=l[1].value,l[1].onChange(l[1].value)}),yield n.saveData(e)})}var X="Obsidian Columns",E="col",O=E+"-md",Y="!!!",A="===";var k="--obsidian-columns-min-width",G="--obsidian-columns-def-span",Z="`",b={wrapSize:{value:100,name:"Minimum width of column",desc:"Columns will have this minimum width before wrapping to a new row. 0 disables column wrapping. Useful for smaller devices",onChange:n=>{document.querySelector(":root").style.setProperty(k,n.toString()+"px")}},defaultSpan:{value:1,name:"The default span of an item",desc:"The default width of a column. If the minimum width is specified, the width of the column will be multiplied by this setting.",onChange:n=>{document.querySelector(":root").style.setProperty(G,n.toString())}}},B=(n,t=["`"],e=A)=>{let l=n.split(` +`),r=!1;e:for(let s of l)for(let i of t){if(s.contains(i))break e;if(s==e){let o=n.split(e+` +`);if(o.length>1)return{settings:o[0],source:o.slice(1).join(e+` +`)};break e}}return{settings:"",source:n}},H=n=>{let t={};return n.split(` +`).map(e=>e.split(";")).reduce((e,l)=>(e.push(...l),e)).map(e=>e.split("=").map(l=>l.trim()).slice(0,2)).forEach(e=>{t[e[0]]=e[1]}),t},$=n=>{let t=0,e=n.split("");for(let l of e)if(l==Z)t++;else break;return t},ee=n=>{let t=n.split(` +`),e=[],l=0,r=0,s=[];for(let i of t){let o=$(i);if(r=o<3?0:o,l==0&&r==0&&i.startsWith(A)){e.push(s.join(` +`)),s=[];continue}else l==0?l=r:l==r&&(l=0);s.push(i)}return e.push(s.join(` +`)),e},R=n=>parseFloat(n.split("").filter(t=>"0123456789.".contains(t)).join("")),M=class extends u.Plugin{constructor(){super(...arguments);this.generateCssString=t=>{let e={};return e.flexGrow=t.toString(),e.flexBasis=(this.settings.wrapSize.value*t).toString()+"px",e.width=(this.settings.wrapSize.value*t).toString()+"px",e};this.applyStyle=(t,e)=>{Object.assign(t.style,e)};this.processChild=t=>{t.firstChild!=null&&"tagName"in t.firstChild&&t.firstChild.tagName=="BR"&&t.removeChild(t.firstChild);let e=t;for(;e!=null;)"style"in e&&(e.style.marginTop="0px"),e=e.firstChild;let l=t;for(;l!=null;)"style"in l&&(l.style.marginBottom="0px"),l=l.lastChild}}onload(){return m(this,null,function*(){yield this.loadSettings(),this.addSettingTab(new F(this.app,this)),this.registerMarkdownCodeBlockProcessor(O,(e,l,r)=>{let s=B(e),i=H(s.settings);e=s.source;let o=r.sourcePath,a=l.createDiv(),h=new u.MarkdownRenderChild(a);if(r.addChild(h),u.MarkdownRenderer.renderMarkdown(e,a,o,h),i.flexGrow!=null){let d=parseFloat(i.flexGrow),f=this.generateCssString(d);delete f.width,this.applyStyle(a,f)}if(i.height!=null){let d={};d.height=i.height.toString(),d.overflow="scroll",this.applyStyle(a,d)}if(i.textAlign!=null){let d={};d.textAlign=i.textAlign,this.applyStyle(a,d)}this.applyPotentialBorderStyling(i,a)}),this.registerMarkdownCodeBlockProcessor(E,(e,l,r)=>m(this,null,function*(){let s=B(e),i=H(s.settings),o=ee(s.source);console.log(o);for(let a of o){let h=r.sourcePath,d=createDiv(),f=new u.MarkdownRenderChild(d);r.addChild(f);let y=u.MarkdownRenderer.renderMarkdown(a,d,h,f),S=l.createEl("div",{cls:"columnParent"});if(Array.from(d.children).forEach(g=>{let c=S.createEl("div",{cls:"columnChild"}),C=new u.MarkdownRenderChild(c);r.addChild(C),this.applyStyle(c,this.generateCssString(this.settings.defaultSpan.value)),c.appendChild(g),g.classList.contains("block-language-"+O)&&g.childNodes[0].style.flexGrow!=""&&(c.style.flexGrow=g.childNodes[0].style.flexGrow,c.style.flexBasis=g.childNodes[0].style.flexBasis,c.style.width=g.childNodes[0].style.flexBasis),this.processChild(g)}),i.height!=null){let g=i.height;if(g=="shortest"){yield y;let c=Math.min(...Array.from(S.children).map(p=>p.childNodes[0]).map(p=>R(getComputedStyle(p).height)+R(getComputedStyle(p).lineHeight))),C={};C.height=c+"px",C.overflow="scroll",Array.from(S.children).map(p=>p.childNodes[0]).forEach(p=>{this.applyStyle(p,C)})}else{let c={};c.height=g,c.overflow="scroll",this.applyStyle(S,c)}}if(i.textAlign!=null){let g={};g.textAlign=i.textAlign,this.applyStyle(S,g)}this.applyPotentialBorderStyling(i,S)}})),this.addCommand({id:"insert-column-wrapper",name:"Insert column wrapper",editorCallback:(e,l)=>{new x(this.app,r=>{let s=r.numberOfColumns.value,i="````col\n";for(let o=0;o{let r=e.getSelection(),s=e.getCursor(),i="````col\n```col-md\nflexGrow=1\n===\n"+r+"\n```\n````\n";if(e.replaceSelection(i),r==="")e.setCursor({line:s.line+4,ch:0});else{let o=r.split(` +`).length;e.setCursor({line:s.line+4+o-1,ch:r.length-r.lastIndexOf(` +`)-1})}}}),this.addCommand({id:"insert-column",name:"Insert column",editorCallback:(e,l)=>{let r=e.getSelection(),s=e.getCursor(),i;if(r==="")i="```col-md\nflexGrow=1\n===\n# New Column\n\n```",e.replaceSelection(i),e.setCursor({line:s.line+4,ch:0});else{i="```col-md\nflexGrow=1\n===\n"+r+"\n```",e.replaceSelection(i);let o=r.split(` +`).length;e.setCursor({line:s.line+o+2,ch:r.length-r.lastIndexOf(` +`)-1})}}});let t=(e,l)=>{for(let r of Array.from(e.children))if(r!=null&&!(r.nodeName!="UL"&&r.nodeName!="OL"))for(let s of Array.from(r.children)){if(s==null)continue;if(!s.textContent.trim().startsWith(Y+E)){t(s,l);continue}r.removeChild(s);let i=e.createEl("div",{cls:"columnParent"}),o=new u.MarkdownRenderChild(i);l.addChild(o);let a=s.querySelector("ul, ol");if(a!=null)for(let h of Array.from(a.children)){let d=i.createEl("div",{cls:"columnChild"}),f=new u.MarkdownRenderChild(d);l.addChild(f);let y=parseFloat(h.textContent.split(` +`)[0].split(" ")[0]);isNaN(y)&&(y=this.settings.defaultSpan.value),this.applyStyle(d,this.generateCssString(y));let S=!1;t(h,l);for(let g of Array.from(h.childNodes))S&&d.appendChild(g),g.nodeName=="#text"&&(S=!0);this.processChild(d)}}};this.registerMarkdownPostProcessor((e,l)=>{t(e,l)})})}applyPotentialBorderStyling(t,e){var r,s;if(t.borderColor!=null||t.borderStyle!=null||t.borderWidth!=null||t.borderRadius!=null||t.borderPadding!=null){let i={};i.borderColor=(r=t.borderColor)!=null?r:"white",i.borderStyle=(s=t.borderStyle)!=null?s:"solid",i.borderWidth=this.parseBorderSizeInput(t.borderWidth,"1px"),i.borderRadius=this.parseBorderSizeInput(t.borderRadius),i.padding=this.parseBorderSizeInput(t.borderPadding),this.applyStyle(e,i)}}parseBorderSizeInput(t,e="0"){return t==null?e:+t?t+"px":t}onunload(){}loadSettings(){return m(this,null,function*(){yield D(this,b);let t=document.querySelector(":root");console.log(this.settings.wrapSize.value.toString()),t.style.setProperty(k,this.settings.wrapSize.value.toString()+"px"),t.style.setProperty(G,this.settings.defaultSpan.value.toString())})}saveSettings(){return m(this,null,function*(){yield P(this,b)})}},z={numberOfColumns:{value:2,name:"Number of Columns",desc:"Number of Columns to be made"}},x=class extends u.Modal{constructor(t,e){super(t);this.onSubmit=e}onOpen(){let{contentEl:t}=this;t.createEl("h1",{text:"Create a Column Wrapper"});let e=z,l=Object.entries(z);for(let r of l)T(t,r,"",(s,i)=>{e[i].value=s});new u.Setting(t).addButton(r=>r.setButtonText("Submit").setCta().onClick(()=>{this.close(),this.onSubmit(e)}))}onClose(){let{contentEl:t}=this;t.empty()}},F=class extends u.PluginSettingTab{constructor(t,e){super(t,e);this.plugin=e}display(){L(this,b,X)}}; + /* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-columns/manifest.json b/.obsidian/plugins/obsidian-columns/manifest.json index 2925ba5..65e0f2d 100644 --- a/.obsidian/plugins/obsidian-columns/manifest.json +++ b/.obsidian/plugins/obsidian-columns/manifest.json @@ -1,10 +1,10 @@ -{ - "id": "obsidian-columns", - "name": "Columns", - "minAppVersion": "0.12.0", - "description": "Allows you to create columns in Obsidian Markdown", - "author": "Trevor Nichols", - "authorUrl": "https://github.com/tnichols217/obsidian-columns", - "isDesktopOnly": false, - "version": "1.6.1" +{ + "id": "obsidian-columns", + "name": "Columns", + "minAppVersion": "0.12.0", + "description": "Allows you to create columns in Obsidian Markdown", + "author": "Trevor Nichols", + "authorUrl": "https://github.com/tnichols217/obsidian-columns", + "isDesktopOnly": false, + "version": "1.6.1" } \ No newline at end of file diff --git a/Haina/Templates/W-log.md b/Haina/Templates/W-log.md index acb4e1a..e66cae0 100644 --- a/Haina/Templates/W-log.md +++ b/Haina/Templates/W-log.md @@ -64,63 +64,80 @@ for (let day = 0; day < 2; day++) { ## 本周计划 1. -> [!info] 最近 +> [!info]- 最近 > > ```tasks -> (not done) OR (done after last monday) +> (not done) OR (done after <% moment(tp.file.title).weekday(1).subtract(14, "days").format('YYYY-MM-DD') %>) > path includes Haina > filter by function task.file.path.includes('项目') -> filter by function task.file.property('Updated') > '<% moment(tp.file.title).weekday(1).subtract(14, "days").format('YYYY-MM-DD') %>' +> filter by function task.file.property('Updated') > '<% moment(tp.file.title).startOf('month').subtract(1, "month").format('YYYY-MM-DD') %>' > group by heading > ``` --- +## Priority > [!danger] 🔴重要且紧急⏫🔺 > > ```tasks -> not done +> (not done) OR (done after <% moment(tp.file.title).weekday(1).subtract(7, "days").format('YYYY-MM-DD') %>) > path includes Haina > path includes Weekly/2025 > filter by function (task.priorityName === 'High' || task.priorityName === 'Highest') > sort by path reverse +> sort by done > sort by heading +> group by heading > ``` > [!warning] 🟠不重要紧急🔼 > > ```tasks -> not done +> (not done) OR (done after <% moment(tp.file.title).weekday(1).subtract(7, "days").format('YYYY-MM-DD') %>) > path includes Haina > path includes Weekly/<% moment(tp.file.title).format('YYYY') %> > (filter by function task.priorityName === 'Medium') > sort by path reverse +> sort by done > sort by heading +> group by heading > ``` > [!important] 🟡重要不紧急🔽 > > ```tasks -> not done +> (not done) OR (done after <% moment(tp.file.title).weekday(1).subtract(7, "days").format('YYYY-MM-DD') %>) > path includes Haina > path includes Weekly/<% moment(tp.file.title).format('YYYY') %> > (filter by function task.priorityName === 'Normal') > sort by path reverse +> sort by done > sort by heading +> group by heading > ``` -> [!info] 🟢不重要不紧急⏬ +> [!info] 🟢不重要不紧急🔽⏬ > > ```tasks -> not done +> (not done) OR (done after <% moment(tp.file.title).weekday(1).subtract(7, "days").format('YYYY-MM-DD') %>) > path includes Haina > path includes Weekly/<% moment(tp.file.title).format('YYYY') %> -> filter by function (task.priorityName === 'Lowest' || task.priorityName === 'None') +> filter by function (task.priorityName === 'Lowest' || task.priorityName === 'Low' || task.priorityName === 'None') > sort by path reverse +> sort by done > sort by heading > ``` +> [!info]- 转移 +> +> ```tasks +> (not done) OR (done after 2025-04-29) +> path includes Haina +> path includes Weekly/2025 +> filter by function (task.status.name === 'quote') +> group by heading +> ``` --- @@ -175,10 +192,11 @@ for (let day = 0; day < 2; day++) { > [!check] Latest 2 weeks > > ```tasks -> done after last monday +> done after <% moment(tp.file.title).weekday(1).subtract(14, "days").format('YYYY-MM-DD') %> > path includes Haina > sort by path reverse > sort by heading +> group by heading > ``` > [!todo] Not done diff --git a/Haina/Weekly/2025/2025-W16.md b/Haina/Weekly/2025/2025-W16.md index f8e6c94..d817a03 100644 --- a/Haina/Weekly/2025/2025-W16.md +++ b/Haina/Weekly/2025/2025-W16.md @@ -27,20 +27,22 @@ tags: 2. 查询掉线的WA, 发负责人. GH-骆; 客运-区老师; 国际-兰芬 3. 东道主项目: API 维护 -### HT统计 +### HT 统计 -1. [ ] 三峡, 酒店统计 ⏫ +1. [x] 三峡, 酒店统计 ⏫ ✅ 2025-04-22 2. [ ] [CT商旅数据统计](Haina/项目/HT数据分析/CT商旅数据统计.md) ⏫ -3. [ ] HT统计: 销售平台统计: 违规/提升明细 -4. [ ] HT统计: 老客户: 增加对比 #宋芳馨 +3. [x] HT统计: 销售平台统计: 违规/提升明细 ✅ 2025-04-23 +4. [x] HT统计: 老客户: 增加对比 #宋芳馨 ✅ 2025-04-23 -### - +### 1. [x] AH 水灯节表单 识别 `站外渠道(海外)` ⏫ ✅ 2025-04-14 -2. [ ] 销售平台: 会话表信息推送 -3. [ ] paypal收款:拆分多个团名和金额 #杨书林 -4. [ ] 测试 [语音 Vonage](Haina/项目/SCRM/语音%20Vonage.md) ⏫ -5. [x] 客运模板 ⏫ ✅ 2025-04-15 +2. [ ] paypal收款:拆分多个团名和金额 #杨书林 ⏬ + +#### 销售平台 +2. [x] 销售平台: 会话表信息推送 ✅ 2025-04-27 +3. [x] 测试 [ℹ语音 Vonage](Haina/项目/SCRM/ℹ语音%20Vonage.md) ⏫ 🛫 2025-04-17 ✅ 2025-04-24 +4. [x] 客运模板 ⏫ ✅ 2025-04-15 ## 本周计划 diff --git a/Haina/Weekly/2025/2025-W17.md b/Haina/Weekly/2025/2025-W17.md index d59971e..412b28d 100644 --- a/Haina/Weekly/2025/2025-W17.md +++ b/Haina/Weekly/2025/2025-W17.md @@ -1,6 +1,6 @@ --- Created: 2025-04-15 Tue -Updated: 2025-04-15 21:44 Tue +Updated: 2025-04-16 13:58 Wed tags: - 周报 --- @@ -21,9 +21,15 @@ tags: ### 维护工作 -#### -1. +1. [x] HT统计: 销售平台: 违规明细 ✅ 2025-04-23 +2. [x] GHH: 确认 合同导出优化是否已完成 ✅ 2025-04-23 + +#### 交接廖老师 + +1. JH上线新站相关工作 +2. 查询掉线的WA, 发负责人. GH-骆; 客运-区老师; 国际-兰芬 +3. 东道主项目: API 维护 ## 本周计划 @@ -44,7 +50,7 @@ tags: > [!danger] 🔴重要且紧急⏫🔺 > > ```tasks -> not done +> (not done) OR (done after last monday) > path includes Haina > path includes Weekly/2025 > filter by function (task.priorityName === 'High' || task.priorityName === 'Highest') @@ -55,7 +61,7 @@ tags: > [!warning] 🟠不重要紧急🔼 > > ```tasks -> not done +> (not done) OR (done after last monday) > path includes Haina > path includes Weekly/2025 > (filter by function task.priorityName === 'Medium') @@ -66,7 +72,7 @@ tags: > [!important] 🟡重要不紧急🔽 > > ```tasks -> not done +> (not done) OR (done after last monday) > path includes Haina > path includes Weekly/2025 > (filter by function task.priorityName === 'Normal') @@ -77,7 +83,7 @@ tags: > [!info] 🟢不重要不紧急⏬ > > ```tasks -> not done +> (not done) OR (done after last monday) > path includes Haina > path includes Weekly/2025 > filter by function (task.priorityName === 'Lowest' || task.priorityName === 'None')