main
iOS 3 years ago
parent 7e50515993
commit 7853109d74

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

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.16", "version": "0.4.15",
"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.20", "version": "0.4.19",
"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>",

@ -93,10 +93,9 @@
}, },
"syntaxHighlight": false, "syntaxHighlight": false,
"copyButton": true, "copyButton": true,
"version": "6.5.1", "version": "6.4.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.5.1", "version": "6.4.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,14 +231,6 @@ 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.5", "version": "7.1.4",
"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.17", "version": "0.0.16",
"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.4", "version": "0.10.3",
"minAppVersion": "0.12.19", "minAppVersion": "0.12.3",
"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.6", "version": "0.5.0",
"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": "03.03 Food & Wine/@@Recipes.md", "file": "02.02 Paris/@Expositions, concerts et activités.md",
"mode": "preview" "mode": "preview"
} }
} }
@ -68,7 +68,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "03.03 Food & Wine/@@Recipes.md", "file": "02.02 Paris/@Expositions, concerts et activités.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -79,6 +79,14 @@
} }
} }
}, },
{
"id": "51b6dd4b8c0c1449",
"type": "leaf",
"state": {
"type": "empty",
"state": {}
}
},
{ {
"id": "86a095cebfd3c99f", "id": "86a095cebfd3c99f",
"type": "leaf", "type": "leaf",
@ -88,7 +96,7 @@
} }
}, },
{ {
"id": "cc17c039396855b5", "id": "0d5625ecf366c4df",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "DICE_ROLLER_VIEW", "type": "DICE_ROLLER_VIEW",
@ -99,15 +107,15 @@
}, },
"active": "c252d60ecbda6bb3", "active": "c252d60ecbda6bb3",
"lastOpenFiles": [ "lastOpenFiles": [
"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", "02.02 Paris/@Expositions, concerts et activités.md",
"02.02 Paris/Circuit Sud.md",
"02.02 Paris/@@Paris.md", "02.02 Paris/@@Paris.md",
"02.01 London/@@London.md", "02.02 Paris/Circuit Ouest.md",
"03.03 Food & Wine/!!Coffee.md", "02.02 Paris/Circuit Marais.md",
"02.02 Paris/Circuit Montmartre.md",
"02.02 Paris/@Bars Paris.md", "02.02 Paris/@Bars Paris.md",
"01.01 Life Orga/@Life Organisation.md", "01.02 Home/Life mementos 1.md",
"01.02 Home/@Shopping list.md" "01.02 Home/Life mementos.md",
"00.01 Admin/Templates/Template Note.md"
] ]
} }

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

@ -3,5 +3,4 @@ const {globalFunc} = customJS
const DataType = 'Place' const DataType = 'Place'
let templacetype = globalFunc.Get1stArg(placetype) let templacetype = globalFunc.Get1stArg(placetype)
return globalFunc.getTable(dv, DataType, ["placetype", "dateadded", "style", "ambiance", "area", "theme", "country", "status"], [placetype, dateadded, style, ambiance, area, theme, country, status], templacetype) return globalFunc.getTable(dv, DataType, ["placetype", "dateadded", "style", "ambiance", "area", "theme", "country", "status"], [placetype, dateadded, style, ambiance, area, theme, country, status], templacetype)

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

@ -1,6 +1,6 @@
--- ---
QPType: ["Restaurant", "Bar"] QPType: ["Hotel", "Restaurant", "Bar"]
QPStyle: QPStyle:
QPAmbiance: QPAmbiance:
QPKeyword: Terrace QPKeyword: Terrace

@ -7,7 +7,7 @@ QueryIngredient: ""
QueryTheme: Healthy QueryTheme: Healthy
QueryFavourite: QueryFavourite:
QueryRating: "" QueryRating: ""
QueryCookingTime: "<40" QueryCookingTime: ""
cssclass: recipeTable cssclass: recipeTable
Alias: ["Recipes"] Alias: ["Recipes"]
Tag: ["Lifestyle", "Food", "Cooking"] Tag: ["Lifestyle", "Food", "Cooking"]

Loading…
Cancel
Save