recipe init

main
Mel 3 years ago
parent d9e3e77614
commit 76823ae5a2

@ -5,7 +5,8 @@
"checkbox",
"realistic-highlight",
"inline-block-embeds",
"colour-blocks"
"colour-blocks",
"tableStyle"
],
"cssTheme": "California Coast"
}

@ -22,5 +22,6 @@
"obsidian-auto-link-title",
"obsidian-itinerary",
"file-tree-alternative",
"customjs"
"customjs",
"obsidian-gallery"
]

@ -0,0 +1,6 @@
{
"imgDataFolder": null,
"galleryLoadPath": "/",
"width": 400,
"reverseDisplay": true
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,10 @@
{
"id": "obsidian-gallery",
"name": "Gallery",
"version": "0.5.8",
"minAppVersion": "0.10.11",
"description": "Main Gallery to tag / filter / add notes to images. Display blocks to embed images inside notes. Display block to an image information",
"author": "darakah",
"authorUrl": "https://github.com/Darakah/",
"isDesktopOnly": false
}

@ -0,0 +1,130 @@
.ob-gallery-control {
height: 100%;
width: 100%;
position: unset;
float: right;
background-color: var(--background-secondary);
}
.ob-gallery-display {
height: 100%;
width: 100%;
position: relative;
float: left;
background-color: var(--background-primary);
overflow-x: auto;
}
.ob-gallery-filter {
height: 70px;
width: 100%;
position: relative;
border: none;
background-color: var(--background-secondary);
border-radius: 5px;
padding: 20px;
}
.ob-gallery-filter-input {
width: 20%;
left: 20px;
position: static;
margin-right: 20px;
}
.ob-gallery-image-focus {
display: none;
position: fixed;
top: 0px;
height: 100%;
width: 100%;
background-color: rgb(16, 17, 17, 0.83);
;
}
.ob-gallery-image-focus>img {
opacity: 1;
margin-left: auto;
margin-right: auto;
max-height: 100%;
display: block;
padding: 40px;
float: unset !important;
}
.image-info-edit {
position: fixed;
right: 0px;
margin: 10px;
color: var(--text-normal) !important;
}
.image-info-edit:hover {
color: var(--text-a) !important;
}
.image-info-open {
position: fixed;
right: 30px;
top: 5px;
color: var(--text-normal) !important;
}
.image-info-open:hover {
color: var(--text-a) !important;
}
.gallery-span-info {
display: none;
}
/* active-thumb View CSS */
.gallery-widget {
background: var(--background-secondary);
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 60%;
background-size: cover;
background-position: center center;
border-radius: 0px 0px 0px 0px;
}
.gallery-container {
max-width: auto;
width: auto;
}
.gallery-span-info br {
display: none;
}
.gallery-grid-img {
opacity: 0.9;
transition: 0.1;
}
.gallery-grid-img:hover {
opacity: 1;
transform: scale(1.04);
}
.gallery-resources-alert {
padding: 20px;
background-color: var(--background-modifier-error-hover);
color: var(--light0-hard);
}
.ob-gallery-video-focus {
opacity: 1;
margin-left: auto;
margin-right: auto;
max-height: 100%;
display: block;
padding: 40px;
float: unset !important;
}

@ -0,0 +1,26 @@
.recipeTable table {
min-width: 100%;
border-collapse: separate;
border: 1px solid #A9A9A9;
border-radius: 6px;
border-spacing: 0px
}
.recipeTable table > tbody > tr > td {
border-bottom: 1px solid #A9A9A9;
}
.recipeTable table > tbody > tr:last-child > td {
border-bottom: thin #A9A9A9;
}
.recipeTable table th:first-of-type{
border-top-left-radius: 6px;
}
.recipeTable table th:last-of-type{
border-top-right-radius: 6px;
}
.recipeTable table tr:last-child td:first-child {
border-bottom-left-radius: 5px;
}
.recipeTable table tr:last-child td:last-child {
border-bottom-right-radius: 5px;
}

@ -9,7 +9,7 @@
"state": {
"type": "markdown",
"state": {
"file": "05.01 Computer setup/@Computer Set Up.md",
"file": "03.03 Recipes/@Recipes.md",
"mode": "preview"
}
}
@ -76,7 +76,7 @@
"state": {
"type": "backlink",
"state": {
"file": "05.01 Computer setup/@Computer Set Up.md",
"file": "03.03 Recipes/@Recipes.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -115,15 +115,15 @@
},
"active": "c1cbd199334b4022",
"lastOpenFiles": [
"05.01 Computer setup/@Computer Set Up.md",
"06.02 Investments/@Investment Task master.md",
"06.02 Investments/Equity Tasks.md",
"04.01 lebv.org/@lebv.org Tasks.md",
"01.01 Life Orga/@Life Organisation.md",
"04.01 lebv.org/Hosting Tasks.md",
"00.01 Admin/Templates/layout$qtask.md",
"01.01 Life Orga/Lifestyle.md",
"01.01 Life Orga/Life Admin.md",
"01.01 Life Orga/Personal projects.md"
"03.03 Recipes/@Recipes.md",
"03.03 Recipes/Steak n Aspargus.md",
"03.03 Recipes/Chocolate Chip Cookie.md",
"03.03 Recipes/Chinese Caramelised Pork Bowl.md",
"03.03 Recipes/Chilli Lime n Cumin Cod.md",
"03.03 Recipes/Chicken n Plum Noodles.md",
"03.03 Recipes/Chicken Fried Rice.md",
"03.03 Recipes/Chicken Curry w Limey Rice.md",
"03.03 Recipes/Carne Asada.md",
"03.03 Recipes/Blueberry cheesecake.md"
]
}

@ -61,40 +61,36 @@ style: number
 
```dataview
table Priority, Status, NextReviewDate as "Next Review Date", DueDate as "Due Date" from "Life Organisation"
where DocType = "Task"
sort DueDate ascending, NextReviewDate ascending
```dataviewjs
const {taskFunc} = customJS
taskFunc.getAllTasks({app, dv, luxon, that:this, theme: })
```
 
#### Review overdue
```dataview
table NextReviewDate as "Next Review Date" from "Life Organisation"
where DocType = "Task" and NextReviewDate < date(today)
sort NextReviewDate ascending
```dataviewjs
const {taskFunc} = customJS
taskFunc.getLateReviewTasks({app, dv, luxon, that:this, theme: })
```
&emsp;
#### Delivery overdue
```dataview
table DueDate as "Due Date" from "Life Organisation"
where DocType = "Task" and DueDate < date(today)
sort DueDate ascending
```dataviewjs
const {taskFunc} = customJS
taskFunc.getOverdueTasks({app, dv, luxon, that:this, theme: })
```
&emsp;
#### Priority tasks
```dataview
Table Priority, DueDate as "Due Date" from "Life Organisation"
Where DocType = "Task" and DueDate >= date(today) and Priority = "High"
Sort DueDate ascending
```dataviewjs
const {taskFunc} = customJS
taskFunc.getPriorityTasks({app, dv, luxon, that:this, theme: })
```
&emsp;

@ -0,0 +1,107 @@
---
ServingSize:
cssclass: recipeTable
Alias: []
Tag: []
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses:
Categories:
Collections:
Source:
PreparationTime:
CookingTime:
Ingredients:
-
---
Parent::
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-<% tp.file.title %>Edit
```button
name Save
type command
action Save current file
id Save
```
^button-<% tp.file.title %>NSave
&emsp;
# <% tp.file.title %>
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;

@ -0,0 +1,3 @@
```dataviewjs
dv.view("00.01 Admin/dv-views/query_server", {tabletype: "overview/technical/usage", dateadded:, host:, subdomain:, OS:, CPU:, RAM:, Capa:, disktype:, BW:, speed:, dom:, theme:})
```

@ -1,20 +1,31 @@
class globalFunc {
PDataCheck(arg1, arg2) {
DataCheck(arg1, arg2) {
var iarg1 = arg1
if (moment(iarg1).isValid()) {iarg1 = arg1.toString()}
var iarg2 = arg2
if (moment(iarg2).isValid()) {iarg2 = arg2.toString()}
if (!Array.isArray(iarg2)) {
var resultdc = iarg1.contains(iarg2)
if (!Array.isArray(iarg2) && !Array.isArray(iarg1)) {
var resultdc = iarg1.search(new RegExp(iarg2, "i")) > -1
} else if (!Array.isArray(iarg1)) {
var resultdc = iarg2.contains(iarg1)
let tempresult = false
for (let i = 0; i < iarg2.length; i++) {
tempresult = tempresult || iarg1.search(new RegExp(iarg2[i], "i")) > -1
}
var resultdc = tempresult
} else if (!Array.isArray(iarg2)) {
let tempresult = false
for (let i = 0; i < iarg1.length; i++) {
tempresult = tempresult || iarg1[i].search(new RegExp(iarg2, "i")) > -1
}
var resultdc = tempresult
} else {
let count = iarg2.length
let tempresult = false
for (let i = 0; i < count; i++) {
tempresult = tempresult || iarg1.contains(iarg2[i])
for (let i = 0; i < arg2.length; i++) {
for (let j = 0; j < arg1.length; j++) {
tempresult = tempresult || iarg1[j].search(new RegExp(iarg2[i], "i")) > -1
}
}
var resultdc = tempresult
@ -76,7 +87,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.PDataCheck(pProp, iarray[i])
result = result && this.DataCheck(pProp, iarray[i])
}
} else {result = result && true}
}
@ -85,7 +96,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.PDataCheck(pProp, iarray[i])
result = result && this.DataCheck(pProp, iarray[i])
}
} else {result = result && true}
break;
@ -168,6 +179,28 @@ class globalFunc {
break;
case 'Server':
switch(TableT) {
case 'overview':
TempData = ["Name", "Provider", "Service", "Location", "IP Address"]
break;
case 'technical':
TempData = ["Name", "OS", "CPU", "RAM", "Disk size", "Disk type", "Bandwidth", "Speed"]
break;
case 'usage':
TempData = ["Name", "Disk size", "Used space", "Date updated"]
break;
}
break;
case 'Recipe':
TempData = ["Name", "Main ingredients", "Cuisine", "Cooking time", "Rating (1-5)"]
break;
}
return TempData
@ -223,6 +256,28 @@ class globalFunc {
TempData = [p.file.link, this.GetPoint(p, DataT, "type"), this.GetPoint(p, DataT, "link"), this.GetPoint(p, DataT, "value"), this.GetPoint(p, "main", "tag")]
break;
case 'Server':
switch(TableT) {
case 'overview':
TempData = [p.file.link, this.GetPoint(p, DataT, "host"), this.GetPoint(p, DataT, "subdomain"), this.GetPoint(p, DataT, "dom"), this.GetPoint(p, DataT, "ipv4")]
break;
case 'technical':
TempData = [p.file.link, this.GetPoint(p, DataT, "os"), this.GetPoint(p, DataT, "cpu"), this.GetPoint(p, DataT, "ram"), this.GetPoint(p, DataT, "capa"), this.GetPoint(p, DataT, "type"), this.GetPoint(p, DataT, "bw"), this.GetPoint(p, DataT, "speed")]
break;
case 'usage':
TempData = [p.file.link, this.GetPoint(p, DataT, "capa"), this.GetPoint(p, DataT, "usedspace"), this.GetPoint(p, DataT, "timestamp")]
break;
}
break;
case 'Recipe':
TempData = [p.file.link, this.GetPoint(p, DataT, "category"), this.GetPoint(p, DataT, "collection"), this.GetPoint(p, DataT, "cooking") + " min", this.GetPoint(p, DataT, "rating")]
break;
}
@ -245,6 +300,7 @@ class globalFunc {
case 'sourcetype':
case 'placetype':
case 'prodtype':
case 'disktype':
result = this.GetPoint(pobj, DocType, "type")
break;
case 'style':
@ -289,7 +345,51 @@ class globalFunc {
case 'prodvalue':
result = this.GetPoint(pobj, DocType, "value")
break;
case 'host':
result = this.GetPoint(pobj, DocType, "host")
break;
case 'subdomain':
result = this.GetPoint(pobj, DocType, "subdomain")
break;
case 'OS':
result = this.GetPoint(pobj, DocType, "os")
break;
case 'CPU':
result = this.GetPoint(pobj, DocType, "cpu")
break;
case 'RAM':
result = this.GetPoint(pobj, DocType, "ram")
break;
case 'Capa':
result = this.GetPoint(pobj, DocType, "capa")
break;
case 'BW':
result = this.GetPoint(pobj, DocType, "bw")
break;
case 'speed':
result = this.GetPoint(pobj, DocType, "speed")
break;
case 'dom':
result = this.GetPoint(pobj, DocType, "dom")
break;
case 'course':
result = this.GetPoint(pobj, DocType, "course")
break;
case 'category':
result = this.GetPoint(pobj, DocType, "category")
break;
case 'cuisine':
result = this.GetPoint(pobj, DocType, "collection")
break;
case 'ingredient':
result = this.GetPoint(pobj, DocType, "ingredient")
break;
case 'isfavourite':
result = this.GetPoint(pobj, DocType, "isfavourite")
break;
case 'rating':
result = this.GetPoint(pobj, DocType, "rating")
break;
}
return result
}
@ -526,6 +626,40 @@ class globalFunc {
}
break;
case 'Recipe':
switch(dPoint) {
case 'course':
result = pobj.Recipe.Courses
break;
case 'category':
result = pobj.Recipe.Categories
break;
case 'collection':
result = pobj.Recipe.Collections
break;
case 'source':
result = pobj.Recipe.Source
break;
case 'preparation':
result = pobj.Recipe.PreparationTime
break;
case 'cooking':
result = pobj.Recipe.CookingTime
break;
case 'ingredient':
result = pobj.Ingredients
break;
case 'isfavourite':
result = pobj.Meta.IsFavourite
break;
case 'rating':
result = pobj.Meta.Rating
break;
}
break;
}
return result

@ -0,0 +1,7 @@
const {globalFunc} = customJS
const DataType = 'Recipe'
let {course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating} = input;
const iArray = [course, category, cuisine, ingredient, dateadded, theme, isfavourite, rating];
const dArray = ["course", "category", "cuisine", "ingredient", "dateadded", "theme", "isfavourite", "rating"];
return globalFunc.getTable(dv, DataType, dArray, iArray, 0)

@ -0,0 +1,9 @@
const {globalFunc} = customJS
const DataType = 'Server'
let curr = dv.current();
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';
return globalFunc.getTable(dv, DataType, dArray, iArray, tablet)

@ -26,7 +26,7 @@ class taskFunc {
const finalDate = luxon.DateTime.now().toISODate() //?? dv.current().file.name
return this.getTasksTable({
...args,
filterFn: t => t.DocType == 'Task' && t.Status != 'Completed' && t.DueDate && t.DueDate?.hasSame(luxon.DateTime.fromISO(finalDate), 'day')
filterFn: t => this.getPoint(t, "type") == 'Task' && this.getPoint(t, "status") != 'Completed' && this.getPoint(t, "duedate") && this.getPoint(t, "duedate")?.hasSame(luxon.DateTime.fromISO(finalDate), 'day')
})
}
@ -34,7 +34,7 @@ class taskFunc {
const { luxon, dv, that, theme } = args
return this.getTasksTable({
...args,
filterFn: t => t.DocType == 'Task' && t.NextReviewDate
filterFn: t => this.getPoint(t, "type") == 'Task' && this.getPoint(t, "reviewdate")
})
}
@ -43,7 +43,7 @@ class taskFunc {
const finalDate = luxon.DateTime.now().toISODate() //date ?? dv.current().file.name
return this.getTasksTable({
...args,
filterFn: t => t.DocType == 'Task' && t.DueDate && t.DueDate < luxon.DateTime.fromISO(finalDate) && t.Status != 'Completed'
filterFn: t => this.getPoint(t, "type") == 'Task' && this.getPoint(t, "duedate") && this.getPoint(t, "duedate") < luxon.DateTime.fromISO(finalDate) && this.getPoint(t, "status") != 'Completed'
})
}
@ -52,7 +52,7 @@ class taskFunc {
const finalDate = luxon.DateTime.now().toISODate() //date ?? dv.current().file.name
return this.getTasksTable({
...args,
filterFn: t => t.DocType == 'Task' && t.NextReviewDate && t.NextReviewDate < luxon.DateTime.fromISO(finalDate) && t.Status != 'Completed'
filterFn: t => this.getPoint(t, "type") == 'Task' && this.getPoint(t, "reviewdate") && this.getPoint(t, "reviewdate") < luxon.DateTime.fromISO(finalDate) && this.getPoint(t, "status") != 'Completed'
})
}
@ -60,7 +60,15 @@ class taskFunc {
return this.getTasksTable({
...args,
// prependText: 'No Due Date',
filterFn: t => t.DocType == 'Task' && !t.DueDate
filterFn: t => this.getPoint(t, "type") == 'Task' && !this.getPoint(t, "duedate")
})
}
getPriorityTasks(args) {
const { luxon, dv, that, theme } = args
return this.getTasksTable({
...args,
filterFn: t => this.getPoint(t, "type") == 'Task' && this.getPoint(t, "reviewdate") && this.getPoint(t, "priority") == 'High'
})
}
@ -71,9 +79,9 @@ class taskFunc {
dv,
luxon,
theme,
getSortProp = t => t.NextReviewDate,
getSortProp = t => this.getPoint(t, "reviewdate"),
sortOrder = 'asc',
filterFn = t => {t.DocType == 'Task'},
filterFn = t => {this.getPoint(t, "type") == 'Task'},
completedCol = false,
prependHeaderLevel = 3,
prependText
@ -88,7 +96,7 @@ class taskFunc {
const pages = dv.pages(pFilter).sort(getSortProp, sortOrder).where(filterFn)
if (pages.length === 0) {
// console.log('Empty dataview:', args)
return
return dv.el('b', '🗓 ✅ No pending task')
}
if (prependText) {
@ -97,12 +105,12 @@ class taskFunc {
dv.table(["Name", "Category", "Priority", dueStr, "", ""], pages
.map(t => {
const { btnStr, updateStr } = this.getButtonStrings(t.Status)
const { btnStr, updateStr } = this.getButtonStrings(this.getPoint(t, "status"))
return [
this.getCustomLink(t.file.name, t.file.name),
t.Tag,
t.Priority,
this.relDateString(t.NextReviewDate, luxon),
this.getPoint(t, "tag"),
this.getPoint(t, "priority"),
this.relDateString(this.getPoint(t, "reviewdate"), luxon),
createButton({
app,
el: that.container,
@ -113,4 +121,51 @@ class taskFunc {
})
)
}
getPoint(p, datapoint) {
let result = null
switch(datapoint) {
case 'reviewdate':
result = p.NextReviewDate
break;
case 'duedate':
result = p.DueDate
break;
case 'startdate':
result = p.StartDate
break;
case 'priority':
result = p.Priority
break;
case 'timestamp':
result = p.TimeStamp
break;
case 'status':
result = p.Status
break;
case 'type':
result = p.DocType
break;
case 'createddate':
result = p.Date
break;
case 'tag':
result = p.Tag
break;
case 'hierarchy':
result = p.Hierarchy
break;
case 'alias':
result = p.Alias
break;
case 'location':
result = p.location
break;
}
return result
}
}

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

@ -81,6 +81,15 @@ taskFunc.getOverdueTasks({app, dv, luxon, that:this, theme: "LifeHacks"})
&emsp;
#### Priority tasks
```dataviewjs
const {taskFunc} = customJS
taskFunc.getPriorityTasks({app, dv, luxon, that:this, theme: "LifeHacks"})
```
&emsp;
---
&emsp;

@ -4,8 +4,8 @@ QPType: Restaurant
QPStyle:
QPAmbiance:
QPKeyword:
QPArea: NottingHill
QPStatus: Occasional
QPArea: ""
QPStatus: Prospect
QPDAdded:
Alias: ["London"]
Tag: ["Personal", "Life"]

@ -0,0 +1,152 @@
---
QueryCourse:
QueryCategory: ""
QueryCuisine: ""
QueryIngredient: pepper
QueryTheme: ""
QueryFavourite:
QueryRating:
Alias: ["Recipes"]
Tag: ["Lifestyle", "Food", "Cooking"]
Date: 2021-10-20
DocType: "Personal"
Hierarchy: "Root"
location:
CollapseMetaTable: Yes
---
Parent:: [[Lifestyle]]
---
&emsp;
```button
name Create New Recipe
type note(New Note) template
action Template Recipe
id NewNote
```
^button-RecipesNewNote
```button
name Save
type command
action Save current file
id Save
```
^button-RecipesSave
&emsp;
# Folder map
&emsp;
```ad-abstract
title: Summary
collapse: open
This note enables to navigate in the Recipes section and find any Recipe in this Vault by Recipe or Tag
```
&emsp;
```toc
style: number
```
&emsp;
---
&emsp;
### Quick Filter
&emsp;
```button
name Search Library
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/print_data", {toprint: [dv.current().QueryCourse, dv.current().QueryCategory, dv.current().QueryCuisine, dv.current().QueryIngredient, dv.current().QueryTheme, dv.current().QueryFavourite, dv.current().QueryRating,
dv.current().QueryAddedDate]})
```
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/query_recipe", {course: dv.current().QueryCourse, dateadded: dv.current().QueryAddedDate, category: dv.current().QueryCategory, cuisine: dv.current().QueryCuisine, ingredient: dv.current().QueryIngredient, theme: dv.current().QueryTheme, isfavourite: dv.current().QueryFavourite, rating: dv.current().QueryRating})
```
&emsp;
---
&emsp;
### Main dishes
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/query_recipe", {course: "Main Dish"})
```
&emsp;
---
&emsp;
### Dessert
&emsp;
```dataviewjs
dv.view("00.01 Admin/dv-views/query_recipe", {course: "Dessert"})
```
&emsp;
---
&emsp;
### Tag Navigation
&emsp;
```dataview
Table without id tags as "Tags" From "03.03 Recipes"
Flatten file.tags as tags
Group by tags
```
&emsp;
---
&emsp;
### High Level tasks
&emsp;
```tasks
not done
path includes 03.03
sort by due
hide backlink
hide task count
```
&emsp;
&emsp;

@ -0,0 +1,154 @@
---
ServingSize: 2
cssclass: recipeTable
Alias: ["Travels"]
Tag: ["Pilaf", "Easy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories: ["Beef", "Rice"]
Collections: "Indian"
Source: "https://www.hellofresh.co.uk/recipes/aromatic-beef-pilaf-5f7f1e8398ecf4455b27d417"
PreparationTime:
CookingTime: 20
Ingredients:
- 240 grams Beef Mince
- 1 . Onion
- 1 pack(s) Green Beans
- 2 . Vine Tomatoes
- 2 clove(s) Garlic
- 150 grams Basmati Rice
- 1 pot(s) Cardamom Pod
- 1 sachet Ginger Puree
- 1 pot(s) Curry Powder
- 1 pot(s) Cumin
- 0.5 pot(s) Ground Turmeric
- 1 sachet Beef Stock Powder
- 150 milliliter(s) Water
- 1 bunch(es) Coriander
- 1 sachet Mango Chutney
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BeefPilafEdit
```button
name Save
type command
action Save current file
id Save
```
^button-aBeefPilafNSave
&emsp;
# Aromatic Beef Pilaf with Tomatoes and Green Beans
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1.a) Heat a drizzle of oil in a large frying pan over high heat. Once hot, add the beef and cook until browned, 4-5 mins, break it up with a wooden spoon as it cooks.
1.b) Meanwhile, halve, peel and chop the onion into small pieces. Trim the green beans then chop into thirds. Roughly chop the tomatoes. Peel and grate the garlic (or use a garlic press).
&emsp;
2.a) Bring a large saucepan of water to the boil with 0.25 tsp of salt for the rice.
2.b) When boiling, add the rice and cardamon pods and cook until tender, 12 mins.
&emsp;
3.a) While the rice is cooking, add the onion to the beef, cook for 3-4 mins, until softened.
```ad-warning
title: IMPORTANT
The mince is cooked when it is no longer pink in the middle.
```
3.b) Lower the heat and add the garlic, easy ginger, curry powder (use less if you don't like heat!), cumin and turmeric and cook, stirring, for 1 min.
&emsp;
4.a) Add the tomatoes, beans, beef stock powder and water (see ingredients for amounts), season with salt and pepper and mix well.
4.b) Cover with a lid (or foil) and simmer, stirring occasionally, until the tomatoes have softened and the beans are tender, about 5 mins. Taste and add more salt and pepper if you like.
&emsp;
5.a) Once the rice is cooked, drain in a sieve and discard the cardamom. TIP: Drain the rice really well to get rid of excess water.
5.b) Roughly chop the coriander (stalks and all).
5.c) Fold the cooked rice gently through the beef mixture with half the coriander. Taste and adjust seasoning if necessary.
&emsp;
6.a) Divide between plates and top with the remaining coriander and mango chutney. Enjoy!

@ -0,0 +1,151 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["TexMex", "Tortilla", "Easy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Beef
Collections: "Mexican"
Source: https://www.hellofresh.co.nz/recipes/cheats-beef-enchiladas-609370ee5658f2769472fbc8
PreparationTime:
CookingTime: 20
Ingredients:
- 3 clove(s) garlic
- 0.5 tin sweetcorn
- 1 packet beef mince
- 0.5 tin chopped tomatoes
- 0.5 tsp sugar
- 0.25 tsp salt
- 6 . mini flour tortillas
- 1 . tomato
- 1 packet coriander
- 0.25 cup vinegar (rice wine or white wine)
- 1 sachet Tex-Mex spice blend
- 1 packet shredded Cheddar cheese
- 1 packet Greek-style yoghurt
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BeefEnchiladasEdit
```button
name Save
type command
action Save current file
id Save
```
^button-BeefEnchiladasNSave
&emsp;
# Cheat's Beef Enchiladas with Pickled Onion & Charred Corn Salsa
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Thinly slice the red onion. In a small bowl, combine the vinegar and a good pinch of sugar and salt. Crunch 1/2 the onion in your hands, then add it to the pickling liquid with just enough water to cover the onion. Set aside until serving.
&emsp;
2. While the onion is pickling, grate the carrot. Finely chop the garlic. Drain the sweetcorn (see ingredients). Heat a large frying pan over a high heat. Cook the sweetcorn until lightly browned, 4-5 minutes. Transfer to a medium bowl and set aside.
```ad-tip
title:TIP
Cover the pan with a lid if the corn kernels are &quot;popping&quot; out.
```
&emsp;
3. Return the frying pan to a high heat with a drizzle of olive oil. Cook the beef mince and remaining onion, breaking the mince up with a spoon, until browned, 4-6 minutes. Add the carrot and cook until softened, 2 minutes. Add the garlic and Tex-Mex spice blend and cook until fragrant, 30 seconds. Add the chopped tomatoes (see ingredients), the sugar, salt and a splash of water and bring to the boil. Reduce the heat to medium, then simmer until thickened, 1-2 minutes.
```ad-tip
title:TIP
Add another splash of water if the beef mixture looks too dry!
```
&emsp;
4. Preheat the grill to medium-high. Drizzle a baking dish with olive oil. Place the mini flour tortillas on a flat surface and fill evenly with the enchilada filling. Roll up the tortillas to close and place, seam-side down, in the baking dish. Sprinkle with the shredded Cheddar cheese. Grill the enchiladas until the cheese is melted and the tortillas are warmed through, 8-10 minutes.
&emsp;
5. While the enchiladas are grilling, finely chop the tomato. Add the tomato, a drizzle of olive oil and some pickling liquid (1 tbs for 2 people / 2 tbs for 4 people) to the charred corn. Toss to combine. Season to taste.
&emsp;
6. Drain the pickled onion. Divide the cheat's beef enchiladas between plates. Top with the Greekstyle yoghurt, pickled onion and charred corn salsa. Tear over the coriander.

@ -0,0 +1,152 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Wok", "Easy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Beef
- Noodle
Collections: "Asian"
Source: https://www.hellofresh.co.uk/recipes/beef-noodles-5fd75e62140d1c33631a3c06
PreparationTime:
CookingTime: 25
Ingredients:
- 150 grams Green Beans
- 1 . Bell Pepper
- 0.5 Lime
- 1 piece Ginger
- 1 clove(s) Garlic
- 1 bunch(es) Coriander
- 240 grams Beef Mince
- 1 sachet Ketjap Manis
- 1 sachet Soy Sauce
- 1 pack(s) Egg Noodle Nest
- 0.5 tsp Sugar
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BeefNoodleswithBeansnPepperEdit
```button
name Save
type command
action Save current file
id Save
```
^button-BeefNoodleswithBeansnPepperNSave
&emsp;
# Ginger & Beef Noodles with Green Beans and Pepper
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Fill and boil the kettle. Trim the green beans then chop into thirds. Halve the pepper and discard the core and seeds. Slice into thin strips. Zest and quarter the lime. Peel and grate the ginger. Peel and grate the garlic (or use a garlic press). Roughly chop the coriander (stalks and all).
&emsp;
2. Heat a splash of oil in a large frying pan over medium-high heat. Add the mince and stir-fry until browned, 6-8 mins. Break it up with a wooden spoon as it cooks. When the beef is cooked, transfer to a small bowl, mix in the ketjap manis and half of the soy sauce and set to one side. Keep the pan, drain any excess beef fat from the pan!
```ad-warning
title: IMPORTANT
The beef is safe to eat when browned all over and no longer pink in the middle.
```
&emsp;
3. In the meantime, pour the boiled water into a large saucepan over high heat with 0.5 tsp of salt. Stir in the noodles, bring back to the boil then cook the noodles until tender, 4 mins. Once cooked, drain in a sieve and run under cold water to stop them from sticking together.
&emsp;
4. Return the now empty frying pan to medium heat. Once hot, add the pepper, green beans and a small splash of water to help them cook. Stir-fry until tender 4-5 minutes. Stir in the ginger and garlic. Cook for 1 minute then stir in the remaining soy sauce and sugar (see ingredients for amount).
&emsp;
5. Add the beef mince back into the pan and stir in the noodles. Toss to coat and continue to cook until everything is piping hot, 2-3 mins. Once hot, remove the pan from the heat and stir in the lime zest, juice from half the lime and half the coriander. Season to taste with salt and pepper.
&emsp;
6. Divide the noodles between your bowls and sprinkle over the remaining coriander. Serve with the remaining wedges of lime on the side to squeeze on top!
&emsp;
Enjoy!
&emsp;
&emsp;

@ -0,0 +1,176 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Easy", "Curry"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Beef
- Bread
Collections: Indian
Source: Hellofresh
PreparationTime:
CookingTime: 20
Ingredients:
- 1 . Baking Potato
- 2 clove(s) Garlic
- 1 . Baby Gem Lettuce
- 1 . Spring Onion
- 15 ml Red Wine Vinegar
- 1 tbsp Olive Oil
- 240 g Beef mince
- 75 g Natural Yoghurt
- 15 g Nigella seeds
- 50 g Tomato Puree
- 30 g North Indian style curry powder
- 100 ml Water
- 10 g Beef Stock paste
- 2 . Naans
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BeefnPotatoesKeemaNaansEdit
```button
name Save
type command
action Save current file
id Save
```
^button-BeefnPotatoesKeemaNaansNSave
&emsp;
# Beef and Potatoes Keema Naans with Garlicky Yoghurt
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
Preheat your oven 200 C.
Bring large saucepan of water to the boil with 1/2 tsp of salt for the potatoes.
Peel the potatoes, chop them into 1cm chunks. When boiling, add the potatoes and cook until you can easily slip knife through, 10-15 mins.
When the potatoes have been cooking for 5 minutes, reserve some of the potato cooking water (see ingredients amount).
Peel 1 garlic clove, wrap in foil with a drizzle of oil,roast in the oven for 10 mins.
Peel and grate the other garlic clove (or use a garlic press).
Trim the root from the baby gem lettuce then half lengthways and thinly slice widthways.
Trim the spring onions then slice thinly.<
Add the red wine vinegar to a medium-size bowl along with a pinch of sugar and oil (see ingredients for amount). Mix together and set aside.
Heat adrizzle of oil in a frying pan on high heat.
When the oil is hot, add the beef mince and cook until browned, 5-6 mins.
```ad-warning
title: IMPORTANT
Wash your hands after handling raw mince. The mince cooked when longer pink the middle.
```
While the mince cooks, remove the roasted garlic from the oven, crush into a paste with the back of a fork.
Add the natural yoghurt to a small bowl and stir the crushed garlic. Season with salt and pepper and set aside.
Once the mince is cooked, drain off any excess fat and season with salt and pepper.
Return the frying pan with the mince to medium-high heat, add half the nigella seeds, remaining garlic, tomato puree and north Indian style curry powder. Cook, stirring frequently, for 1 minute.
Pour the reserved potato water (see ingredients for amount) and stir in the beef stock paste, bring to the boil and simmer until the mixture has thickened, 3-4 minutes.
```ad-tip
title: TIP
add a splash of water of the mix is too dry.
```
Once the potatoes are cooked, drain them in a colander. Carefully stir the potato chunks into the pan with the beef. Taste and season with salt pepper.
Place the naans in the oven and bake until toasted and golden, 2-3 mins.
Add the baby gem to the dressing, toss to coat.
Serve the naans between the plates.
Serve the beef on top of the naan with handful of salad on top.
Dollop over the garlicky yoghurt, sprinkle with the remaining nigella seeds spring onion.
&emsp;
&emsp;

@ -0,0 +1,133 @@
---
ServingSize: 6
cssclass: recipeTable
Tag: []
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 0
Recipe:
Courses: Dessert
Categories: Cake
Collections: American
Source: Internal
PreparationTime: 10
CookingTime: 60
Ingredients:
- 8 . digestive biscuit crumbs
- 50 grams butter, melted
- 600 grams cream cheese
- 2 tablespoons all-purpose flour
- 175 grams caster sugar
- 2 . eggs, plus 1 yolk
- 1 . small pot soured cream
- 1 . vanilla extract
- 300 grams fresh or frozen blueberries
- 1 . icing sugar
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-BlueberrycheesecakeEdit
```button
name Save
type command
action Save current file
id Save
```
^button-BlueberrycheesecakeNSave
&emsp;
# Blueberry cheesecake
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 6 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Melt the butter and pour onto the cracker crumbs and mix well. Press into the bottom of a 9-inch spring form pan. Bake at 325F until the crust is set, about 10-12 minutes. Allow to cool.
&emsp;
2. In a large bowl beat the cream cheese with the flour, caster sugar, eggs, soured cream and vanilla extract with an electric mixer until light and fluffy.
&emsp;
3. Pour the mixture into the pan and bake for 35-40 minutes until set. Remove from the oven and leave to cool.
&emsp;
4. Heat half the blueberries in a pan with 2 tablespoons icing sugar and stir gently until juicy. Squash the blueberries with a fork then continue to cook for a few minutes. Add the remaining blueberries, remove from the heat and allow to cool.
&emsp;
5. Pour the blueberries over the cheesecake just before serving.

@ -0,0 +1,148 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Steak", "Barbecue"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Beef
Collections: Mexican
Source: https://www.hellofresh.co.nz/recipes/carne-asada-style-steak-60a73346a13c1070ba4b9d37
PreparationTime:
CookingTime: 30
Ingredients:
- 1 . olive oil
- 1 punnet cherry tomatoes
- 2 . radish
- 1 bunch(s) spring onion
- 0.5 . lime
- 3 clove(s) garlic
- 1 bag coriander
- 15 grams butter
- 1 packet beef rump
- 1 tbs plain flour
- 0.5 bottle longlife cream
- 2 tbs milk
- 1 packet(s) corn chips
- 200 grams grated Parmesan cheese
- 50 grams pickled jalapeños
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-CarneAsadaEdit
```button
name Save
type command
action Save current file
id Save
```
^button-CarneAsadaNSave
&emsp;
# Carne Asada-Style Steak with Queso, Corn Chips & Salsa Verde
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1.Halve the cherry tomatoes. Thinly slice the radish and the spring onion. Zest the lime to get a pinch, then slice into wedges. Finely chop the pickled jalape&#241;os. Finely chop the garlic.
&emsp;
2.In a medium bowl, combine the cherry tomatoes, radish, spring onion, a squeeze of lime juice and a drizzle of olive oil, then season with salt and pepper. Set aside.
&emsp;
3.Finely chop the coriander. In a small bowl, combine the coriander, olive oil (2 tbs 2 people / 1/4 cup 4 people), a pinch of chilli flakes (if using) and the lime zest. Season and set aside.
&emsp;
4.In a large frying pan, heat a drizzle of olive oil over a high heat. When the oil is hot, cook the beef rump for 2-3 minutes on each side (depending on thickness) or until cooked to your liking. In the last minute of cook time, add 1/2 the garlic and cook until fragrant. Transfer the steak and garlic to a plate to rest.
&emsp;
```ad-warning
title: SPICY!
The jalapeños are hot, use less if you're sensitive to heat.
```
5.While the steak is resting, heat the butter in a medium saucepan over a medium heat. Cook the remaining garlic until fragrant, 1 minute. Add the plain flour and cook, stirring, until thickened, 30 seconds. Add the longlife cream (see ingredients) and the milk and cook until thickened, 1-2 minutes. Remove from the heat, then add the grated Parmesan cheese and jalape&#241;os and stir to combine. Season to taste, then and set aside. Meanwhile, microwave the corn chips in a large bowl for 10 second bursts until warmed through.
&emsp;
6.Slice the steak and drizzle with the salsa verde. Bring everything to the table to serve. Help yourself to the steak, cherry tomato salsa, jalape&#241;o queso and corn chips. Serve with any remaining lime wedges.

@ -0,0 +1,152 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Curry"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Chicken
- Rice
Collections: Indian
Source: https://www.hellofresh.co.uk/recipes/fragrant-chicken-curry-5f184fefd4d3ad361252ad44
PreparationTime:
CookingTime: 40
Ingredients:
- 1 . Echalion Shallot
- 1 clove(s) Garlic
- 1 . Courgette
- 1 bunch(es) Flat Leaf Parsley
- 280 grams Diced Chicken Breast
- 300 milliliter(s) Water for the Rice
- 150 grams Basmati Rice
- 1 pot(s) Zanzibar Curry Spice Mix
- 200 milliliter(s) Coconut Milk
- 1 sachet Chicken Stock Powder
- 0.5 . Lime
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChickenCurryEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChickenCurryNSave
&emsp;
# Fragrant Chicken Curry with Limey Rice
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Halve, peel and thinly slice the shallot. Peel and grate the garlic (or use a garlic press).Trim the courgette then quarter lengthways. Chop widthways into small pieces.Roughly chop the parsley (stalks and all).
&emsp;
2. Heat a drizzle of oil in a saucepan over medium-high heat. Add the chicken and cook until brown all over, 5-6 mins. Turn occasionally. Tip: Do this in batches if necessary - you don&#39;t want to stew the chicken! Add the shallot and cook, stirring, until soft, 5 mins.
&emsp;
3. Pour the water for the rice (see ingredients for amount) into a saucepan and bring to the boil. When boiling, add 0.25 tsp of salt, stir in the rice, lower the heat to medium and pop a lid on the pan. Leave to cook for 10 mins, then remove the pan from the heat (still covered) and leave to the side for another 10 mins or until ready to serve (the rice will continue to cook in its own steam).
&emsp;
4. Add the garlic, half of the parsley and the Zanzibar curry powder to the chicken. Cook for one minute. Add the coconut milk and chicken stock powder. Bring to the boil, stir and lower the heat so the curry simmers gently. Cook for 10 mins. Add the courgette, then simmer until the sauce has thickened and the courgette is tender, 5-7.
```ad-warning
title: IMPORTANT
The chicken is cooked when no longer pink in the middle.
```
```ad-tip
title: TIP
Add a splash of water if the curry looks a bit dry.
```
&emsp;
5. While the curry is cooking, zest and halve the lime. When the rice is ready, fluff it up with a fork. Stir in the lime zest and a small squeeze of lime juice (save some for the curry!).
&emsp;
6. When the curry is cooked, taste and add salt and pepper if required. Stir in the remaining parsley and a squeeze of lime juice. Spoon the rice into bowls, top with the fragrant chicken curry and enjoy!
&emsp;
&emsp;

@ -0,0 +1,165 @@
---
ServingSize: 2
cssclass: recipeTable
Alias: []
Tag: []
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Chicken
- Rice
Collections: Asian
Source: https://www.hellofresh.co.uk/recipes/chicken-fried-rice-wk3-5834834e2e69d73c6e619bc3
PreparationTime:
CookingTime: 30
Ingredients:
- 175 grams Basmati Rice
- 1 stick(s) Cinnamon
- 350 milliliter(s) Water
- 4 thigh(s) Chicken
- 1 punnet(s) Closed Cup Mushrooms
- 1 root Ginger
- 1 clove(s) Garlic
- 0.5 . Red Chilli
- 3 . Spring Onion
- 1 bunch(es) Coriander
- 25 grams Salted Peanuts
- 1.5 tbsp Soy Sauce
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChickenFriedRiceEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChickenFriedRiceNSave
&emsp;
# Chicken Fried Rice with Mushrooms, Chilli, Peanuts and Soy
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Pour the basmati rice into a pot with the cinnamon stick and a generous pinch of salt. Add the water (amount specified in the ingredient list), bring to the boil on high heat and then pop on the lid. Once the water is boiling turn the heat down to low and cook for 10 mins. After 10 mins, remove the pot from the heat and leave for another 10 mins with the lid on.
&emsp;
2. Cut the chicken into strips 1cm wide. Make sure you wash your hands, knife and board and then get on with the veggies. Chop the mushrooms into slices &#189;cm thick. Peel and grate the ginger and garlic (or use a garlic press if you have one) and cut the chilli into very thin slices.
```ad-tip
title: Tip
If you want to reduce the heat of the chilli, cut it in half lengthways, scoop out the seeds with a teaspoon then slice in the same way. The seeds contain a lot of the heat!
```
&emsp;
3. Remove the root from the spring onion and slice as thinly as you can. Roughly chop the coriander leaves. Pop the peanuts into a food bag and crush with a rolling pin.
&emsp;
4. Heat a wide frying pan over high heat and add a glug of oil. When the oil is hot add your chicken and cook for 5-7 mins, before turning and cooking for 5 mins more. Your chicken should be golden-brown on the outside and no longer pink in the middle. Transfer your chicken to a bowl once it&#8217;s cooked and keep to one side.
```ad-tip
title: Tip
Do this in batches if your pan isn&#8217;t quite big enough. You want your chicken to fry not stew!
```
&emsp;
5. Wipe out your frying pan with some kitchen paper and add another splash of oil. Keep the heat on high and fry your mushrooms for 5 mins or until golden-brown. Stir in your ginger, garlic and chilli and cook for another minute.
```ad-tip
title: Tip
Use less or more chilli depending on how spicy you like things!
```
&emsp;
6. Next, put your chicken and any juices back into the pan and reheat until your chicken is piping hot. Pour in half of the soy sauce and then add your rice. Mix well and check the seasoning. Add more soy sauce if needed.
&emsp;
7. Serve your fried rice immediately and finish with a sprinkle of your spring onion, coriander and crushed peanuts.
&emsp;
Enjoy!
&emsp;
&emsp;

@ -0,0 +1,173 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Wok", "SweetSour", "Easy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Chicken
- Noodle
Collections: Asian
Source: https://www.hellofresh.co.uk/recipes/chicken-plum-noodle-stir-fry-5fc8ca22d5b62f7979523caf
PreparationTime:
CookingTime: 20
Ingredients:
- 2 pack(s) Egg Noodle Nest
- 280 grams Diced Chicken Thigh
- 2 . Plum
- 1 . Spring Onion
- 0.5 . Red Chilli
- 1 clove(s) Garlic
- 0.5 sachet Ginger Puree
- 1 sachet Hoisin Sauce
- 1 sachet Ketjap Manis
- 1 bag(s) Salted Peanuts
- 150 grams Mangetout
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChickennPlumNoodlesEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChickennPlumNoodlesNSave
&emsp;
# Chicken & Plum Noodle Stir-Fry with Mange Tout
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1.a) Bring a saucepan of water up to the boil with 0.5 tsp of salt for the noodles.
1.b) When boiling, add the noodles and cook for 4 mins.
1.c) Drain in a sieve, return to the pan (off the heat) and cover with cold water - this will stop them sticking.
&emsp;
2.a) Meanwhile, heat a drizzle of oil in a large frying pan or wok on medium-high heat.
2.b) When hot, add the diced chicken and season with salt and pepper. Fry, stirring occasionally, until browned, 4-5 mins.
&emsp;
3.a) Meanwhile, halve the plums, remove the stones and chop each half into three wedges.
3.b) Trim the spring onion and thinly slice.
3.c) Halve the red chilli, deseed and finely chop.
3.d) Peel and grate the garlic (or use a garlic press).
&emsp;
4.a) Lower the heat to medium and add the plums to the pan with the chicken.
4.b) Stir-fry until the plums start to colour, 1-2 mins.
4.c) Stir in the garlic and easy ginger along with half the spring onion and as much chilli as you like.
4.d) Stir-fry for another minute.
&emsp;
5.a) Add the mange tout and stir-fry until just tender, 1-2 mins.
5.b) Stir in the hoisin sauce, ketjap manis and 1 tbsp water per person, ensuring everything is well coated.
5.c) Drain the noodles and add them to the pan. Stir together and cook until everything is piping hot, 1-2 mins.
```ad-warning
title: IMPORTANT
The chicken is cooked when no longer pink in the middle.
```
&emsp;
6.a) Divide the chicken and plum noodles between your bowls and scatter over the peanuts and remaining spring onion.
&emsp;
Enjoy!
&emsp;
&emsp;

@ -0,0 +1,138 @@
---
ServingSize: 2
cssclass: recipeTable
Alias: []
Tag: []
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories: Fish
Collections: Modern
Source: https://www.food.com/recipe/chili-lime-cumin-cod-131528
PreparationTime:
CookingTime: 17
Ingredients:
- 2 lbs fresh cod fish fillets
- 1 teaspoon chili powder
- 0.5 teaspoon dried parsley or 1/2 teaspoon dried cilantro
- 0.5 teaspoon salt
- 2 tablespoons butter
- 0.25 teaspoon cumin
- 1 lime, juice of
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChilliLimenCuminCodEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChilliLimenCuminCodNSave
&emsp;
# Chilli Lime and Cumin Cod
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Heat oven to 450F.
2. Coat oven safe pan with oil or cooking spray.
3. Place cod in pan.
4. Sprinkle chili powder, herb and salt.
5. Roast 5-7 minutes until opaque.
6. Melt butter in small saucepan.
7. Add cumin and lime juice and cook for 1 more minute.
8. Before serving drizzle butter mixture over cod.
&emsp;
&emsp;

@ -0,0 +1,158 @@
---
ServingSize: 2
cssclass: recipeTable
Tag: ["Wok", "Easy"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Egg
- Rice
- Pork
Collections: Asian
Source: https://www.hellofresh.co.nz/recipes/chinese-style-pork-bowl-5d260a7cf7d286000a3ed738
PreparationTime:
CookingTime: 30
Ingredients:
- 1 . olive oil
- 3 clove(s) garlic
- 20 g butter
- 1 packet jasmine rice
- 1.25 cup water (for the rice)
- 0.25 tsp salt
- 1 knob ginger
- 1 bunch carrot
- 1 bunch mint
- 1 . cucumber
- 1 packet pork mince
- 0.5 sachet sesame seeds
- 2 tsp rice wine vinegar
- 1 bag shredded cabbage mix
- 2 tsp honey
- 1 packet Sichuan garlic paste
- 1 tbs soy sauce
- 1 tbs water (for the sauce)
- 2 . eggs
- 1 packet crushed peanuts
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChineseCaramelisedPorkBowlEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChineseCaramelisedPorkBowlNSave
&emsp;
# Chinese Caramelised Pork Bowl
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 2 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Finely chop the garlic. In a medium saucepan, melt the butter with a dash of olive oil over a medium heat. Add 1/2 the garlic and cook until fragrant, 1-2 minutes. Add the jasmine rice, water (for the rice) and the salt, stir, then bring to the boil. Reduce the heat to low and cover with a lid. Cook for 12 minutes, then remove from the heat and keep covered until the rice is tender and the water is absorbed, 10-15 minutes.
```ad-tip
title: TIP
The rice will finish cooking in its own steam so don&#39;t peek!
```
&emsp;
2. While the rice is cooking, grate the ginger (unpeeled). Grate the carrot (unpeeled). Pick and roughly chop the mint leaves. Thinly slice the cucumber. In a small bowl, combine the sesame seeds (see ingredients), Sichuan garlic paste, honey, soy sauce, water (for the sauce) and 1/2 the rice wine vinegar. Set aside.
&emsp;
3. In a medium bowl, combine the pork mince, ginger and remaining garlic. Set aside.
&emsp;
4. In a large bowl, combine the remaining rice wine vinegar and a generous drizzle of olive oil. Season with salt and pepper. Add the carrot, shredded cabbage mix and mint (reserving a pinch for garnish). Toss to combine and set aside.
&emsp;
5. In a large frying pan, heat a drizzle of olive oil over a high heat. When the oil is hot, add the pork mince mixture and cook, breaking up with a spoon, until browned, 3-4 minutes. Reduce the heat to low, then add the Sichuan mixture. Season with pepper and stir until well coated, 1 minute. Transfer to a bowl. Return the pan to a medium-high heat with a drizzle of olive oil (if needed). Crack the eggs into the pan and cook until the egg whites are cooked and the yolks are just firm, 2-3 minutes.
&emsp;
6. Divide the garlic rice between bowls. Top with the Chinese caramelised pork, rainbow slaw, cucumber and fried egg. Garnish with the crushed peanuts and reserved mint.
&emsp;
&emsp;

@ -0,0 +1,142 @@
---
ServingSize: 12
cssclass: recipeTable
Tag: ["Cookie", "Gouter"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: Snack
Categories: Cookie
Collections: American
Source: Internal
PreparationTime:
CookingTime: 17
Ingredients:
- 2.25 cups all-purpose flour
- 1 teaspoon baking soda
- 1 teaspoon salt
- 1 cup butter
- 1 cup caster sugar
- 1 cup soft brown sugar
- 1 teaspoon vanilla extract
- 2 . eggs
- 2 cups dark chocolate, broken into small pieces
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-ChocolateChipCookieEdit
```button
name Save
type command
action Save current file
id Save
```
^button-ChocolateChipCookieNSave
&emsp;
# Chocolate Chip Cookie
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 12 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. In a large bowl combine the flour, baking soda and salt.
&emsp;
2. In a separate bowl, mix the butter, caster sugar, brown sugar and vanilla extract until smooth.
&emsp;
3. Add the eggs and the flour to the mixture and beat to combine.
&emsp;
4. Add the chocolate pieces and stir.
&emsp;
5. Drop well rounded spoonfuls of dough onto a greased cookie sheet.
&emsp;
6. Bake at 375F for 8-10 minutes.
&emsp;
7. Remove from the oven and place cookies on a wire rack to cool.
&emsp;
&emsp;

@ -0,0 +1,159 @@
---
ServingSize: 4
cssclass: recipeTable
Tag: ["Easy", "Fresh"]
Date: 2021-09-21
DocType: "Recipe"
Hierarchy: "NonRoot"
location: [51.514678599999996, -0.18378583926867909]
CollapseMetaTable: Yes
Meta:
IsFavourite: False
Rating: 4
Recipe:
Courses: "Main Dish"
Categories:
- Beef
- Vegetable
Collections: Modern
Source: https://www.simplyrecipes.com/recipes/flank_steak_stir_fry_with_asparagus_and_red_pepper
PreparationTime:
CookingTime: 40
Ingredients:
- 3 Tbsp canola or peanut oil
- 0.5 lb asparagus
- 1 lb flank steak
- 1 . red bell pepper
- 2 teaspoons of cornstarch
- 3 Tablespoons of water
- 3 Tbsp soy sauce (use gluten-free soy sauce for gluten-free version)
- 1 teaspoon finely chopped, peeled, fresh ginger
- 1 clove(s) garlic
- 1 . green onion, including green tops, chopped
- 0.5 teaspoon chili oil
---
Parent:: [[@Recipes|Recipes]]
---
&emsp;
```button
name Edit Recipe parameters
type command
action MetaEdit: Run MetaEdit
id EditMetaData
```
^button-SteaknAspargusEdit
```button
name Save
type command
action Save current file
id Save
```
^button-SteaknAspargusNSave
&emsp;
# Flank Steak Stir Fry with Asparagus and Red Pepper
&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
var ing = [];
for (var i = 0; i < dv.current().Ingredients.length; i++) {
var name = dv.current().Ingredients[i].replace(dv.current().Ingredients[i].split(" ")[0] + " " + dv.current().Ingredients[i].split(" ")[1], "");
var unit = dv.current().Ingredients[i].split(" ")[1];
var amount = dv.current().Ingredients[i].split(" ")[0];
ing[i] = "🥣 " + (amount / 4 * dv.current().ServingSize) + " " + unit + " <b>" + name + "</b>"
}
dv.list(ing)
```
&emsp;
---
&emsp;
### Instructions
&emsp;
1. Blanch the asparagus: trimmed, cut on the diagonal into 1 1/2 inch lengths (about 1 1/2 cups)
&emsp;
2. Fill a medium sized saucepan halfway with water and bring to a boil. Blanch the cut asparagus for 2 minutes. Drain, rinse with cold water to stop the cooking, and set aside.
&emsp;
3. Assemble stir fry sauce: in a small dish, stir together the stir fry sauce ingredients&#8212;soy sauce, chopped ginger, minced garlic, chopped green onion, chili oil&#8212;and set aside.
&emsp;
4. Stir fry asparagus: heat 1 tablespoon of oil in a wok (or a thick-bottomed pot that can handle high heat) on high heat until shimmery. Add the asparagus and fry, stirring constantly, for 2 minutes or until lightly browned. Remove the asparagus from the pan and set aside.
&emsp;
5. Stir fry beef strips: sliced in half lengthwise (along the grain) and then cut into thin strips (across the grain), 2 inches long and 1/4 inch wide (put the steak in the freezer for 15 minutes before slicing to make it easier to slice)
&emsp;
6. Heat another tablespoon of oil in the pan on high heat until shimmery. Stir fry the beef strips in batches, for 2 to 3 minutes per batch, until they are browned but still a little pink inside.
&emsp;
7. Stir fry bell pepper: seeded, de-ribbed, and cut into thin strips 2 inches long and 1/4 inch wide
&emsp;
8. Return the first batches of beef strips to the pan along with the bell pepper strips. Stir and toss over high heat until the bell pepper strips are just beginning to wilt, 1-2 minutes.
&emsp;
9. Quickly stir the cornstarch with the water and add it to the pan along with the stir fry sauce. Cook until sauce thickens, 1-2 minutes.
&emsp;
10. Return the asparagus to the pan, toss to evenly coat and serve with steamed white rice (unless you are going low-carb, in which case, leave out the rice).
&emsp;
&emsp;

File diff suppressed because it is too large Load Diff

@ -86,6 +86,15 @@ taskFunc.getOverdueTasks({app, dv, luxon, that:this, theme: "lebv"})
&emsp;
#### Priority tasks
```dataviewjs
const {taskFunc} = customJS
taskFunc.getPriorityTasks({app, dv, luxon, that:this, theme: "lebv"})
```
&emsp;
---
&emsp;

@ -189,10 +189,8 @@ _**Total**_ | *€14.5* | *€140.29*
&emsp;
```dataview
Table without id file.link as "Server name", Characteristics.Host as "Provider", Characteristics.SubDomain as "Service", Characteristics.Domiciliation as "Location", Characteristics.IPv4 as "IP Address" from "05.02 Networks"
Where DocType = "Server"
Sort file.name ascending
```dataviewjs
dv.view("00.01 Admin/dv-views/query_server", {tabletype: "overview", dateadded: "2021"})
```
&emsp;
@ -201,10 +199,8 @@ _**Total**_ | *€14.5* | *€140.29*
&emsp;
```dataview
Table without id file.link as "Service", Characteristics.OS as "OS", Performance.CPU as "CPU", Performance.RAM as "RAM", Disk.Capa as "Disk Size", Disk.Type as "Disk type", Performance.Bandwidth as "Bandwidth", Performance.Speed as "Speed" from "05.02 Networks"
Where DocType = "Server"
Sort file.name ascending
```dataviewjs
dv.view("00.01 Admin/dv-views/query_server", {tabletype: "technical", dateadded: "2021"})
```
&emsp;
@ -213,10 +209,8 @@ _**Total**_ | *€14.5* | *€140.29*
&emsp;
```dataview
Table without id file.link as "Server name", Disk.Capa as "Disk Size", Disk.UsedSpace as "Used Space", Disk.TimeStamp as "Date updated" from "05.02 Networks"
Where DocType = "Server"
Sort file.name ascending
```dataviewjs
dv.view("00.01 Admin/dv-views/query_server", {tabletype: "usage", dateadded: "2021"})
```
&emsp;

@ -86,6 +86,15 @@ taskFunc.getOverdueTasks({app, dv, luxon, that:this, theme: "Wealth"})
&emsp;
#### Priority tasks
```dataviewjs
const {taskFunc} = customJS
taskFunc.getPriorityTasks({app, dv, luxon, that:this, theme: "Wealth"})
```
&emsp;
---
&emsp;

Loading…
Cancel
Save