recovery v3

main
iOS 3 years ago
parent 7853109d74
commit 292ea4e7e5

@ -24,5 +24,7 @@
"obsidian42-brat",
"code-block-copy",
"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",
"name": "Buttons",
"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",
"authorUrl": "https://shbgm.ca",
"isDesktopOnly": false,

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
{
"id": "dataview",
"name": "Dataview",
"version": "0.4.19",
"version": "0.4.20",
"minAppVersion": "0.12.0",
"description": "Complex data views for the data-obsessed.",
"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,
"copyButton": true,
"version": "6.4.1",
"version": "6.5.1",
"autoCollapse": false,
"defaultCollapseType": "open",
"syncLinks": true,
"enableMarkdownProcessor": false
"enableMarkdownProcessor": false,
"injectColor": true
}

File diff suppressed because one or more lines are too long

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

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

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

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

File diff suppressed because it is too large Load Diff

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

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

@ -1,64 +1,83 @@
class globalFunc {
DataCheck(arg1, arg2) {
var iarg1 = arg1
if (moment(iarg1).isValid()) {iarg1 = arg1.toString()}
var iarg2 = arg2
if (moment(iarg2).isValid()) {iarg2 = arg2.toString()}
DataCheck(/*luxon, */arg1, arg2) {
if (!Array.isArray(iarg2) && !Array.isArray(iarg1)) {
var resultdc = this.compareData(iarg1, iarg2)
} else if (!Array.isArray(iarg1)) {
let tempresult = false
let iarg1 = arg1
let iarg2 = arg2
switch(true) {
case Boolean(arg1.isValid):
case Boolean(arg2.isValid):
case (!Boolean(iarg2 instanceof Object) && !Boolean(iarg1 instanceof Object)):
tempresult = this.compareData(/*luxon, */iarg1, iarg2)
break;
case (!Boolean(iarg1 instanceof Object)):
for (let i = 0; i < iarg2.length; i++) {
tempresult = tempresult || this.compareData(iarg1, iarg2[i])
tempresult = tempresult || this.compareData(/*luxon, */iarg1, iarg2[i])
}
var resultdc = tempresult
} else if (!Array.isArray(iarg2)) {
let tempresult = false
break;
case (!Boolean(iarg2 instanceof Object)):
for (let i = 0; i < iarg1.length; i++) {
tempresult = tempresult || this.compareData(iarg1[i], iarg2)
tempresult = tempresult || this.compareData(/*luxon, */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;
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])
}
}
var resultdc = tempresult
break;
}
return resultdc
return tempresult
}
compareData(arg1, arg2) {
compareData(/*luxon, */arg1, arg2) {
let tempresult = false;
let targ1 = arg1
let toperator = ""
let targ2 = arg2
if (this.hasOperator(arg2.toString())) {
toperator = this.getOperator(arg2)
targ2 = arg2.replace(toperator, "")
}
switch(true) {
case Boolean(arg1.isValid):
targ1 = arg1.toString() //startOf("day")
break;
case Boolean(arg2.isValid):
targ2 = arg2.toString() // startOf("day") //(arg2.isValid) ? arg2.startOf("day") : (luxon.DateTime.fromISO(`${targ2}`)).startOf("day")
break;
case (arg1.length == 0):
targ1 = ''
break;
}
if (arg2.length > 1 && this.hasOperator(arg2)) {
switch(this.getOperator(arg2)) {
switch(toperator) {
case '<':
tempresult = (parseFloat(arg1) < parseFloat(arg2.replace(this.getOperator(arg2), "")))
tempresult = (targ1 < targ2)
break;
case '<=':
tempresult = (parseFloat(arg1) <= parseFloat(arg2.replace(this.getOperator(arg2), "")))
tempresult = (targ1 <= targ2)
break;
case '>':
tempresult = (parseFloat(arg1) > parseFloat(arg2.replace(this.getOperator(arg2), "")))
tempresult = (targ1 > targ2)
break;
case '>=':
tempresult = (parseFloat(arg1) >= parseFloat(arg2.replace(this.getOperator(arg2), "")))
tempresult = (targ1 >= targ2)
break;
case '!':
if (isNaN(arg2.replace("!", ""))) {
tempresult = !(arg1.search(new RegExp(arg2, "i")) > -1)
} else {tempresult = (parseFloat(arg1) != parseFloat(arg2.replace(this.getOperator(arg2), "")))}
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;
}
} else {tempresult = (arg1.search(new RegExp(arg2, "i")) > -1)}
return tempresult
@ -70,6 +89,7 @@ class globalFunc {
case '<':
case '>':
case '!':
case '=':
tempresult = true
break;
}
@ -77,11 +97,8 @@ class globalFunc {
}
getOperator(arg1) {
let tempresult = arg1.charAt(0);
if (this.hasOperator(arg1.charAt(1))) {
tempresult = tempresult + arg1.charAt(1)
}
return tempresult
return (this.hasOperator(arg1.charAt(1))) ? arg1.charAt(0) + arg1.charAt(1) : arg1.charAt(0);
}
BuildList(arg1, construct) {
@ -104,7 +121,7 @@ class globalFunc {
let TempS = ""
if (Array.isArray(arg2)) {
if (arg2 instanceof Object) {
for (let i = 0; i < arg1.length; i++) {
if (Boolean(arg1[i])) {
if (TempS == "") {
@ -134,11 +151,8 @@ class globalFunc {
}
Get1stArg(arg3) {
if (!Array.isArray(arg3)) {
return arg3
} else {
return arg3[0]
}
return ((arg3 instanceof Object) || (arg3 instanceof Array)) ? arg3[0] : arg3
}
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 result = true
@ -169,7 +183,7 @@ class globalFunc {
if (Boolean(iarray[i])) {
let pProp = this.GetpProp(pobj, DocType, darray[i])
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}
}
@ -178,7 +192,7 @@ class globalFunc {
if (Boolean(iarray[i])) {
let pProp = this.GetpProp(pobj, DocType, darray[i])
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}
break;
@ -188,14 +202,14 @@ class globalFunc {
return result
}
getTable(dv, DocType, darray, iarray, tabletype) {
getTable(dv, /*luxon, */DocType, darray, iarray, tabletype) {
let page = dv.pages()
.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) {
return this.EmptyQueryMessage()
if (page.length == 0) {
return this.EmptyQueryMessage(dv)
}
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!')
}
@ -429,7 +443,9 @@ class globalFunc {
toEmoji(label) {
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++) {
if (tempresult == '') {
tempresult = this.getEmoji(label[i]);
@ -518,6 +534,10 @@ class globalFunc {
case 'Colombia':
tempresult = "🇨🇴"
break;
case 'El Salvador':
case 'ElSalvador':
tempresult = "🇸🇻"
break;
case 'Pub':
tempresult = "🍺"
break;
@ -1010,6 +1030,7 @@ class globalFunc {
break;
}
return result
}
}
}

@ -117,25 +117,10 @@ hide task count
&emsp;
```dataview
Table without id tags as "Tags" From "Family"
Table without id tags as "Tags" From "01.03 Family"
Flatten file.tags as 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;
Loading…
Cancel
Save