This commit is contained in:
neingeist 2025-06-07 01:00:32 +02:00
parent b2ab88b216
commit a1ab4c0b5a
34 changed files with 208 additions and 140 deletions

View file

@ -1,5 +1,8 @@
import json
import re
import os
from config import *
def normalize_ingredients(recipe):
if 'recipeIngredient' in recipe:
@ -42,4 +45,68 @@ def normalize_recipe(recipe):
return cleaned_recipe
# TODO
# TODO: functions oben sind so nicht mehr funktional
def check_recipe(recipe) -> list:
md = []
if 'steps' in recipe:
steps = recipe['steps']
else:
steps = []
md.append("No steps?")
for i, step in enumerate(steps, 1):
md += check_ingredients(step)
return md
def normalize_amount(a):
if a == round(a):
return round(a)
else:
return a
def check_ingredients(step):
md = []
for ingredient in step['ingredients']:
i_amount = ingredient["amount"]
i_amount = normalize_amount(i_amount)
if not ingredient.get("unit"):
i_unit = ""
if i_amount:
md.append("- Amount but no unit?")
else:
i_unit = ingredient["unit"]["name"]
if i_unit and i_unit not in VALID_UNITS:
md.append(f"- Invalid unit {i_unit}")
if not ingredient.get("food"):
md.append("- No food element in ingredient?")
continue
return md
def make_link(recipe):
return f"[{recipe["name"]}]({TANDOOR_URL + "/view/recipe/" + str(recipe["id"])})"
def main():
recipes = []
for json_file in os.listdir(OUTDIR_JSON):
with open(os.path.join(OUTDIR_JSON, json_file), 'r', encoding='utf-8') as f:
data = json.load(f)
recipes.append(data)
for recipe in recipes:
md = check_recipe(recipe)
if not md:
print(f"## 💚 {make_link(recipe)}")
else:
print(f"## 💔 {make_link(recipe)}")
for line in md:
print(line)
if __name__ == "__main__":
main()

View file

@ -14,3 +14,17 @@ OUTDIR = "out"
OUTDIR_JSON = OUTDIR + "/json"
OUTDIR_MARKDOWN = OUTDIR + "/markdown"
OUTDIR_MEDIAWIKI = OUTDIR + "/mediawiki"
# TODO einheitliche einheiten
VALID_UNITS = [
"g",
"g / Gramm",
"kg",
"kg / Kilogramm",
"ml",
"Milliliter",
"Liter",
"l",
"Stück",
"Zehe",
]

View file

@ -54,7 +54,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -65,7 +65,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -76,7 +76,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,
@ -760,7 +760,17 @@
{
"amount": 4.0,
"food": "Wasser",
"unit": "|"
"unit": "l"
},
{
"amount": 4000.0,
"food": "Wasser",
"unit": "Milliliter"
},
{
"amount": 4.0,
"food": "Wasser",
"unit": "Liter"
}
],
"food": {
@ -796,11 +806,11 @@
"original_text": null,
"unit": {
"base_unit": null,
"description": null,
"id": 48,
"name": "|",
"description": "",
"id": 47,
"name": "l",
"open_data_slug": null,
"plural_name": "|"
"plural_name": "l"
},
"used_in_recipes": [
{
@ -897,7 +907,7 @@
"time": 20
}
],
"updated_at": "2025-06-06T16:01:22.369871+02:00",
"updated_at": "2025-06-06T22:41:16.181212+02:00",
"waiting_time": 0,
"working_time": 0
}

View file

@ -64,7 +64,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -75,7 +75,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -86,7 +86,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -97,7 +97,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -79,7 +79,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -90,7 +90,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.072417+02:00",
@ -134,7 +134,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -94,7 +94,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -105,7 +105,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",

View file

@ -64,7 +64,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -75,7 +75,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -86,7 +86,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.072417+02:00",
@ -130,7 +130,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -79,7 +79,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -90,7 +90,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -101,7 +101,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -112,7 +112,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,
@ -904,9 +904,9 @@
]
}
],
"instruction": "",
"instructions_markdown": "",
"name": "",
"instruction": "Dann alles mit den restlichen Zutaten durchp\u00fcrieren \ud83c\udf2a\ufe0f.",
"instructions_markdown": "<p>Dann alles mit den restlichen Zutaten durchp\u00fcrieren \ud83c\udf2a\ufe0f.</p>",
"name": "P\u00fcrieren",
"order": 1,
"show_as_header": false,
"show_ingredients_table": true,
@ -915,7 +915,7 @@
"time": 0
}
],
"updated_at": "2025-05-01T18:50:09.619476+02:00",
"updated_at": "2025-06-06T23:20:56.159677+02:00",
"waiting_time": 0,
"working_time": 0
}

View file

@ -54,7 +54,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -65,7 +65,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -76,7 +76,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -119,7 +119,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -130,7 +130,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",

View file

@ -74,7 +74,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -85,7 +85,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -96,7 +96,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -107,7 +107,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,
@ -705,33 +705,6 @@
}
]
},
{
"always_use_plural_food": false,
"always_use_plural_unit": false,
"amount": 0.0,
"conversions": [],
"food": null,
"id": 537,
"is_header": false,
"no_amount": false,
"note": "",
"order": 8,
"original_text": null,
"unit": {
"base_unit": "g",
"description": "",
"id": 5,
"name": "g / Gramm",
"open_data_slug": null,
"plural_name": "g"
},
"used_in_recipes": [
{
"id": 24,
"name": "Kattis Hummus"
}
]
},
{
"always_use_plural_food": false,
"always_use_plural_unit": false,
@ -777,7 +750,7 @@
"is_header": false,
"no_amount": false,
"note": "",
"order": 9,
"order": 8,
"original_text": null,
"unit": {
"base_unit": "g",
@ -806,7 +779,7 @@
"time": 0
}
],
"updated_at": "2025-05-01T18:00:55.899540+02:00",
"updated_at": "2025-06-06T23:47:20.985766+02:00",
"waiting_time": 0,
"working_time": 0
}

View file

@ -49,7 +49,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -60,7 +60,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -79,7 +79,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -90,7 +90,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -101,7 +101,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.166539+02:00",
@ -123,7 +123,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -59,7 +59,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -70,7 +70,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -81,7 +81,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -92,7 +92,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -69,7 +69,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -80,7 +80,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -91,7 +91,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -39,7 +39,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -50,7 +50,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",

View file

@ -89,7 +89,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -100,7 +100,7 @@
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.382950+02:00"
"updated_at": "2025-06-06T23:47:20.997171+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -111,7 +111,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -122,7 +122,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -84,7 +84,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -95,7 +95,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",

View file

@ -70,7 +70,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -59,7 +59,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -70,7 +70,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,

View file

@ -59,7 +59,7 @@
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.183760+02:00"
"updated_at": "2025-06-06T23:47:20.994220+02:00"
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -70,7 +70,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -81,7 +81,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,
@ -170,7 +170,7 @@
{
"amount": 2.0,
"food": "Knoblauch",
"unit": "Zehe/n"
"unit": "Zehe"
}
],
"food": {
@ -209,12 +209,12 @@
"order": 1,
"original_text": "2 Zehe/n Knoblauch",
"unit": {
"base_unit": null,
"description": null,
"id": 53,
"name": "Zehe/n",
"base_unit": "",
"description": "",
"id": 46,
"name": "Zehe",
"open_data_slug": null,
"plural_name": "Zehe/n"
"plural_name": "Zehen"
},
"used_in_recipes": [
{
@ -511,7 +511,7 @@
"time": 0
}
],
"updated_at": "2025-06-02T20:15:47.276184+02:00",
"updated_at": "2025-06-06T22:43:33.690130+02:00",
"waiting_time": 0,
"working_time": 0
}

View file

@ -124,7 +124,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -135,7 +135,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",

View file

@ -54,7 +54,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -65,11 +65,11 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
}
],
"last_cooked": null,
"name": "vegane Aioli",
"name": "Vegane Aioli",
"nutrition": null,
"private": false,
"properties": [],
@ -142,7 +142,7 @@
"used_in_recipes": [
{
"id": 65,
"name": "vegane Aioli"
"name": "Vegane Aioli"
}
]
},
@ -204,7 +204,7 @@
"used_in_recipes": [
{
"id": 65,
"name": "vegane Aioli"
"name": "Vegane Aioli"
}
]
},
@ -277,7 +277,7 @@
"used_in_recipes": [
{
"id": 65,
"name": "vegane Aioli"
"name": "Vegane Aioli"
}
]
},
@ -350,7 +350,7 @@
"used_in_recipes": [
{
"id": 65,
"name": "vegane Aioli"
"name": "Vegane Aioli"
}
]
},
@ -423,7 +423,7 @@
"used_in_recipes": [
{
"id": 65,
"name": "vegane Aioli"
"name": "Vegane Aioli"
}
]
}
@ -439,7 +439,7 @@
"time": 0
}
],
"updated_at": "2025-05-26T21:20:01.181218+02:00",
"updated_at": "2025-06-06T23:49:52.356221+02:00",
"waiting_time": 0,
"working_time": 0
}

View file

@ -64,7 +64,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -75,7 +75,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",

View file

@ -79,7 +79,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -90,7 +90,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",

View file

@ -74,7 +74,7 @@
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.390461+02:00"
"updated_at": "2025-06-06T23:49:52.362265+02:00"
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -85,7 +85,7 @@
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-06T16:01:22.397181+02:00"
"updated_at": "2025-06-06T23:49:52.365514+02:00"
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",

View file

@ -13,7 +13,7 @@
- 17 g Salz
- 9 g Malzsyrup
- 340 ml Wasser
- 4 | Wasser
- 4 l Wasser
- 40 g Malzsyrup
## Zubereitung
@ -40,7 +40,7 @@
7. Stückgare
<p>Lasse die Bagel für 30 Minuten ruhen.</p>
8. Cook
- 4 | Wasser
- 4 l Wasser
- 40 g Malzsyrup
<p>Bagels in kochendem Malzsyrupwasser für 60 Sekunden kochen. Dann in Sesam wenden.</p>
9. Bake

View file

@ -20,7 +20,7 @@ Grundrezept sind 785 g Gesamt = ca. 40 Portionen (mit ~20g pro)
1. Einweichen
- 400 g Cashewkerne
<p>Cashewkerne über Nacht in Wasser einweichen</p>
2. <span></span>
2. Pürieren
- 100 g Paniermehl
- 500 g Paprika (frisch)
- 15 g Salz
@ -30,4 +30,4 @@ Grundrezept sind 785 g Gesamt = ca. 40 Portionen (mit ~20g pro)
- 30 g Granatapfelsirup
- 36 g Knoblauch (frisch)
- 10 g Harissa
<p>Dann alles mit den restlichen Zutaten durchpürieren 🌪️.</p>

View file

@ -6,7 +6,7 @@ importiert aber abgeändert
## Zutaten (gesamt)
- 250 g Margarine
- 2 Zehe/n Knoblauch
- 2 Zehe Knoblauch
- 50 g Kräuter gemischt (8-Kräuter)
- Salz
- Pfeffer (schwarz)
@ -15,7 +15,7 @@ importiert aber abgeändert
## Zubereitung
1. <span></span>
- 250 g Margarine
- 2 Zehe/n Knoblauch
- 2 Zehe Knoblauch
- 50 g Kräuter gemischt (8-Kräuter)
- Salz
- Pfeffer (schwarz)

View file

@ -13,7 +13,7 @@
* 17 g Salz
* 9 g Malzsyrup
* 340 ml Wasser
* 4 | Wasser
* 4 l Wasser
* 40 g Malzsyrup
<span id="zubereitung"></span>
@ -66,7 +66,7 @@ Lasse die Bagel für 30 Minuten ruhen.
<li>Cook</li></ol>
<ul>
<li>4 | Wasser</li>
<li>4 l Wasser</li>
<li>40 g Malzsyrup
<p>
Bagels in kochendem Malzsyrupwasser für 60 Sekunden kochen. Dann in Sesam wenden.

View file

@ -28,14 +28,18 @@ Cashewkerne über Nacht in Wasser einweichen
</p></li></ul>
<ol start="2" style="list-style-type: decimal;">
<li><span></span></li></ol>
<li>Pürieren</li></ol>
* 100 g Paniermehl
* 500 g Paprika (frisch)
* 15 g Salz
* 2 g Pfeffer (schwarz)
* 17 g Tomatenmark
* 4 g Paprikapulver
* 30 g Granatapfelsirup
* 36 g Knoblauch (frisch)
* 10 g Harissa
<ul>
<li>100 g Paniermehl</li>
<li>500 g Paprika (frisch)</li>
<li>15 g Salz</li>
<li>2 g Pfeffer (schwarz)</li>
<li>17 g Tomatenmark</li>
<li>4 g Paprikapulver</li>
<li>30 g Granatapfelsirup</li>
<li>36 g Knoblauch (frisch)</li>
<li>10 g Harissa
<p>
Dann alles mit den restlichen Zutaten durchpürieren 🌪️.
</p></li></ul>

View file

@ -6,7 +6,7 @@ importiert aber abgeändert
== Zutaten (gesamt) ==
* 250 g Margarine
* 2 Zehe/n Knoblauch
* 2 Zehe Knoblauch
* 50 g Kräuter gemischt (8-Kräuter)
* Salz
* Pfeffer (schwarz)
@ -19,7 +19,7 @@ importiert aber abgeändert
<ul>
<li>250 g Margarine</li>
<li>2 Zehe/n Knoblauch</li>
<li>2 Zehe Knoblauch</li>
<li>50 g Kräuter gemischt (8-Kräuter)</li>
<li>Salz</li>
<li>Pfeffer (schwarz)</li>