main
Mel 3 years ago
parent 2feb961000
commit 4f5f6e77b4

@ -9,7 +9,7 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "03.03 Recipes/@@Recipes.md", "file": "03.01 Reading list/@Reading master.md",
"mode": "preview" "mode": "preview"
} }
} }
@ -64,7 +64,7 @@
} }
} }
], ],
"currentTab": 0 "currentTab": 3
}, },
"right": { "right": {
"id": "901f0677c871de02", "id": "901f0677c871de02",
@ -76,7 +76,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "03.03 Recipes/@@Recipes.md", "file": "03.01 Reading list/@Reading master.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -115,15 +115,15 @@
}, },
"active": "c1cbd199334b4022", "active": "c1cbd199334b4022",
"lastOpenFiles": [ "lastOpenFiles": [
"03.01 Reading list/@Reading master.md",
"03.03 Recipes/@@Recipes.md", "03.03 Recipes/@@Recipes.md",
"03.03 Recipes/Chicken Fried Rice.md", "05.02 Networks/@Networks.md",
"05.01 Computer setup/@Computer Set Up.md",
"03.03 Recipes/@Main dishes.md", "03.03 Recipes/@Main dishes.md",
"03.03 Recipes/Indian Buttered Chicken.md", "06.02 Investments/Crypto Investments.md",
"03.03 Recipes/Mexican Beef Wrap.md", "02.02 Paris/@@Paris.md",
"00.01 Admin/Templates/Untitled.md", "02.01 London/@@London.md",
"00.01 Admin/Templates/layout$qproduct.md", "02.01 London/@Restaurants London.md",
"00.01 Admin/Templates/layout$qplace.md", "02.01 London/@Café London.md"
"03.03 Recipes/@Desserts.md",
"03.03 Recipes/Aromatic Beef Pilaf.md"
] ]
} }

@ -100,6 +100,39 @@ class globalFunc {
return TempS return TempS
} }
buildToPrint(arg1, arg2, construct) {
let TempS = ""
if (Array.isArray(arg2)) {
for (let i = 0; i < arg1.length; i++) {
if (Boolean(arg1[i])) {
if (TempS == "") {
TempS = arg2[i] + ": " + "<b>" + arg1[i] + "</b>"
} else {
TempS = TempS + construct + arg2[i] + ": " + "<b>" + arg1[i] + "</b>"
}
if (arg2[i].search(new RegExp("time", "i")) > -1) {
TempS = TempS + " <b>min</b>"
}
}
}
} else {
for (let i = 0; i < arg1.length; i++) {
if (Boolean(arg1[i])) {
if (TempS == "") {
TempS = "<b>" + arg1[i] + "</b>"
} else {
TempS = TempS + construct + "<b>" + arg1[i] + "</b>"
}
}
}
}
return TempS
}
Get1stArg(arg3) { Get1stArg(arg3) {
if (!Array.isArray(arg3)) { if (!Array.isArray(arg3)) {
return arg3 return arg3

@ -1,7 +1,5 @@
let {sourcetype, dateadded, language, author, publicationd, theme, readingd} = input; let {sourcetype, dateadded, language, author, publicationd, theme, readingd} = input;
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Source' const DataType = 'Source'
const iArray = [sourcetype, dateadded, language, author, publicationd, theme, readingd];
const dArray = ["sourcetype", "dateadded", "language", "author", "publicationd", "theme", "readingd"];
return globalFunc.getTable(dv, DataType, dArray, iArray, 0) return globalFunc.getTable(dv, DataType, ["sourcetype", "dateadded", "language", "author", "publicationd", "theme", "readingd"], [sourcetype, dateadded, language, author, publicationd, theme, readingd], 0)

@ -0,0 +1,4 @@
const {globalFunc} = customJS
let {placetype, dateadded, style, ambiance, area, theme, country, status} = input;
dv.el('t', "<b>🔎 search terms:</b> \n• " + globalFunc.buildToPrint([placetype, dateadded, style, ambiance, area, theme, country, status], ["type of place", "date added", "style", "ambiance", "area", "theme", "country", "status"], "\n• "));

@ -1,19 +1,4 @@
const {globalFunc} = customJS
let {course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime} = input; let {course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime} = input;
const iArray = [course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime];
const dArray = ["course", "category", "cuisine", "ingredient", "dateadded", "theme", "is favourite", "rating", "cooking time"];
let TempS = ""
for (let i = 0; i < iArray.length; i++) { dv.el('t', "<b>🔎 search terms:</b> \n• " + globalFunc.buildToPrint([course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime], ["course", "category", "cuisine", "ingredient", "dateadded", "theme", "is favourite", "rating", "cooking time"], "\n• "));
if (Boolean(iArray[i])) {
if (TempS == "") {
TempS = dArray[i] + ": " + "<b>" + iArray[i] + "</b>"
} else {
TempS = TempS + "\n• " + dArray[i] + ": " + "<b>" + iArray[i] + "</b>"
}
if (dArray[i].search(new RegExp("time", "i")) > -1) {
TempS = TempS + " <b>min</b>"
}
}
}
dv.el('t', "<b>🔎 search terms:</b> \n• " + TempS);

@ -0,0 +1,4 @@
const {globalFunc} = customJS
let {sourcetype, dateadded, language, author, publicationd, theme, readingd} = input;
dv.el('t', "<b>🔎 search terms:</b> \n• " + globalFunc.buildToPrint([sourcetype, dateadded, language, author, publicationd, theme, readingd], ["type of source", "date added", "language", "author", "publication date", "theme", "reading date"], "\n• "));

@ -1,7 +1,5 @@
let {tabletype, invtype, dateadded, style, stage, ccy, theme, tradingd, tradingp} = input; let {tabletype, invtype, dateadded, style, stage, ccy, theme, tradingd, tradingp} = input;
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Investment' const DataType = 'Investment'
const iArray = [invtype, dateadded, style, stage, ccy, theme, tradingd, tradingp];
const dArray = ["invtype", "dateadded", "style", "stage", "ccy", "theme", "tradingd", "tradingp"];
return globalFunc.getTable(dv, DataType, dArray, iArray, tabletype) return globalFunc.getTable(dv, DataType, ["invtype", "dateadded", "style", "stage", "ccy", "theme", "tradingd", "tradingp"], [invtype, dateadded, style, stage, ccy, theme, tradingd, tradingp], tabletype)

@ -1,8 +1,6 @@
let {placetype, dateadded, style, ambiance, area, theme, country, status} = input; let {placetype, dateadded, style, ambiance, area, theme, country, status} = input;
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Place' const DataType = 'Place'
const iArray = [placetype, dateadded, style, ambiance, area, theme, country, status];
const dArray = ["placetype", "dateadded", "style", "ambiance", "area", "theme", "country", "status"];
let templacetype = globalFunc.Get1stArg(placetype) let templacetype = globalFunc.Get1stArg(placetype)
return globalFunc.getTable(dv, DataType, dArray, iArray, templacetype) return globalFunc.getTable(dv, DataType, ["placetype", "dateadded", "style", "ambiance", "area", "theme", "country", "status"], [placetype, dateadded, style, ambiance, area, theme, country, status], templacetype)

@ -1,7 +1,5 @@
let {prodtype, dateadded, prodvalue, theme} = input; let {prodtype, dateadded, prodvalue, theme} = input;
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Product' const DataType = 'Product'
const iArray = [prodtype, dateadded, prodvalue, theme];
const dArray = ["prodtype", "dateadded", "prodvalue", "theme"];
return globalFunc.getTable(dv, DataType, dArray, iArray, 0) return globalFunc.getTable(dv, DataType, ["prodtype", "dateadded", "prodvalue", "theme"], [prodtype, dateadded, prodvalue, theme], 0)

@ -1,8 +1,6 @@
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Recipe' const DataType = 'Recipe'
let {viewtype, course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime} = input; let {viewtype, course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime} = input;
const iArray = [course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime];
const dArray = ["course", "category", "cuisine", "ingredient", "dateadded", "theme", "isfavourite", "rating", "cookingtime"];
let tempview = Boolean(viewtype) ? `${viewtype}` : 0 let tempview = Boolean(viewtype) ? `${viewtype}` : 0
return globalFunc.getTable(dv, DataType, dArray, iArray, tempview) return globalFunc.getTable(dv, DataType, ["course", "category", "cuisine", "ingredient", "dateadded", "theme", "isfavourite", "rating", "cookingtime"], [course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating, cookingtime], tempview)

@ -1,9 +1,6 @@
const {globalFunc} = customJS const {globalFunc} = customJS
const DataType = 'Server' const DataType = 'Server'
let curr = dv.current();
let {tabletype, dateadded, host, subdomain, OS, CPU, RAM, Capa, disktype, BW, speed, dom, theme} = input; let {tabletype, dateadded, host, subdomain, OS, CPU, RAM, Capa, disktype, BW, speed, dom, theme} = input;
const iArray = [dateadded, host, subdomain, OS, CPU, RAM, Capa, disktype, BW, speed, dom, theme];
const dArray = ["dateadded", "host", "subdomain", "OS", "CPU", "RAM", "Capa", "disktype", "BW", "speed", "dom", "theme"];
const tablet = Boolean(tabletype) ? tabletype : 'overview'; const tablet = Boolean(tabletype) ? tabletype : 'overview';
return globalFunc.getTable(dv, DataType, dArray, iArray, tablet) return globalFunc.getTable(dv, DataType, ["dateadded", "host", "subdomain", "OS", "CPU", "RAM", "Capa", "disktype", "BW", "speed", "dom", "theme"], [dateadded, host, subdomain, OS, CPU, RAM, Capa, disktype, BW, speed, dom, theme], tablet)

@ -1,5 +0,0 @@
let thisf = dv.current();
let {toprint} = input;
const {globalFunc} = customJS
dv.el('p', globalFunc.BuildList(toprint, "<br>"));

@ -101,7 +101,7 @@ id EditMetaData
&emsp; &emsp;
```dataviewjs ```dataviewjs
dv.view("00.01 Admin/dv-views/print_data", {toprint: [dv.current().QPType, dv.current().QPDAdded, dv.current().QPStyle, dv.current().QPAmbiance, dv.current().QPArea, dv.current().QPKeyword, dv.current().QPStatus]}) dv.view("00.01 Admin/dv-views/print_placesearch", {placetype: dv.current().QPType, dateadded: dv.current().QPDAdded, style: dv.current().QPStyle, ambiance: dv.current().QPAmbiance, area: dv.current().QPArea, theme: dv.current().QPKeyword, country: "UK", status: dv.current().QPStatus})
``` ```
&emsp; &emsp;

@ -100,9 +100,11 @@ id EditMetaData
&emsp; &emsp;
```dataviewjs ```dataviewjs
dv.view("00.01 Admin/dv-views/print_data", {toprint: [dv.current().QPType, dv.current().QPDAdded, dv.current().QPStyle, dv.current().QPAmbiance, dv.current().QPArea, dv.current().QPKeyword, dv.current().QPStatus]}) dv.view("00.01 Admin/dv-views/print_placesearch", {placetype: dv.current().QPType, dateadded: dv.current().QPDAdded, style: dv.current().QPStyle, ambiance: dv.current().QPAmbiance, area: dv.current().QPArea, theme: dv.current().QPKeyword, country: "France", status: dv.current().QPStatus})
``` ```
&emsp;
```dataviewjs ```dataviewjs
dv.view("00.01 Admin/dv-views/query_place", {placetype: dv.current().QPType, dateadded: dv.current().QPDAdded, style: dv.current().QPStyle, ambiance: dv.current().QPAmbiance, area: dv.current().QPArea, theme: dv.current().QPKeyword, country: "France", status: dv.current().QPStatus}) dv.view("00.01 Admin/dv-views/query_place", {placetype: dv.current().QPType, dateadded: dv.current().QPDAdded, style: dv.current().QPStyle, ambiance: dv.current().QPAmbiance, area: dv.current().QPArea, theme: dv.current().QPKeyword, country: "France", status: dv.current().QPStatus})
``` ```

@ -83,7 +83,7 @@ id EditMetaData
&emsp; &emsp;
```dataviewjs ```dataviewjs
dv.view("00.01 Admin/dv-views/print_data", {toprint: [dv.current().QueryAddedDate, dv.current().QueryLanguage, dv.current().QueryAuthor, dv.current().QueryPublishedD, dv.current().QueryTheme, dv.current().QueryReadD]}) dv.view("00.01 Admin/dv-views/print_sourcesearch", {sourcetype: "Book", dateadded: dv.current().QueryAddedDate, language: dv.current().QueryLanguage, author: dv.current().QueryAuthor, publicationd: dv.current().QueryPublishedD, theme: dv.current().QueryTheme, readingd: dv.current().QueryReadD})
``` ```
&emsp; &emsp;

@ -1,13 +1,13 @@
--- ---
QueryCourse: QueryCourse: ""
QueryCategory: "" QueryCategory: ""
QueryCuisine: "" QueryCuisine: ""
QueryIngredient: chicken QueryIngredient: ""
QueryTheme: "" QueryTheme: Healthy
QueryFavourite: QueryFavourite:
QueryRating: "" QueryRating: ""
QueryCookingTime: "<20" QueryCookingTime: ""
Alias: ["Recipes"] Alias: ["Recipes"]
Tag: ["Lifestyle", "Food", "Cooking"] Tag: ["Lifestyle", "Food", "Cooking"]
Date: 2021-10-20 Date: 2021-10-20

@ -0,0 +1,123 @@
---
ServingSize: 4
cssclass: recipeTable
Tag: ["Healthy", "Summer"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: True
Rating: 4
Recipe:
Courses: "Side Dish"
Categories: "Vegetable"
Collections: "Middle Eastern"
Source:
PreparationTime:
CookingTime: 45
OServingSize: 4
Ingredients:
- 2 whole fennel bulbs
- 1 tbsp olive oil
- 1 whole onion
- 2 whole tomatoes, peeled and chopped
- 55 grams black olives, stoned
- 150 ml vegetable stock
- 2 tbsp fresh basil leaves
---
Parent:: [[@@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BraisedFennelEdit
```button
name Save
type command
action Save current file
id Save
```
^button-BraisedFennelNSave
&emsp;
# Braised Fennel
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Practical Informations
| |
|-|-
**Courses**: | `$=dv.current().Recipe.Courses`
**Categories**: | `$=dv.current().Recipe.Categories`
**Collections**: | `$=dv.current().Recipe.Collections`
**Serving size**: | `$=dv.current().ServingSize`
**Cooking time**: | `$=dv.current().Recipe.CookingTime` min
&emsp;
---
&emsp;
### Ingredients
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/query_ingredient", {ingredients: dv.current().Ingredients, originalportioncount: dv.current().Recipe.OServingSize})
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Cut off and chop the fennel fronds and reserve for garnishing. Cut the bulbs in half lengthways then slice them thinly.
&emsp;
2. Heat the oil in a frying pan. Add the sliced onion and cook over a high heat, stirring occasionally, for 5 minutes, until softened. Add the fennel slices and cook, stirring occasionally, for a further 10 minutes.
&emsp;
3. Add the tomatoes and olives and pour enough vegetable stock to cover the base of the frying pan. Cover and simmer gently for 20 minutes until the fennel is very tender. Stir inthe basil and season to taste with pepper.
&emsp;
4. Transfer to a serving dish, garnish with the reserved fennel fronds and serve immediately.
&emsp;
&emsp;

@ -0,0 +1,128 @@
---
ServingSize: 4
cssclass: recipeTable
Tag: ["Easy", "Fresh", "Healthy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: True
Rating: 4
Recipe:
Courses: "Side Dish"
Categories: "Salad"
Collections: "Middle Eastern"
Source:
PreparationTime:
CookingTime: 20
OServingSize: 4
Ingredients:
- 450 grams pearled or semi-pearled farro (or barley, Israeli couscous, freekeh or wheat berries)
- 60 ml olive oil
- 6 clove(s) garlic
- 1 tbsp fennel seeds
- 1 whole large fennel bulb, thinly sliced, fronds reserved
- 1 whole lemon, thinly sliced
- 1 pinch chilli flakes
- 1 bunch(es) basil leaves, torn
---
Parent:: [[@@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-FarrowFennelLemonBasilEdit
```button
name Save
type command
action Save current file
id Save
```
^button-FarrowFennelLemonBasilNSave
&emsp;
# Farro w Fennel, Lemon, Basil
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Practical Informations
| |
|-|-
**Courses**: | `$=dv.current().Recipe.Courses`
**Categories**: | `$=dv.current().Recipe.Categories`
**Collections**: | `$=dv.current().Recipe.Collections`
**Serving size**: | `$=dv.current().ServingSize`
**Cooking time**: | `$=dv.current().Recipe.CookingTime` min
&emsp;
---
&emsp;
### Ingredients
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/query_ingredient", {ingredients: dv.current().Ingredients, originalportioncount: dv.current().Recipe.OServingSize})
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Cook the grains according to the packet instructions. Drain and set aside.
&emsp;
2. Heat the olive oil in a large skillet over medium heat. Add the garlic and fennel seeds and cook, stirring occasionally, until the garlic is just starting to brown, 3-4 minutes.
&emsp;
3. Add the sliced fennel and half the lemon slices and season eith salt and pepper. Cook, stirring occasionally, until the fennel is totally tender and starting to caramelise, 8-10 minutes.
&emsp;
4. Add the grains and season with salt, pepper and chilli flakes, if using. Toss to coat, then cook for a few minutes, letting the grain absorb some of that garlicky, fennel-y olive oil. Add the remaining lemon slices and remove from the heat.
&emsp;
5. Transfer to the serving platter or bowl and top with the basil and fennel fronds.
&emsp;
&emsp;

@ -88,6 +88,7 @@ style: number
3. [[Configuring Monit|monit]] 3. [[Configuring Monit|monit]]
4. [[Configuring Docker|docker]] 4. [[Configuring Docker|docker]]
5. [[Configuring Caddy|caddy]] 5. [[Configuring Caddy|caddy]]
6. [[Configuring UFW|UFW]]
&emsp; &emsp;

Loading…
Cancel
Save