recovery v3

main
iOS 3 years ago
parent 7853109d74
commit 292ea4e7e5

@ -24,5 +24,7 @@
"obsidian42-brat", "obsidian42-brat",
"code-block-copy", "code-block-copy",
"obsidian-lineup-builder", "obsidian-lineup-builder",
"obsidian-crypto-lookup" "emoji-shortcodes",
"obsidian-crypto-lookup",
"nldates-obsidian"
] ]

File diff suppressed because one or more lines are too long

@ -2,7 +2,7 @@
"id": "buttons", "id": "buttons",
"name": "Buttons", "name": "Buttons",
"description": "Create Buttons in your Obsidian notes to run commands, open links, and insert templates", "description": "Create Buttons in your Obsidian notes to run commands, open links, and insert templates",
"version": "0.4.15", "version": "0.4.16",
"author": "shabegom", "author": "shabegom",
"authorUrl": "https://shbgm.ca", "authorUrl": "https://shbgm.ca",
"isDesktopOnly": false, "isDesktopOnly": false,

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{ {
"id": "dataview", "id": "dataview",
"name": "Dataview", "name": "Dataview",
"version": "0.4.19", "version": "0.4.20",
"minAppVersion": "0.12.0", "minAppVersion": "0.12.0",
"description": "Complex data views for the data-obsessed.", "description": "Complex data views for the data-obsessed.",
"author": "Michael Brenan <blacksmithgu@gmail.com>", "author": "Michael Brenan <blacksmithgu@gmail.com>",

File diff suppressed because one or more lines are too long

@ -0,0 +1,10 @@
{
"id": "nldates-obsidian",
"name": "Natural Language Dates",
"description": "Create date-links based on natural language",
"version": "0.5.2",
"author": "Argentina Ortega Sainz",
"authorUrl": "",
"isDesktopOnly": false,
"minAppVersion": "0.11.0"
}

@ -93,9 +93,10 @@
}, },
"syntaxHighlight": false, "syntaxHighlight": false,
"copyButton": true, "copyButton": true,
"version": "6.4.1", "version": "6.5.1",
"autoCollapse": false, "autoCollapse": false,
"defaultCollapseType": "open", "defaultCollapseType": "open",
"syncLinks": true, "syncLinks": true,
"enableMarkdownProcessor": false "enableMarkdownProcessor": false,
"injectColor": true
} }

File diff suppressed because one or more lines are too long

@ -1,10 +1,10 @@
{ {
"id": "obsidian-admonition", "id": "obsidian-admonition",
"name": "Admonition", "name": "Admonition",
"version": "6.4.1", "version": "6.5.1",
"minAppVersion": "0.11.0", "minAppVersion": "0.11.0",
"description": "Admonition block-styled content for Obsidian.md", "description": "Admonition block-styled content for Obsidian.md",
"author": "Jeremy Valentine", "author": "Jeremy Valentine",
"authorUrl": "", "authorUrl": "",
"isDesktopOnly": false "isDesktopOnly": false
} }

@ -231,6 +231,14 @@ input.is-invalid {
width: 1em; width: 1em;
} }
.admonition-color-settings .setting-item-control {
gap: 1rem;
}
.admonition-color-settings input[type="color"]:disabled {
opacity: 0.75;
cursor: not-allowed;
}
/** Internal */ /** Internal */
.admonition li.task-list-item.is-checked p { .admonition li.task-list-item.is-checked p {

File diff suppressed because one or more lines are too long

@ -1,10 +1,10 @@
{ {
"id": "obsidian-dice-roller", "id": "obsidian-dice-roller",
"name": "Dice Roller", "name": "Dice Roller",
"version": "7.1.4", "version": "7.1.5",
"minAppVersion": "0.12.15", "minAppVersion": "0.12.15",
"description": "Inline dice rolling for Obsidian.md", "description": "Inline dice rolling for Obsidian.md",
"author": "Jeremy Valentine", "author": "Jeremy Valentine",
"authorUrl": "", "authorUrl": "",
"isDesktopOnly": false "isDesktopOnly": false
} }

File diff suppressed because one or more lines are too long

@ -4,6 +4,6 @@
"author": "aidurber", "author": "aidurber",
"description": "An Obsidian plugin to generate Tables of Contents that stay up to date with your document outline.", "description": "An Obsidian plugin to generate Tables of Contents that stay up to date with your document outline.",
"minAppVersion": "0.11.0", "minAppVersion": "0.11.0",
"version": "0.0.16", "version": "0.0.17",
"repo": "aidurber/obsidian-plugin-dynamic-toc" "repo": "aidurber/obsidian-plugin-dynamic-toc"
} }

File diff suppressed because one or more lines are too long

@ -1,8 +1,8 @@
{ {
"id": "obsidian-metatable", "id": "obsidian-metatable",
"name": "Metatable", "name": "Metatable",
"version": "0.10.3", "version": "0.10.4",
"minAppVersion": "0.12.3", "minAppVersion": "0.12.19",
"description": "Displays the full frontmatter as a table.", "description": "Displays the full frontmatter as a table.",
"author": "Arnau Siches", "author": "Arnau Siches",
"authorUrl": "https://www.seachess.net/", "authorUrl": "https://www.seachess.net/",

File diff suppressed because it is too large Load Diff

@ -1,7 +1,7 @@
{ {
"id": "obsidian42-brat", "id": "obsidian42-brat",
"name": "Obsidian42 - BRAT", "name": "Obsidian42 - BRAT",
"version": "0.5.0", "version": "0.5.6",
"minAppVersion": "0.9.12", "minAppVersion": "0.9.12",
"description": "Easily install a beta version of a plugin for testing.", "description": "Easily install a beta version of a plugin for testing.",
"author": "TfTHacker", "author": "TfTHacker",

@ -9,7 +9,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "02.02 Paris/@Expositions, concerts et activités.md", "file": "02.01 London/@@London.md",
"mode": "preview" "mode": "preview"
} }
} }
@ -68,7 +68,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "02.02 Paris/@Expositions, concerts et activités.md", "file": "02.01 London/@@London.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -79,14 +79,6 @@
} }
} }
}, },
{
"id": "51b6dd4b8c0c1449",
"type": "leaf",
"state": {
"type": "empty",
"state": {}
}
},
{ {
"id": "86a095cebfd3c99f", "id": "86a095cebfd3c99f",
"type": "leaf", "type": "leaf",
@ -96,7 +88,7 @@
} }
}, },
{ {
"id": "0d5625ecf366c4df", "id": "b206d304099ee1cf",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "DICE_ROLLER_VIEW", "type": "DICE_ROLLER_VIEW",
@ -107,15 +99,15 @@
}, },
"active": "c252d60ecbda6bb3", "active": "c252d60ecbda6bb3",
"lastOpenFiles": [ "lastOpenFiles": [
"02.02 Paris/@Expositions, concerts et activités.md", "02.01 London/@@London.md",
"02.02 Paris/Circuit Sud.md",
"02.02 Paris/@@Paris.md", "02.02 Paris/@@Paris.md",
"02.02 Paris/Circuit Ouest.md", "03.01 Reading list/@Reading master.md",
"02.02 Paris/Circuit Marais.md", "01.03 Family/@Family organisation.md",
"02.02 Paris/Circuit Montmartre.md", "03.03 Food & Wine/@@Recipes.md",
"02.02 Paris/@Bars Paris.md", "02.02 Paris/Le Barn.md",
"01.02 Home/Life mementos 1.md", "02.02 Paris/@Hotels Paris.md",
"01.02 Home/Life mementos.md", "02.02 Paris/@Expositions, concerts et activités.md",
"00.01 Admin/Templates/Template Note.md" "03.03 Food & Wine/!!Coffee.md",
"02.02 Paris/@Bars Paris.md"
] ]
} }

@ -1,64 +1,83 @@
class globalFunc { class globalFunc {
DataCheck(arg1, arg2) {
DataCheck(/*luxon, */arg1, arg2) {
var iarg1 = arg1
if (moment(iarg1).isValid()) {iarg1 = arg1.toString()} let tempresult = false
var iarg2 = arg2 let iarg1 = arg1
if (moment(iarg2).isValid()) {iarg2 = arg2.toString()} let iarg2 = arg2
if (!Array.isArray(iarg2) && !Array.isArray(iarg1)) { switch(true) {
var resultdc = this.compareData(iarg1, iarg2) case Boolean(arg1.isValid):
} else if (!Array.isArray(iarg1)) { case Boolean(arg2.isValid):
let tempresult = false case (!Boolean(iarg2 instanceof Object) && !Boolean(iarg1 instanceof Object)):
for (let i = 0; i < iarg2.length; i++) { tempresult = this.compareData(/*luxon, */iarg1, iarg2)
tempresult = tempresult || this.compareData(iarg1, iarg2[i]) break;
} case (!Boolean(iarg1 instanceof Object)):
var resultdc = tempresult for (let i = 0; i < iarg2.length; i++) {
} else if (!Array.isArray(iarg2)) { tempresult = tempresult || this.compareData(/*luxon, */iarg1, iarg2[i])
let tempresult = false
for (let i = 0; i < iarg1.length; i++) {
tempresult = tempresult || this.compareData(iarg1[i], iarg2)
}
var resultdc = tempresult
} else {
let tempresult = false
for (let i = 0; i < arg2.length; i++) {
for (let j = 0; j < arg1.length; j++) {
tempresult = tempresult || this.compareData(iarg1[j], iarg2[i])
} }
} break;
case (!Boolean(iarg2 instanceof Object)):
var resultdc = tempresult for (let i = 0; i < iarg1.length; i++) {
tempresult = tempresult || this.compareData(/*luxon, */iarg1[i], iarg2)
}
break;
default:
for (let i = 0; i < iarg2.length; i++) {
for (let j = 0; j < iarg1.length; j++) {
tempresult = tempresult || this.compareData(/*luxon, */iarg1[j], iarg2[i])
}
}
break;
} }
return resultdc return tempresult
} }
compareData(arg1, arg2) { compareData(/*luxon, */arg1, arg2) {
let tempresult = false; let tempresult = false;
let targ1 = arg1
let toperator = ""
let targ2 = arg2
if (arg2.length > 1 && this.hasOperator(arg2)) { if (this.hasOperator(arg2.toString())) {
switch(this.getOperator(arg2)) { toperator = this.getOperator(arg2)
case '<': targ2 = arg2.replace(toperator, "")
tempresult = (parseFloat(arg1) < parseFloat(arg2.replace(this.getOperator(arg2), ""))) }
break;
case '<=': switch(true) {
tempresult = (parseFloat(arg1) <= parseFloat(arg2.replace(this.getOperator(arg2), ""))) case Boolean(arg1.isValid):
break; targ1 = arg1.toString() //startOf("day")
case '>': break;
tempresult = (parseFloat(arg1) > parseFloat(arg2.replace(this.getOperator(arg2), ""))) case Boolean(arg2.isValid):
break; targ2 = arg2.toString() // startOf("day") //(arg2.isValid) ? arg2.startOf("day") : (luxon.DateTime.fromISO(`${targ2}`)).startOf("day")
case '>=': break;
tempresult = (parseFloat(arg1) >= parseFloat(arg2.replace(this.getOperator(arg2), ""))) case (arg1.length == 0):
break; targ1 = ''
case '!': break;
if (isNaN(arg2.replace("!", ""))) { }
tempresult = !(arg1.search(new RegExp(arg2, "i")) > -1)
} else {tempresult = (parseFloat(arg1) != parseFloat(arg2.replace(this.getOperator(arg2), "")))} switch(toperator) {
break; case '<':
} tempresult = (targ1 < targ2)
} else {tempresult = (arg1.search(new RegExp(arg2, "i")) > -1)} break;
case '<=':
tempresult = (targ1 <= targ2)
break;
case '>':
tempresult = (targ1 > targ2)
break;
case '>=':
tempresult = (targ1 >= targ2)
break;
case '!':
tempresult = (typeof targ1 === 'string' || targ1 instanceof String) ? !(targ1.search(new RegExp(targ2, "i")) > -1) : (targ1 != targ2)
break;
default:
tempresult = (typeof targ1 === 'string' || targ1 instanceof String) ? (targ1.search(new RegExp(targ2, "i")) > -1) : (targ1 == targ2)
break;
}
return tempresult return tempresult
@ -70,6 +89,7 @@ class globalFunc {
case '<': case '<':
case '>': case '>':
case '!': case '!':
case '=':
tempresult = true tempresult = true
break; break;
} }
@ -77,11 +97,8 @@ class globalFunc {
} }
getOperator(arg1) { getOperator(arg1) {
let tempresult = arg1.charAt(0);
if (this.hasOperator(arg1.charAt(1))) { return (this.hasOperator(arg1.charAt(1))) ? arg1.charAt(0) + arg1.charAt(1) : arg1.charAt(0);
tempresult = tempresult + arg1.charAt(1)
}
return tempresult
} }
BuildList(arg1, construct) { BuildList(arg1, construct) {
@ -104,7 +121,7 @@ class globalFunc {
let TempS = "" let TempS = ""
if (Array.isArray(arg2)) { if (arg2 instanceof Object) {
for (let i = 0; i < arg1.length; i++) { for (let i = 0; i < arg1.length; i++) {
if (Boolean(arg1[i])) { if (Boolean(arg1[i])) {
if (TempS == "") { if (TempS == "") {
@ -134,11 +151,8 @@ class globalFunc {
} }
Get1stArg(arg3) { Get1stArg(arg3) {
if (!Array.isArray(arg3)) {
return arg3 return ((arg3 instanceof Object) || (arg3 instanceof Array)) ? arg3[0] : arg3
} else {
return arg3[0]
}
} }
topLevelFilter(pobj, DocType, subType) { topLevelFilter(pobj, DocType, subType) {
@ -155,7 +169,7 @@ class globalFunc {
} }
IsInSearch(pobj, DocType, darray, iarray) { IsInSearch(/*luxon, */pobj, DocType, darray, iarray) {
let ilength = iarray.length; let ilength = iarray.length;
let result = true let result = true
@ -169,7 +183,7 @@ class globalFunc {
if (Boolean(iarray[i])) { if (Boolean(iarray[i])) {
let pProp = this.GetpProp(pobj, DocType, darray[i]) let pProp = this.GetpProp(pobj, DocType, darray[i])
if (!Boolean(pProp)) { result = result && false } else { if (!Boolean(pProp)) { result = result && false } else {
result = result && this.DataCheck(pProp, iarray[i]) result = result && this.DataCheck(/*luxon, */pProp, iarray[i])
} }
} else {result = result && true} } else {result = result && true}
} }
@ -178,7 +192,7 @@ class globalFunc {
if (Boolean(iarray[i])) { if (Boolean(iarray[i])) {
let pProp = this.GetpProp(pobj, DocType, darray[i]) let pProp = this.GetpProp(pobj, DocType, darray[i])
if (!Boolean(pProp)) { result = result && false } else { if (!Boolean(pProp)) { result = result && false } else {
result = result && this.DataCheck(pProp, iarray[i]) result = result && this.DataCheck(/*luxon, */pProp, iarray[i])
} }
} else {result = result && true} } else {result = result && true}
break; break;
@ -188,14 +202,14 @@ class globalFunc {
return result return result
} }
getTable(dv, DocType, darray, iarray, tabletype) { getTable(dv, /*luxon, */DocType, darray, iarray, tabletype) {
let page = dv.pages() let page = dv.pages()
.filter(p => p && this.topLevelFilter(p, DocType, 0)) .filter(p => p && this.topLevelFilter(p, DocType, 0))
.where(p => p && this.IsInSearch(p, DocType, darray, iarray)) .where(p => p && this.IsInSearch(/*luxon, */p, DocType, darray, iarray))
if (typeof page == 'undefined' || typeof page == 'null' || page.length === 0) { if (page.length == 0) {
return this.EmptyQueryMessage() return this.EmptyQueryMessage(dv)
} }
dv.table(this.GetTableHeaders(DocType, tabletype), page dv.table(this.GetTableHeaders(DocType, tabletype), page
@ -204,7 +218,7 @@ class globalFunc {
} }
EmptyQueryMessage() { EmptyQueryMessage(dv) {
return dv.el('b', '⚠️ Warning:\nNo result matching your query!') return dv.el('b', '⚠️ Warning:\nNo result matching your query!')
} }
@ -429,7 +443,9 @@ class globalFunc {
toEmoji(label) { toEmoji(label) {
let tempresult = "" let tempresult = ""
if (Array.isArray(label)) { //other test for below: typeof label == 'object'
//return Object.entries(label)
if (label instanceof Object) {
for (let i = 0; i < label.length; i++) { for (let i = 0; i < label.length; i++) {
if (tempresult == '') { if (tempresult == '') {
tempresult = this.getEmoji(label[i]); tempresult = this.getEmoji(label[i]);
@ -517,7 +533,11 @@ class globalFunc {
break; break;
case 'Colombia': case 'Colombia':
tempresult = "🇨🇴" tempresult = "🇨🇴"
break; break;
case 'El Salvador':
case 'ElSalvador':
tempresult = "🇸🇻"
break;
case 'Pub': case 'Pub':
tempresult = "🍺" tempresult = "🍺"
break; break;
@ -1010,6 +1030,7 @@ class globalFunc {
break; break;
} }
return result return result
} }
} }

@ -117,25 +117,10 @@ hide task count
&emsp; &emsp;
```dataview ```dataview
Table without id tags as "Tags" From "Family" Table without id tags as "Tags" From "01.03 Family"
Flatten file.tags as tags Flatten file.tags as tags
Group by tags Group by tags
``` ```
&emsp;
---
&emsp;
### TimeStamp check
&emsp;
```dataview
Table TimeStamp as "Time Stamp" from "Family"
Where TimeStamp > date(today) - dur(100 years)
Sort TimeStamp ascending
```
&emsp; &emsp;
&emsp; &emsp;
Loading…
Cancel
Save