recipes

Recipes
git clone git://lumidify.org/recipes.git (fast, but not encrypted)
git clone https://lumidify.org/recipes.git (encrypted, but very slow)
git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/recipes.git (over tor)
Log | Files | Refs | README

commit c958b0fad51ad7304e457eb783f834f02b32fd6e
parent e520a2258ac170bbaf571a8e02a6c86f4a38fc7e
Author: lumidify <nobody@lumidify.org>
Date:   Sat, 15 Feb 2025 16:13:26 +0100

Reorganize images

Diffstat:
Mgen_recipes.pl | 87+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
Mrecipes/baked_stuff/breads/potato_bread.md | 4++--
Rimages/potato_bread_cut.jpg -> recipes/baked_stuff/breads/potato_bread/cut.jpg | 0
Rimages/potato_bread_dough.jpg -> recipes/baked_stuff/breads/potato_bread/dough.jpg | 0
Rimages/potato_bread.jpg -> recipes/baked_stuff/breads/potato_bread/potato_bread.jpg | 0
Mrecipes/baked_stuff/breads/rye_bread.md | 2+-
Rimages/sourdough_rye_bread.jpg -> recipes/baked_stuff/breads/rye_bread/rye_bread.jpg | 0
Mrecipes/baked_stuff/breads/rye_sourdough_initial.md | 2+-
Rimages/sourdough.jpg -> recipes/baked_stuff/breads/rye_sourdough_initial/rye_sourdough_initial.jpg | 0
Mrecipes/baked_stuff/breads/whole_grain_buns.md | 2+-
Rimages/whole_grain_buns_cut.jpg -> recipes/baked_stuff/breads/whole_grain_buns/cut.jpg | 0
Rimages/whole_grain_buns.jpg -> recipes/baked_stuff/breads/whole_grain_buns/whole_grain_buns.jpg | 0
Mrecipes/baked_stuff/christmas/chocolate_macaroons.md | 4++--
Rimages/chocolate_macaroons.jpg -> recipes/baked_stuff/christmas/chocolate_macaroons/chocolate_macaroons.jpg | 0
Rimages/chocolate_macaroons_dough.jpg -> recipes/baked_stuff/christmas/chocolate_macaroons/dough.jpg | 0
Rimages/chocolate_macaroons_unbaked.jpg -> recipes/baked_stuff/christmas/chocolate_macaroons/unbaked.jpg | 0
Mrecipes/baked_stuff/christmas/coconut_macaroons.md | 4++--
Rimages/coconut_macaroons.jpg -> recipes/baked_stuff/christmas/coconut_macaroons/coconut_macaroons.jpg | 0
Rimages/coconut_macaroons_dough.jpg -> recipes/baked_stuff/christmas/coconut_macaroons/dough.jpg | 0
Rimages/coconut_macaroons_unbaked.jpg -> recipes/baked_stuff/christmas/coconut_macaroons/unbaked.jpg | 0
Mrecipes/baked_stuff/christmas/cutout_cookies.md | 2+-
Rimages/cutout_cookies.jpg -> recipes/baked_stuff/christmas/cutout_cookies/cutout_cookies.jpg | 0
Rimages/cutout_cookies_unbaked.jpg -> recipes/baked_stuff/christmas/cutout_cookies/unbaked.jpg | 0
Mrecipes/baked_stuff/christmas/elisenlebkuchen.md | 4++--
Rimages/elisenlebkuchen_chocolate.jpg -> recipes/baked_stuff/christmas/elisenlebkuchen/elisenlebkuchen.jpg | 0
Rimages/elisenlebkuchen_unglazed.jpg -> recipes/baked_stuff/christmas/elisenlebkuchen/unglazed.jpg | 0
Mrecipes/baked_stuff/christmas/hausfreunde.md | 8++++----
Rimages/hausfreunde_bottom.jpg -> recipes/baked_stuff/christmas/hausfreunde/bottom.jpg | 0
Rimages/hausfreunde_covered.jpg -> recipes/baked_stuff/christmas/hausfreunde/covered.jpg | 0
Rimages/hausfreunde_dough.jpg -> recipes/baked_stuff/christmas/hausfreunde/dough.jpg | 0
Rimages/hausfreunde.jpg -> recipes/baked_stuff/christmas/hausfreunde/hausfreunde.jpg | 0
Rimages/hausfreunde_uncovered.jpg -> recipes/baked_stuff/christmas/hausfreunde/uncovered.jpg | 0
Mrecipes/baked_stuff/christmas/hazelnut_macaroons.md | 4++--
Rimages/hazelnut_macaroons_dough.jpg -> recipes/baked_stuff/christmas/hazelnut_macaroons/dough.jpg | 0
Rimages/hazelnut_macaroons.jpg -> recipes/baked_stuff/christmas/hazelnut_macaroons/hazelnut_macaroons.jpg | 0
Rimages/hazelnut_macaroons_unbaked.jpg -> recipes/baked_stuff/christmas/hazelnut_macaroons/unbaked.jpg | 0
Mrecipes/baked_stuff/christmas/lebkuchen.md | 6+++---
Rimages/lebkuchen_glazed.jpg -> recipes/baked_stuff/christmas/lebkuchen/glazed.jpg | 0
Rimages/lebkuchen_chocolate.jpg -> recipes/baked_stuff/christmas/lebkuchen/lebkuchen.jpg | 0
Rimages/lebkuchen_chocolate_pieces.jpg -> recipes/baked_stuff/christmas/lebkuchen/pieces.jpg | 0
Mrecipes/baked_stuff/christmas/spitzbuben.md | 6+++---
Rimages/spitzbuben_baked.jpg -> recipes/baked_stuff/christmas/spitzbuben/baked.jpg | 0
Rimages/spitzbuben_combined.jpg -> recipes/baked_stuff/christmas/spitzbuben/combined.jpg | 0
Rimages/spitzbuben.jpg -> recipes/baked_stuff/christmas/spitzbuben/spitzbuben.jpg | 0
Rimages/spitzbuben_unbaked.jpg -> recipes/baked_stuff/christmas/spitzbuben/unbaked.jpg | 0
Mrecipes/baked_stuff/christmas/vanille_kipferl.md | 6+++---
Rimages/vanillekipferl_balls.jpg -> recipes/baked_stuff/christmas/vanille_kipferl/balls.jpg | 0
Rimages/vanillekipferl_unbaked.jpg -> recipes/baked_stuff/christmas/vanille_kipferl/unbaked.jpg | 0
Rimages/vanillekipferl_uncovered.jpg -> recipes/baked_stuff/christmas/vanille_kipferl/uncovered.jpg | 0
Rimages/vanillekipferl.jpg -> recipes/baked_stuff/christmas/vanille_kipferl/vanillekipferl.jpg | 0
Mrecipes/desserts/misc/magic_fudge.md | 12++++++------
Rimages/magic_fudge_biscuits.jpg -> recipes/desserts/misc/magic_fudge/biscuits.jpg | 0
Rimages/magic_fudge_boiled.jpg -> recipes/desserts/misc/magic_fudge/boiled.jpg | 0
Rimages/magic_fudge_ingredients.jpg -> recipes/desserts/misc/magic_fudge/ingredients.jpg | 0
Rimages/magic_fudge.jpg -> recipes/desserts/misc/magic_fudge/magic_fudge.jpg | 0
Rimages/magic_fudge_mixed.jpg -> recipes/desserts/misc/magic_fudge/mixed.jpg | 0
Rimages/magic_fudge_stirred.jpg -> recipes/desserts/misc/magic_fudge/stirred.jpg | 0
Rimages/magic_fudge_uncut.jpg -> recipes/desserts/misc/magic_fudge/uncut.jpg | 0
Mrecipes/desserts/pakistani_indian/milk_powder_barfi.md | 6+++---
Rimages/milk_powder_barfi_cooked.jpg -> recipes/desserts/pakistani_indian/milk_powder_barfi/cooked.jpg | 0
Rimages/milk_powder_barfi_initial.jpg -> recipes/desserts/pakistani_indian/milk_powder_barfi/initial.jpg | 0
Rimages/milk_powder_barfi.jpg -> recipes/desserts/pakistani_indian/milk_powder_barfi/milk_powder_barfi.jpg | 0
Rimages/milk_powder_barfi_spread_out.jpg -> recipes/desserts/pakistani_indian/milk_powder_barfi/spread_out.jpg | 0
Mrecipes/jams/orange_jam.md | 10+++++-----
Rimages/orange_jam_blended.jpg -> recipes/jams/orange_jam/blended.jpg | 0
Rimages/orange_jam_boiling.jpg -> recipes/jams/orange_jam/boiling.jpg | 0
Rimages/orange_jam.jpg -> recipes/jams/orange_jam/orange_jam.jpg | 0
Rimages/orange_jam_oranges.jpg -> recipes/jams/orange_jam/oranges.jpg | 0
Rimages/orange_jam_peels.jpg -> recipes/jams/orange_jam/peels.jpg | 0
Rimages/orange_jam_peels_smaller.jpg -> recipes/jams/orange_jam/peels_smaller.jpg | 0
Mrecipes/jams/rose_hip_jam.md | 8++++----
Rimages/rose_hip_jam_boiling.jpg -> recipes/jams/rose_hip_jam/boiling.jpg | 0
Rimages/rose_hip_jam_ends_cut.jpg -> recipes/jams/rose_hip_jam/ends_cut.jpg | 0
Rimages/rose_hip_jam_pulp_extraction.jpg -> recipes/jams/rose_hip_jam/pulp_extraction.jpg | 0
Rimages/rose_hip_jam.jpg -> recipes/jams/rose_hip_jam/rose_hip_jam.jpg | 0
Rimages/rose_hip_jam_seeds_dried.jpg -> recipes/jams/rose_hip_jam/seeds_dried.jpg | 0
Mrecipes/main_meals/misc/tomato_sauce.md | 4++--
Rimages/tomato_sauce_chunks.jpg -> recipes/main_meals/misc/tomato_sauce/chunks.jpg | 0
Rimages/tomato_sauce_puree.jpg -> recipes/main_meals/misc/tomato_sauce/puree.jpg | 0
Rimages/tomato_sauce.jpg -> recipes/main_meals/misc/tomato_sauce/tomato_sauce.jpg | 0
Rimages/achar_gosht.jpg -> recipes/main_meals/pakistani_indian/achar_gosht/achar_gosht.jpg | 0
Rimages/achari_chicken_pizza.jpg -> recipes/main_meals/pakistani_indian/achari_chicken_pizza/achari_chicken_pizza.jpg | 0
Rimages/chicken_tikka.jpg -> recipes/main_meals/pakistani_indian/chicken_tikka/chicken_tikka.jpg | 0
Mrecipes/main_meals/pakistani_indian/dal.md | 6+++---
Rimages/dal_mixed.jpg -> recipes/main_meals/pakistani_indian/dal/dal.jpg | 0
Rimages/dal_lentils.jpg -> recipes/main_meals/pakistani_indian/dal/lentils.jpg | 0
Rimages/dal_vegetables.jpg -> recipes/main_meals/pakistani_indian/dal/vegetables.jpg | 0
Mrecipes/salads/swabian_potato_salad.md | 6+++---
Rimages/swabian_potato_salad_initial_mix.jpg -> recipes/salads/swabian_potato_salad/initial_mix.jpg | 0
Rimages/swabian_potato_salad_potatoes.jpg -> recipes/salads/swabian_potato_salad/potatoes.jpg | 0
Rimages/swabian_potato_salad_sauce.jpg -> recipes/salads/swabian_potato_salad/sauce.jpg | 0
Rimages/swabian_potato_salad.jpg -> recipes/salads/swabian_potato_salad/swabian_potato_salad.jpg | 0
Mrecipes/sauces/onion_sauce.md | 8++++----
Rimages/onion_sauce_flour.jpg -> recipes/sauces/onion_sauce/flour.jpg | 0
Rimages/onion_sauce.jpg -> recipes/sauces/onion_sauce/onion_sauce.jpg | 0
Rimages/onion_sauce_onions_done.jpg -> recipes/sauces/onion_sauce/onions_done.jpg | 0
Rimages/onion_sauce_onions_raw.jpg -> recipes/sauces/onion_sauce/onions_raw.jpg | 0
Rimages/onion_sauce_water.jpg -> recipes/sauces/onion_sauce/water.jpg | 0
Rimages/chaat_masala.jpg -> recipes/spice_mixes/chaat_masala/chaat_masala.jpg | 0
Rimages/lebkuchen_spice.jpg -> recipes/spice_mixes/lebkuchen_spice/lebkuchen_spice.jpg | 0
Mrecipes/spice_mixes/seasoning_salt.md | 6+++---
Rimages/seasoning_salt_mace.jpg -> recipes/spice_mixes/seasoning_salt/mace.jpg | 0
Rimages/seasoning_salt_onions_dried.jpg -> recipes/spice_mixes/seasoning_salt/onions_dried.jpg | 0
Rimages/seasoning_salt_onions_raw.jpg -> recipes/spice_mixes/seasoning_salt/onions_raw.jpg | 0
Rimages/seasoning_salt.jpg -> recipes/spice_mixes/seasoning_salt/seasoning_salt.jpg | 0
105 files changed, 130 insertions(+), 77 deletions(-)

diff --git a/gen_recipes.pl b/gen_recipes.pl @@ -7,16 +7,16 @@ use strict; use warnings; use Text::Markdown qw(markdown); use File::Spec::Functions qw(catfile catdir); +use File::Copy qw(copy); my $GPH_SITE = "gopher://lumidify.org"; +# FIXME: if $GPH_ROOT is empty, the output links will include a double slash my $GPH_ROOT = "recipes"; -# $IMG_ROOT is relative to the top-level recipes directory. -my $IMG_ROOT = "images"; my $GPH_TOPBACK = ""; # <image dir> is only used to check if the linked images exist -die "USAGE: generate_recipes.pl <input dir> <html output dir> <gph output dir> <image dir>\n" if ($#ARGV != 3); -my ($indir, $html_outdir, $gph_outdir, $img_dir) = @ARGV; +die "USAGE: generate_recipes.pl <input dir> <html output dir> <gph output dir>\n" if ($#ARGV != 2); +my ($indir, $html_outdir, $gph_outdir) = @ARGV; process_dir($indir, [], []); sub gen_html { @@ -61,6 +61,11 @@ sub process_file { my ($root_dir, $cur_dirs, $cur_outdirs, $file, $outfile) = @_; my $infile = catfile($root_dir, @$cur_dirs, $file); open(my $fh, "<", $infile) or die "ERROR: Unable to open file $infile.\n"; + if (substr($outfile, -3) ne ".md") { + # this is already checked before calling process_file but it doesn't hurt to check again... + die "ERROR: File $file does not end in .md.\n"; + } + my $base = substr($outfile, 0, -3); my @lines = <$fh>; close($fh); # validity of title format should have been checked by process_dir already @@ -69,11 +74,13 @@ sub process_file { chomp $title; $title =~ s/^#### //; - my $dots = "../" x @$cur_dirs; my $html = ""; my $gph = ""; my $gph2 = ""; - my $gph_fullprefix = "$GPH_SITE/I/$GPH_ROOT/$IMG_ROOT/"; + my $gph_fullprefix = join("/", $GPH_SITE, "I", $GPH_ROOT, @$cur_outdirs); + my $gph2_fullprefix = join("/", "", $GPH_ROOT, @$cur_outdirs); + my $indir = catfile($root_dir, @$cur_dirs); + my %imgs_used; foreach my $line (@lines) { my $found = 0; while ($line =~ m/\[([^]]*)\]\(#([^)]*)\)/g) { @@ -82,20 +89,22 @@ sub process_file { last; } my $linktitle = $1; - my $linkurl = $2; + my $linkurl = "$base/$2"; + $imgs_used{$2} = 1; my $before = substr($line, 0, $-[0]); my $after = substr($line, $+[0]); $found = 1; - if (!-f catfile($img_dir, $linkurl)) { - warn "WARNING: Image $linkurl does not exist.\n"; + my $imgfile = catfile($indir, $linkurl); + if (!-f $imgfile) { + warn "WARNING: Image $imgfile does not exist.\n"; } chomp $after; - $html .= "${before}[$linktitle](${dots}$IMG_ROOT/$linkurl)$after\n"; + $html .= "${before}[$linktitle]($linkurl)$after\n"; # FIXME: check that $before and $after don't contain [, |, or ] ? $gph .= $before . ($before eq "" || $before =~ /\s$/ ? "" : " "); - $gph .= "$gph_fullprefix$linkurl"; + $gph .= "$gph_fullprefix/$linkurl"; $gph .= ($after eq "" || $after =~ /^\s/ ? "" : " ") . "$after\n"; - $gph2 .= "[I|$before$linktitle$after|/$GPH_ROOT/$IMG_ROOT/$linkurl|server|port]\n"; + $gph2 .= "[I|$before$linktitle$after|$gph2_fullprefix/$linkurl|server|port]\n"; } # FIXME: add escaping for lines beginning with [ ? @@ -105,6 +114,18 @@ sub process_file { $gph2 .= $line; } } + # verify that all image files were used + my $imgdir = catfile($indir, $base); + if (-d $imgdir) { + opendir(my $dh, $imgdir) or die "ERROR: Unable to read directory $imgdir"; + my @imgs = grep({!/\A\.\.?\z/} readdir($dh)); + closedir($dh); + foreach my $img (@imgs) { + if (!$imgs_used{$img}) { + warn "WARNING: Image " . catfile($indir, $base, $img) . " not used\n"; + } + } + } # FIXME: possibly generate "back" links for individual recipes as well my $tmp = catfile($html_outdir, @$cur_outdirs, substr($outfile, 0, -2) . "html"); @@ -130,6 +151,18 @@ sub process_file { close($fh); } +sub copy_time { + my ($srcpath, $dstpath) = @_; + my @st = stat($srcpath); + if (!@st) { + die "ERROR: Unable to stat $srcpath\n"; + } + my $atime = $st[8]; + my $mtime = $st[9]; + copy($srcpath, $dstpath) or die "ERROR: Unable to copy $srcpath to $dstpath\n"; + utime($atime, $mtime, $dstpath) or die "ERROR: Unable to set atime and mtime of $dstpath"; +} + sub process_dir { my ($root_dir, $cur_dirs, $cur_outdirs) = @_; @@ -147,6 +180,11 @@ sub process_dir { my $newpath = "$path/$file"; my $outfile = $file; if ($outfile =~ /^\d+/) { + if (-f "$newpath.md") { + # This wouldn't be too difficult to implement (some things would need to be changed + # in process_file), but I don't see any use for it anyways. + die "ERROR: Recipe file/directory not allowed to start with number: $newpath\n"; + } $found_number = 1; $outfile =~ s/^\d+//; } else { @@ -160,10 +198,6 @@ sub process_dir { $found_nonumber = 1; } if (-d $newpath) { - my $t = get_dirtitle($newpath); - $html .= "<li><a href=\"$outfile/index.html\">$t</a></li>\n"; - $gph .= "[1|$t|/" . join("/", $GPH_ROOT, @$cur_outdirs, $outfile, "index.nomenu.gph") . "|server|port]\n"; - $gph2 .= "[1|$t|/" . join("/", $GPH_ROOT, @$cur_outdirs, $outfile, "index.gph") . "|server|port]\n"; my $final_html_outdir = catfile($html_outdir, @$cur_outdirs, $outfile); my $final_gph_outdir = catfile($gph_outdir, @$cur_outdirs, $outfile); if (-e $final_html_outdir) { @@ -174,7 +208,26 @@ sub process_dir { die "ERROR: Directory exists already: $final_gph_outdir\n"; } mkdir($final_gph_outdir) or die "ERROR: Unable to create directory $final_gph_outdir.\n"; - process_dir($root_dir, [@$cur_dirs, $file], [@$cur_outdirs, $outfile]); + if (-f "$newpath.md") { + # this is the image directory for a recipe file + # copy entire directory into output dir + opendir(my $imgdh, $newpath) or die "ERROR: Unable to open directory $newpath\n"; + my @images = grep({!/\A\.\.?\z/} readdir($imgdh)); + closedir($imgdh); + foreach my $img (@images) { + my $srcpath = "$newpath/$img"; + my $html_dstpath = "$final_html_outdir/$img"; + my $gph_dstpath = "$final_gph_outdir/$img"; + copy_time($srcpath, $html_dstpath); + copy_time($srcpath, $gph_dstpath); + } + } else { + my $t = get_dirtitle($newpath); + $html .= "<li><a href=\"$outfile/index.html\">$t</a></li>\n"; + $gph .= "[1|$t|/" . join("/", $GPH_ROOT, @$cur_outdirs, $outfile, "index.nomenu.gph") . "|server|port]\n"; + $gph2 .= "[1|$t|/" . join("/", $GPH_ROOT, @$cur_outdirs, $outfile, "index.gph") . "|server|port]\n"; + process_dir($root_dir, [@$cur_dirs, $file], [@$cur_outdirs, $outfile]); + } } elsif (-f $newpath) { if ($newpath !~ /\.md$/) { die "ERROR: File $newpath does not end in .md.\n"; diff --git a/recipes/baked_stuff/breads/potato_bread.md b/recipes/baked_stuff/breads/potato_bread.md @@ -2,7 +2,7 @@ Images: [Whole](#potato_bread.jpg) -[Cut](#potato_bread_cut.jpg) +[Cut](#cut.jpg) - Ingredients + 600g boiled, grated potatoes @@ -16,7 +16,7 @@ Images: + Mix all other ingredients in a bowl + When the yeast has dissolved in the water, add it to the bowl and mix well (I don't really knead it because the dough is fairly wet) - ([Image](#potato_bread_dough.jpg)) + ([Image](#dough.jpg)) + Cover the bowl with a towel and let the dough rise for 5 hours + Fill into greased bread baking form (or two), optionally smoothing the surface with wet fingers, cover and let rise for 4-5 more hours diff --git a/images/potato_bread_cut.jpg b/recipes/baked_stuff/breads/potato_bread/cut.jpg Binary files differ. diff --git a/images/potato_bread_dough.jpg b/recipes/baked_stuff/breads/potato_bread/dough.jpg Binary files differ. diff --git a/images/potato_bread.jpg b/recipes/baked_stuff/breads/potato_bread/potato_bread.jpg Binary files differ. diff --git a/recipes/baked_stuff/breads/rye_bread.md b/recipes/baked_stuff/breads/rye_bread.md @@ -1,7 +1,7 @@ #### Whole Grain Rye Bread Image: -[Whole Grain Rye Bread](#sourdough_rye_bread.jpg) +[Whole Grain Rye Bread](#rye_bread.jpg) - Ingredients + 500g sourdough diff --git a/images/sourdough_rye_bread.jpg b/recipes/baked_stuff/breads/rye_bread/rye_bread.jpg Binary files differ. diff --git a/recipes/baked_stuff/breads/rye_sourdough_initial.md b/recipes/baked_stuff/breads/rye_sourdough_initial.md @@ -1,7 +1,7 @@ #### Whole Grain Rye Sourdough (Initial Creation) Image: -[Sourdough](#sourdough.jpg) +[Sourdough](#rye_sourdough_initial.jpg) - Ingredients + 500g whole grain rye flour diff --git a/images/sourdough.jpg b/recipes/baked_stuff/breads/rye_sourdough_initial/rye_sourdough_initial.jpg Binary files differ. diff --git a/recipes/baked_stuff/breads/whole_grain_buns.md b/recipes/baked_stuff/breads/whole_grain_buns.md @@ -3,7 +3,7 @@ Images: [Whole](#whole_grain_buns.jpg) -[Cut](#whole_grain_buns_cut.jpg) +[Cut](#cut.jpg) - Ingredients + 400g boiled, grated potatoes diff --git a/images/whole_grain_buns_cut.jpg b/recipes/baked_stuff/breads/whole_grain_buns/cut.jpg Binary files differ. diff --git a/images/whole_grain_buns.jpg b/recipes/baked_stuff/breads/whole_grain_buns/whole_grain_buns.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/chocolate_macaroons.md b/recipes/baked_stuff/christmas/chocolate_macaroons.md @@ -20,9 +20,9 @@ Makes ~100, depending on the size you make them. + Stir egg whites together with sugar (but don't beat the egg whites). + Stir in the lemon juice. + Add remaining ingredients and mix well. - ([Image](#chocolate_macaroons_dough.jpg)) + ([Image](#dough.jpg)) + Form small heaps on a tray using two teaspoons. - ([Image](#chocolate_macaroons_unbaked.jpg)) + ([Image](#unbaked.jpg)) + Bake on middle rung at 180 C for ~10-15 minutes. Source: "Haarer Kochen und Backen nach Grundrezepten", 4th Edition (1970). diff --git a/images/chocolate_macaroons.jpg b/recipes/baked_stuff/christmas/chocolate_macaroons/chocolate_macaroons.jpg Binary files differ. diff --git a/images/chocolate_macaroons_dough.jpg b/recipes/baked_stuff/christmas/chocolate_macaroons/dough.jpg Binary files differ. diff --git a/images/chocolate_macaroons_unbaked.jpg b/recipes/baked_stuff/christmas/chocolate_macaroons/unbaked.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/coconut_macaroons.md b/recipes/baked_stuff/christmas/coconut_macaroons.md @@ -18,10 +18,10 @@ Makes ~60-80, depending on the size you make them. + Beat egg whites until stiff. + Stir in sugar, lemon juice, and lemon zest. + Stir in coconut flakes. - ([Image](#coconut_macaroons_dough.jpg)) + ([Image](#dough.jpg)) + Form small heaps on a tray using two teaspoons. The dough is very brittle, so this part is a bit annoying. - ([Image](#coconut_macaroons_unbaked.jpg)) + ([Image](#unbaked.jpg)) + Bake on middle rung at 180 C for ~10-15 minutes. + Notes * Some people like to put the macaroons on wafer papers, but diff --git a/images/coconut_macaroons.jpg b/recipes/baked_stuff/christmas/coconut_macaroons/coconut_macaroons.jpg Binary files differ. diff --git a/images/coconut_macaroons_dough.jpg b/recipes/baked_stuff/christmas/coconut_macaroons/dough.jpg Binary files differ. diff --git a/images/coconut_macaroons_unbaked.jpg b/recipes/baked_stuff/christmas/coconut_macaroons/unbaked.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/cutout_cookies.md b/recipes/baked_stuff/christmas/cutout_cookies.md @@ -21,7 +21,7 @@ Makes ~80-100, depending on the thickness and size of the cookies. + Use a brush to spread a thin layer of egg yolk on each cookie, then add a bit of sugar on top. You can also use sugar with larger grains or other decorational toppings here. - ([Image](#cutout_cookies_unbaked.jpg)) + ([Image](#unbaked.jpg)) + Bake on middle rung at 200 C for about 8-10 minutes, until they are light brown. If the dough was rolled out very thin, they burn very quickly and must be watched closely. diff --git a/images/cutout_cookies.jpg b/recipes/baked_stuff/christmas/cutout_cookies/cutout_cookies.jpg Binary files differ. diff --git a/images/cutout_cookies_unbaked.jpg b/recipes/baked_stuff/christmas/cutout_cookies/unbaked.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/elisenlebkuchen.md b/recipes/baked_stuff/christmas/elisenlebkuchen.md @@ -1,8 +1,8 @@ #### Elisenlebkuchen Images: -[Chocolate glazing](#elisenlebkuchen_chocolate.jpg) -[No glazing](#elisenlebkuchen_unglazed.jpg) +[Chocolate glazing](#elisenlebkuchen.jpg) +[No glazing](#unglazed.jpg) - Ingredients + 2 eggs diff --git a/images/elisenlebkuchen_chocolate.jpg b/recipes/baked_stuff/christmas/elisenlebkuchen/elisenlebkuchen.jpg Binary files differ. diff --git a/images/elisenlebkuchen_unglazed.jpg b/recipes/baked_stuff/christmas/elisenlebkuchen/unglazed.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/hausfreunde.md b/recipes/baked_stuff/christmas/hausfreunde.md @@ -21,7 +21,7 @@ Image: of the cakes with a thin layer of dough to prevent the raisins from burning. + Add raisins, walnuts, and chocolate. - ([Image](#hausfreunde_dough.jpg)) + ([Image](#dough.jpg)) + Form two "cakes" on a tray. If you set aside some of the initial dough, first put a thin layer of that in the places where the cakes will be, then add the "proper" dough, and finally cover @@ -29,9 +29,9 @@ Image: wet your fingers and then use those to spread the dough. The cover in the picture isn't very perfect, but it's better than nothing. - ([Bottom layer](#hausfreunde_bottom.jpg)) - ([Without cover](#hausfreunde_uncovered.jpg)) - ([With cover](#hausfreunde_covered.jpg)) + ([Bottom layer](#bottom.jpg)) + ([Without cover](#uncovered.jpg)) + ([With cover](#covered.jpg)) + Bake at 170 C for ~45-50 minutes. + Notes * You can also add other types of nuts or dried fruits if diff --git a/images/hausfreunde_bottom.jpg b/recipes/baked_stuff/christmas/hausfreunde/bottom.jpg Binary files differ. diff --git a/images/hausfreunde_covered.jpg b/recipes/baked_stuff/christmas/hausfreunde/covered.jpg Binary files differ. diff --git a/images/hausfreunde_dough.jpg b/recipes/baked_stuff/christmas/hausfreunde/dough.jpg Binary files differ. diff --git a/images/hausfreunde.jpg b/recipes/baked_stuff/christmas/hausfreunde/hausfreunde.jpg Binary files differ. diff --git a/images/hausfreunde_uncovered.jpg b/recipes/baked_stuff/christmas/hausfreunde/uncovered.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/hazelnut_macaroons.md b/recipes/baked_stuff/christmas/hazelnut_macaroons.md @@ -17,11 +17,11 @@ Makes ~60-80, depending on the size you make them. + Beat egg whites until stiff. + Stir in sugar. + Stir in ground hazelnuts. - ([Image](#hazelnut_macaroons_dough.jpg)) + ([Image](#dough.jpg)) + Form small heaps on a tray using two teaspoons, then add a whole hazelnut on each heap. Make sure to press the hazelnut hard enough that it doesn't fall out later. - ([Image](#hazelnut_macaroons_unbaked.jpg)) + ([Image](#unbaked.jpg)) + Bake on middle rung at 180 C for ~15 minutes. Source: "Haarer Kochen und Backen nach Grundrezepten", 4th Edition (1970). diff --git a/images/hazelnut_macaroons_dough.jpg b/recipes/baked_stuff/christmas/hazelnut_macaroons/dough.jpg Binary files differ. diff --git a/images/hazelnut_macaroons.jpg b/recipes/baked_stuff/christmas/hazelnut_macaroons/hazelnut_macaroons.jpg Binary files differ. diff --git a/images/hazelnut_macaroons_unbaked.jpg b/recipes/baked_stuff/christmas/hazelnut_macaroons/unbaked.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/lebkuchen.md b/recipes/baked_stuff/christmas/lebkuchen.md @@ -1,9 +1,9 @@ #### Lebkuchen Images: -[Chocolate glazing](#lebkuchen_chocolate.jpg) -[Chocolate glazing (cut)](#lebkuchen_chocolate_pieces.jpg) -[Sugar glazing](#lebkuchen_glazed.jpg) +[Chocolate glazing](#lebkuchen.jpg) +[Chocolate glazing (cut)](#pieces.jpg) +[Sugar glazing](#glazed.jpg) Note: It is possible to make vegan Lebkuchen by leaving away the eggs and using a substitute such as golden syrup or "Zuckerrübensirup" for the honey. I suppose you diff --git a/images/lebkuchen_glazed.jpg b/recipes/baked_stuff/christmas/lebkuchen/glazed.jpg Binary files differ. diff --git a/images/lebkuchen_chocolate.jpg b/recipes/baked_stuff/christmas/lebkuchen/lebkuchen.jpg Binary files differ. diff --git a/images/lebkuchen_chocolate_pieces.jpg b/recipes/baked_stuff/christmas/lebkuchen/pieces.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/spitzbuben.md b/recipes/baked_stuff/christmas/spitzbuben.md @@ -23,13 +23,13 @@ Makes ~30-50, depending on the thickness of the cookies. has another hole in the middle (this just makes them look nicer in the end because the jam can be seen through the hole). - ([Image](#spitzbuben_unbaked.jpg)) + ([Image](#unbaked.jpg)) + Bake on middle rung at 200 C for about 8-10 minutes, until they are light brown. - ([Image](#spitzbuben_baked.jpg)) + ([Image](#baked.jpg)) + Leave to cool, then always take one cookie, spread jam on it, and stick a matching cookie on top. - ([Image](#spitzbuben_combined.jpg)) + ([Image](#combined.jpg)) + Cover the cookies with powdered sugar. * Note: The original recipe says that the powdered sugar should be added while the cookies are still diff --git a/images/spitzbuben_baked.jpg b/recipes/baked_stuff/christmas/spitzbuben/baked.jpg Binary files differ. diff --git a/images/spitzbuben_combined.jpg b/recipes/baked_stuff/christmas/spitzbuben/combined.jpg Binary files differ. diff --git a/images/spitzbuben.jpg b/recipes/baked_stuff/christmas/spitzbuben/spitzbuben.jpg Binary files differ. diff --git a/images/spitzbuben_unbaked.jpg b/recipes/baked_stuff/christmas/spitzbuben/unbaked.jpg Binary files differ. diff --git a/recipes/baked_stuff/christmas/vanille_kipferl.md b/recipes/baked_stuff/christmas/vanille_kipferl.md @@ -18,11 +18,11 @@ Makes ~60-80, depending on the size you make them. + Form crescent shapes and set them on a tray. The dough is very brittle, so it helps to first press small portions into balls and then form the crescents from those. - ([Dough balls](#vanillekipferl_balls.jpg)) - ([Crescents](#vanillekipferl_unbaked.jpg)) + ([Dough balls](#balls.jpg)) + ([Crescents](#unbaked.jpg)) + Bake on middle rung at 200 C for 10-12 minutes, until they are light brown. - ([Image](#vanillekipferl_uncovered.jpg)) + ([Image](#uncovered.jpg)) + Leave to cool, then cover in powdered sugar. + Notes * The crescents are extremely brittle when they are first diff --git a/images/vanillekipferl_balls.jpg b/recipes/baked_stuff/christmas/vanille_kipferl/balls.jpg Binary files differ. diff --git a/images/vanillekipferl_unbaked.jpg b/recipes/baked_stuff/christmas/vanille_kipferl/unbaked.jpg Binary files differ. diff --git a/images/vanillekipferl_uncovered.jpg b/recipes/baked_stuff/christmas/vanille_kipferl/uncovered.jpg Binary files differ. diff --git a/images/vanillekipferl.jpg b/recipes/baked_stuff/christmas/vanille_kipferl/vanillekipferl.jpg Binary files differ. diff --git a/recipes/desserts/misc/magic_fudge.md b/recipes/desserts/misc/magic_fudge.md @@ -16,21 +16,21 @@ Note: The images shown here are double the recipe. + Combine condensed milk, butter, and cocoa powder in a pot. Make sure that the pot is relatively large because the biscuits will be added in the end. - ([Image](#magic_fudge_ingredients.jpg)) + ([Image](#ingredients.jpg)) + Simmer/boil mixture on medium heat for ~6 minutes. Note that it burns extremely quickly, so you have to constantly stir! - ([Image](#magic_fudge_stirred.jpg)) + ([Image](#stirred.jpg)) + Remove the pot from heat when the mixture becomes somewhat stringy. - ([Image](#magic_fudge_boiled.jpg)) + ([Image](#boiled.jpg)) + Add the broken biscuits. - ([Image](#magic_fudge_biscuits.jpg)) + ([Image](#biscuits.jpg)) + Mix until all biscuits are covered in chocolate mixture. - ([Image](#magic_fudge_mixed.jpg)) + ([Image](#mixed.jpg)) + Put mixture into buttered form and leave to cool. Note: I often just spread it onto parchment paper and smooth the top and sides a bit. - ([Image](#magic_fudge_uncut.jpg)) + ([Image](#uncut.jpg)) + Cut into pieces and store in fridge. Note: Ideally, it should be cooled in the fridge before cutting so the cuts are cleaner, but I usually don't have enough space diff --git a/images/magic_fudge_biscuits.jpg b/recipes/desserts/misc/magic_fudge/biscuits.jpg Binary files differ. diff --git a/images/magic_fudge_boiled.jpg b/recipes/desserts/misc/magic_fudge/boiled.jpg Binary files differ. diff --git a/images/magic_fudge_ingredients.jpg b/recipes/desserts/misc/magic_fudge/ingredients.jpg Binary files differ. diff --git a/images/magic_fudge.jpg b/recipes/desserts/misc/magic_fudge/magic_fudge.jpg Binary files differ. diff --git a/images/magic_fudge_mixed.jpg b/recipes/desserts/misc/magic_fudge/mixed.jpg Binary files differ. diff --git a/images/magic_fudge_stirred.jpg b/recipes/desserts/misc/magic_fudge/stirred.jpg Binary files differ. diff --git a/images/magic_fudge_uncut.jpg b/recipes/desserts/misc/magic_fudge/uncut.jpg Binary files differ. diff --git a/recipes/desserts/pakistani_indian/milk_powder_barfi.md b/recipes/desserts/pakistani_indian/milk_powder_barfi.md @@ -28,13 +28,13 @@ yields. end (but at least somewhat hold its shape) because it still hardens quite a lot later. If it is cooked too long, it will become very hard and brittle in the fridge. - ([Image](#milk_powder_barfi_cooked.jpg)) + ([Image](#cooked.jpg)) + Spread mixture in a tray or on some sort of grease-proof paper. - ([Image](#milk_powder_barfi_spread_out.jpg)) + ([Image](#spread_out.jpg)) + Leave to cool and cut into pieces. It's best to place the entire sheet into the fridge for a while so the pieces are easier to cut (otherwise, the mixture is still a bit sticky). - ([Image](#milk_powder_barfi_initial.jpg)) + ([Image](#initial.jpg)) + Optional: If you are a perfectionist, knead the cooled mixture and roll it out with a rolling pin so the pieces become nicer on top (not as rough as they are when the hot mixture is just diff --git a/images/milk_powder_barfi_cooked.jpg b/recipes/desserts/pakistani_indian/milk_powder_barfi/cooked.jpg Binary files differ. diff --git a/images/milk_powder_barfi_initial.jpg b/recipes/desserts/pakistani_indian/milk_powder_barfi/initial.jpg Binary files differ. diff --git a/images/milk_powder_barfi.jpg b/recipes/desserts/pakistani_indian/milk_powder_barfi/milk_powder_barfi.jpg Binary files differ. diff --git a/images/milk_powder_barfi_spread_out.jpg b/recipes/desserts/pakistani_indian/milk_powder_barfi/spread_out.jpg Binary files differ. diff --git a/recipes/jams/orange_jam.md b/recipes/jams/orange_jam.md @@ -15,7 +15,7 @@ Image: pith, but other types may only have a very thin layer. In that case, it might make more sense to peel the oranges and scrape the pith away from the inside of the peels. - ([Image](#orange_jam_peels.jpg)) + ([Image](#peels.jpg)) + Soak the removed peels in water overnight. As far as I know, this is supposed to remove some of the bitterness, but I'm not entirely sure. Apparently, it might also help to use hot water, but I haven't tried @@ -26,13 +26,13 @@ Image: Also make sure to remove any seeds the oranges and lemons contain. If a few seeds remain, they will float to the top when the mixture is boiling, so they can be removed then. - ([Image](#orange_jam_oranges.jpg)) + ([Image](#oranges.jpg)) + Drain the water from the soaked peels and break/cut them into small pieces so they can be puréed more easily with a blender. - ([Image](#orange_jam_peels_smaller.jpg)) + ([Image](#peels_smaller.jpg)) + Purée the orange/lemon pieces and peels. I always use a stick blender, but I suppose you could use a regular blender as well. - ([Image](#orange_jam_blended.jpg)) + ([Image](#blended.jpg)) + Add the sugar and bring to a boil. + Boil the mixture for ~45 minutes, stirring frequently. It should really boil properly, so make sure to use a big enough pot so the mixture @@ -42,7 +42,7 @@ Image: of boiling worked well for me, but it depends on a lot of factors, such as the amount you make at once and the consistency you want the jam to have. The original recipe only boiled the mixture very briefly. - ([Image](#orange_jam_boiling.jpg)) + ([Image](#boiling.jpg)) + Fill the mixture into jars, screw on the lids, and set the jars upside-down until they are cooled. + Notes diff --git a/images/orange_jam_blended.jpg b/recipes/jams/orange_jam/blended.jpg Binary files differ. diff --git a/images/orange_jam_boiling.jpg b/recipes/jams/orange_jam/boiling.jpg Binary files differ. diff --git a/images/orange_jam.jpg b/recipes/jams/orange_jam/orange_jam.jpg Binary files differ. diff --git a/images/orange_jam_oranges.jpg b/recipes/jams/orange_jam/oranges.jpg Binary files differ. diff --git a/images/orange_jam_peels.jpg b/recipes/jams/orange_jam/peels.jpg Binary files differ. diff --git a/images/orange_jam_peels_smaller.jpg b/recipes/jams/orange_jam/peels_smaller.jpg Binary files differ. diff --git a/recipes/jams/rose_hip_jam.md b/recipes/jams/rose_hip_jam.md @@ -8,7 +8,7 @@ Image: + ~1kg sugar - Instructions + Cut off the stems and black ends and wash the rose hips. - ([Image](#rose_hip_jam_ends_cut.jpg)) + ([Image](#ends_cut.jpg)) + Just barely cover the cleaned rose hips with water and boil them until soft. I use a pressure cooker, in which I boil them for ~10 minutes at high pressure, then leave them to cool @@ -19,7 +19,7 @@ Image: individually before boiling them. That's probably the better version since it doesn't allow any of the scratchy hairs to get into the jam, but it's a lot of work. - ([Image](#rose_hip_jam_pulp_extraction.jpg)) + ([Image](#pulp_extraction.jpg)) + Combine with sugar and possibly a bit of water, then bring to a boil. I also added a bit of water since the pulp was fairly thick, but I don't think that would have been necessary. @@ -30,7 +30,7 @@ Image: becomes hard enough (put a few drops onto a cold plate to tell if it becomes hard when cooled). It should really boil properly, so make sure to use a big enough pot that it doesn't boil over. - ([Image](#rose_hip_jam_boiling.jpg)) + ([Image](#boiling.jpg)) + Fill into jars, screw on the lids, and set them upside-down until they have cooled. + Optional: Dry the seeds and other parts that were removed by @@ -38,7 +38,7 @@ Image: Note that the small hairs in rose hips make you itch when you get them on your skin, so watch out when using the dried seeds. - ([Image](#rose_hip_jam_seeds_dried.jpg)) + ([Image](#seeds_dried.jpg)) + Notes * Apparently, you should only harvest the rose hips after the first frost because the freezing temperatures make diff --git a/images/rose_hip_jam_boiling.jpg b/recipes/jams/rose_hip_jam/boiling.jpg Binary files differ. diff --git a/images/rose_hip_jam_ends_cut.jpg b/recipes/jams/rose_hip_jam/ends_cut.jpg Binary files differ. diff --git a/images/rose_hip_jam_pulp_extraction.jpg b/recipes/jams/rose_hip_jam/pulp_extraction.jpg Binary files differ. diff --git a/images/rose_hip_jam.jpg b/recipes/jams/rose_hip_jam/rose_hip_jam.jpg Binary files differ. diff --git a/images/rose_hip_jam_seeds_dried.jpg b/recipes/jams/rose_hip_jam/seeds_dried.jpg Binary files differ. diff --git a/recipes/main_meals/misc/tomato_sauce.md b/recipes/main_meals/misc/tomato_sauce.md @@ -20,13 +20,13 @@ Image: + Add garlic and keep frying briefly. + Add tomatoes, basil, oregano, salt, paprika, bay leaves, and optionally chili powder. - ([Image](#tomato_sauce_chunks.jpg)) + ([Image](#chunks.jpg)) + Simmer for as long as you want - it doesn't have to be very long, but apparently it becomes better if you simmer it for a longer period of time. + Take out bay leaves and purée the rest with a stick blender so you get a nice sauce. - ([Image](#tomato_sauce_puree.jpg)) + ([Image](#puree.jpg)) + Optionally add cream. I find that it tastes better with cream, but you may have a different opinion. The image at the top is with cream. diff --git a/images/tomato_sauce_chunks.jpg b/recipes/main_meals/misc/tomato_sauce/chunks.jpg Binary files differ. diff --git a/images/tomato_sauce_puree.jpg b/recipes/main_meals/misc/tomato_sauce/puree.jpg Binary files differ. diff --git a/images/tomato_sauce.jpg b/recipes/main_meals/misc/tomato_sauce/tomato_sauce.jpg Binary files differ. diff --git a/images/achar_gosht.jpg b/recipes/main_meals/pakistani_indian/achar_gosht/achar_gosht.jpg Binary files differ. diff --git a/images/achari_chicken_pizza.jpg b/recipes/main_meals/pakistani_indian/achari_chicken_pizza/achari_chicken_pizza.jpg Binary files differ. diff --git a/images/chicken_tikka.jpg b/recipes/main_meals/pakistani_indian/chicken_tikka/chicken_tikka.jpg Binary files differ. diff --git a/recipes/main_meals/pakistani_indian/dal.md b/recipes/main_meals/pakistani_indian/dal.md @@ -2,7 +2,7 @@ (Serves 2-3) Image: -[Dal](#dal_mixed.jpg) +[Dal](#dal.jpg) - Ingredients + 1/2 cup red lentils (they turn yellow when cooked) @@ -26,13 +26,13 @@ Image: - Instructions + Boil the lentils like rice, but with three times as much water as lentils (by volume) - ([Image](#dal_lentils.jpg)) + ([Image](#lentils.jpg)) + Cut the onion, garlic, and ginger into small pieces + Mash the garlic and ginger up with a mortar and pestle, if available + Fry the onion until light brown, then add the garlic and ginger paste + Fry for a bit longer, then add the tomatoes and all spices except for the tadka ones - ([Image](#dal_vegetables.jpg)) + ([Image](#vegetables.jpg)) + After everything is cooked well (~20 minutes), mix with the lentils (the lentils should soak up all the water; if not, figure out what you're going to do...) diff --git a/images/dal_mixed.jpg b/recipes/main_meals/pakistani_indian/dal/dal.jpg Binary files differ. diff --git a/images/dal_lentils.jpg b/recipes/main_meals/pakistani_indian/dal/lentils.jpg Binary files differ. diff --git a/images/dal_vegetables.jpg b/recipes/main_meals/pakistani_indian/dal/vegetables.jpg Binary files differ. diff --git a/recipes/salads/swabian_potato_salad.md b/recipes/salads/swabian_potato_salad.md @@ -30,12 +30,12 @@ Image: + Cut potatoes into thin slices (you can also grate them, but mine usually aren't firm enough to do that without them turning into mashed potatoes). - ([Image](#swabian_potato_salad_potatoes.jpg)) + ([Image](#potatoes.jpg)) + Boil onions, garlic, vinegar, vegetable broth, mustard, and bay leaves for a few minutes. - ([Image](#swabian_potato_salad_sauce.jpg)) + ([Image](#sauce.jpg)) + Remove bay leaves and pour sauce over the potatoes. - ([Image](#swabian_potato_salad_initial_mix.jpg)) + ([Image](#initial_mix.jpg)) + Cover the mixture and leave it for several hours, mixing it occasionally, until the liquid has been soaked up by the potatoes. + Add oil and chives and mix well. diff --git a/images/swabian_potato_salad_initial_mix.jpg b/recipes/salads/swabian_potato_salad/initial_mix.jpg Binary files differ. diff --git a/images/swabian_potato_salad_potatoes.jpg b/recipes/salads/swabian_potato_salad/potatoes.jpg Binary files differ. diff --git a/images/swabian_potato_salad_sauce.jpg b/recipes/salads/swabian_potato_salad/sauce.jpg Binary files differ. diff --git a/images/swabian_potato_salad.jpg b/recipes/salads/swabian_potato_salad/swabian_potato_salad.jpg Binary files differ. diff --git a/recipes/sauces/onion_sauce.md b/recipes/sauces/onion_sauce.md @@ -14,7 +14,7 @@ Image: + Chop onions and place in pot with oil. I just chop them into small pieces, but some people like to chop them into rings instead. Do whatever you want (within limits). - ([Image](#onion_sauce_onions_raw.jpg)) + ([Image](#onions_raw.jpg)) + Fry onions on medium heat for 35-45 minutes. Do not be tempted to turn up the heat - it is necessary to fry them very slowly in order for them to turn brown @@ -23,11 +23,11 @@ Image: You only need to stir occasionally, though, so this is something that can be done while reading a book or doing something else. - ([Image](#onion_sauce_onions_done.jpg)) + ([Image](#onions_done.jpg)) + Add flour and stir until it is mixed well with the onions. - ([Image](#onion_sauce_flour.jpg)) + ([Image](#flour.jpg)) + Add water and salt and stir well. - ([Image](#onion_sauce_water.jpg)) + ([Image](#water.jpg)) + Boil/simmer on medium heat for 10-15 minutes or until it has reached the desired thickness. + Optionally blend it with an immersion blender. I haven't diff --git a/images/onion_sauce_flour.jpg b/recipes/sauces/onion_sauce/flour.jpg Binary files differ. diff --git a/images/onion_sauce.jpg b/recipes/sauces/onion_sauce/onion_sauce.jpg Binary files differ. diff --git a/images/onion_sauce_onions_done.jpg b/recipes/sauces/onion_sauce/onions_done.jpg Binary files differ. diff --git a/images/onion_sauce_onions_raw.jpg b/recipes/sauces/onion_sauce/onions_raw.jpg Binary files differ. diff --git a/images/onion_sauce_water.jpg b/recipes/sauces/onion_sauce/water.jpg Binary files differ. diff --git a/images/chaat_masala.jpg b/recipes/spice_mixes/chaat_masala/chaat_masala.jpg Binary files differ. diff --git a/images/lebkuchen_spice.jpg b/recipes/spice_mixes/lebkuchen_spice/lebkuchen_spice.jpg Binary files differ. diff --git a/recipes/spice_mixes/seasoning_salt.md b/recipes/spice_mixes/seasoning_salt.md @@ -13,16 +13,16 @@ Image: much volume it would have as powder. I just used a teaspoon filled with small pieces of mace, but it probably doesn't matter too much anyways. - ([Image](#seasoning_salt_mace.jpg)) + ([Image](#mace.jpg)) - Instructions + Cut onion into small pieces and place in frying pan without oil. - ([Image](#seasoning_salt_onions_raw.jpg)) + ([Image](#onions_raw.jpg)) + Fry onion on medium heat for 15-20 minutes, occasionally turning the pieces, then leave on the hot (but turned off) stove until cool in order to dry the onion pieces. If a gas stove is used, it may be necessary to keep a very small flame on since no further heat comes after it is turned off. - ([Image](#seasoning_salt_onions_dried.jpg)) + ([Image](#onions_dried.jpg)) * It may be necessary to increase the time depending on various factors. * The onion pieces may get fairly dark brown, but they diff --git a/images/seasoning_salt_mace.jpg b/recipes/spice_mixes/seasoning_salt/mace.jpg Binary files differ. diff --git a/images/seasoning_salt_onions_dried.jpg b/recipes/spice_mixes/seasoning_salt/onions_dried.jpg Binary files differ. diff --git a/images/seasoning_salt_onions_raw.jpg b/recipes/spice_mixes/seasoning_salt/onions_raw.jpg Binary files differ. diff --git a/images/seasoning_salt.jpg b/recipes/spice_mixes/seasoning_salt/seasoning_salt.jpg Binary files differ.