mirror of
https://github.com/hendricius/the-sourdough-framework
synced 2025-11-09 04:31:11 -06:00
Merge branch 'main' into fix_warnings
This commit is contained in:
2
.github/workflows/release-book-website.yml
vendored
2
.github/workflows/release-book-website.yml
vendored
@@ -64,7 +64,7 @@ jobs:
|
|||||||
options: -v ${{ github.workspace }}:/app
|
options: -v ${{ github.workspace }}:/app
|
||||||
run: |
|
run: |
|
||||||
cd /app/book
|
cd /app/book
|
||||||
make -j bake
|
make bake
|
||||||
- name: Release baked book to S3
|
- name: Release baked book to S3
|
||||||
uses: shallwefootball/s3-upload-action@master
|
uses: shallwefootball/s3-upload-action@master
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -84,6 +84,13 @@ size. This shrinks the book from more than 50MB down to ~5MB:
|
|||||||
|
|
||||||
* [Download compiled B&W .epub version](https://www.the-bread-code.io/bw-book.epub)
|
* [Download compiled B&W .epub version](https://www.the-bread-code.io/bw-book.epub)
|
||||||
|
|
||||||
|
If you prefer a very short version (about 10 pages) with main flowcharts and
|
||||||
|
crucial informations needed while you are in the kitchen, we also provide a
|
||||||
|
"too long;didn't read" version you could print. Having read the full book is
|
||||||
|
highly recommended to understand this leaflet:
|
||||||
|
|
||||||
|
* [Download a condensed version](https://www.the-bread-code.io/booklet.pdf)
|
||||||
|
|
||||||
## Online HTML version
|
## Online HTML version
|
||||||
|
|
||||||
Head over to [https://www.the-sourdough-framework.com](https://www.the-sourdough-framework.com)
|
Head over to [https://www.the-sourdough-framework.com](https://www.the-sourdough-framework.com)
|
||||||
|
|||||||
174
book/booklet.tex
Normal file
174
book/booklet.tex
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
\documentclass[paper=a4, twoside=false, fontsize=12pt]{scrbook}
|
||||||
|
|
||||||
|
% General packages
|
||||||
|
\usepackage{sourdough}
|
||||||
|
\usepackage[
|
||||||
|
paperwidth=210mm,
|
||||||
|
paperheight=260mm,
|
||||||
|
top=10mm,
|
||||||
|
bottom=80mm,
|
||||||
|
inner=10mm,
|
||||||
|
outer=10mm,
|
||||||
|
marginparsep=7mm,
|
||||||
|
marginparwidth=48mm,
|
||||||
|
]{geometry}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
|
||||||
|
\pagenumbering{gobble}
|
||||||
|
% Basic attributes
|
||||||
|
\author{Hendrik Kleinwächter}
|
||||||
|
\title{The Sourdough Framework\\\texttt{tl;dr Booklet Version}}
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section*{Sourdough starter}
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-starter-process.tex}
|
||||||
|
\caption*{How to setup a sourdough starter}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-starter-readiness.tex}
|
||||||
|
\caption*{Preparing your starter for baking}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-starter-maintenance.tex}
|
||||||
|
\caption*{Maintaining your starter, change ratio as per starter hydration
|
||||||
|
type}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\clearpage{}
|
||||||
|
\section*{Baker's math}
|
||||||
|
\begin{table}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{tables/table-bakers-math-example.tex}
|
||||||
|
\caption*{An example table demonstrating how to properly calculate using
|
||||||
|
baker's math. All the ingredients are calculated as a percentage of the
|
||||||
|
flour quantity.}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\section*{Basic recipes}
|
||||||
|
\subsection*{Flat bread}
|
||||||
|
\input{recipes/flat-bread.tex}
|
||||||
|
\clearpage{}
|
||||||
|
|
||||||
|
\subsection*{Freestanding \& sandwich wheat-based breads}
|
||||||
|
\begin{table}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{@{}lrrrp{0.4\linewidth}@{}}
|
||||||
|
\toprule
|
||||||
|
\thead{Ingredient}& & \thead{Percentage} & \thead{Calculation} & \thead{Comments} \\ \midrule
|
||||||
|
Flour & \qty{400}{g} & & & \\
|
||||||
|
Whole-wheat flour & \qty{100}{g} & & & \\
|
||||||
|
Total flour & & \qty{100}{\percent} & \qty{500}{g} & \\
|
||||||
|
Water & & \qty{60}{\percent} & \qty{300}{g} & \\
|
||||||
|
Sourdough starter & & \qty{10}{\percent} & \qty{50}{g} & \\
|
||||||
|
Salt & & \qty{2}{\percent} & \qty{10}{g} & \\ \midrule
|
||||||
|
Flour & & \qty{100}{\percent} & & \\
|
||||||
|
Water & & & & \\
|
||||||
|
Sourdough starter & & & & \\
|
||||||
|
Salt & & & & \\ \midrule
|
||||||
|
Flour & & & & \\
|
||||||
|
& & & & \\
|
||||||
|
& & & & \\
|
||||||
|
& & & & \\
|
||||||
|
& & & & \\ \bottomrule
|
||||||
|
\end{tabular}
|
||||||
|
\caption*{Table for your own calculation using baker's math}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-wheat-sourdough-process.tex}
|
||||||
|
\caption*{The whole process of making wheat based sourdough breads}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-kneading-process.tex}
|
||||||
|
\caption*{The kneading process to create dough strength}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-bulk-fermentation.tex}
|
||||||
|
\caption*{How to properly manage bulk fermentation}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{figure*}[!htb]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{stretch-and-fold-steps}
|
||||||
|
\caption*{An overview of the steps involved to perform stretch and folds for
|
||||||
|
wheat-based doughs. They are optional and should only be done when the dough
|
||||||
|
flattened out a lot.}%
|
||||||
|
\end{figure*}
|
||||||
|
\clearpage{}
|
||||||
|
|
||||||
|
\section*{Shaping}
|
||||||
|
|
||||||
|
\begin{figure*}[!htb]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}{.475\linewidth}
|
||||||
|
\includegraphics[width=\linewidth]{preshape-direction}
|
||||||
|
\caption*{Preshaping: Drag the dough in the direction of the rough
|
||||||
|
surface area.}%
|
||||||
|
\end{subfigure}
|
||||||
|
\begin{subfigure}{.475\linewidth}
|
||||||
|
\includegraphics[width=\linewidth]{step-1-flour-applied}
|
||||||
|
\caption*{Step 1: Apply flpour to the dough's surface.}%
|
||||||
|
\end{subfigure}\hfill % <-- "\hfill"
|
||||||
|
\medskip % create some *vertical* separation between the graphs
|
||||||
|
\begin{subfigure}{.475\linewidth}
|
||||||
|
\includegraphics[width=\linewidth]{step-2-flipped-over}
|
||||||
|
\caption*{Step 2: Flipp-over dough. Note how the sticky side is facing
|
||||||
|
you while the floured side is facing the countertop.}
|
||||||
|
\end{subfigure}\hfill % <-- "\hfill"
|
||||||
|
\begin{subfigure}{.475\linewidth}
|
||||||
|
\includegraphics[width=\linewidth]{step-3-rectangular}
|
||||||
|
\caption*{Step 3: Make the dough rectangular, keep the sticky side
|
||||||
|
facing you while the floured side is facing the countertop.}%
|
||||||
|
\end{subfigure}
|
||||||
|
\caption*{First steps of shaping process}
|
||||||
|
\end{figure*}
|
||||||
|
|
||||||
|
\begin{figure*}[htb!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=\textwidth]{step-4-folding}
|
||||||
|
\caption*{Step 4: The process of folding a batard. Note how the rectangle
|
||||||
|
is first glued together and then rolled inwards to create a dough roll.
|
||||||
|
Utimately the edges are sealed to create a more uniform dough.}%
|
||||||
|
\end{figure*}
|
||||||
|
\clearpage{}
|
||||||
|
|
||||||
|
\section*{Proofing}
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-proofing-process.tex}
|
||||||
|
\end{flowchart}
|
||||||
|
\clearpage{}
|
||||||
|
|
||||||
|
\section*{Baking}
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-baking-process.tex}
|
||||||
|
\caption*{Summary of different bread baking processes}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{flowchart}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-inverted-tray-method.tex}
|
||||||
|
\caption*{Baking with the inverted tray method}
|
||||||
|
\end{flowchart}
|
||||||
|
|
||||||
|
\begin{flowchart*}[!htb]
|
||||||
|
\centering
|
||||||
|
\input{figures/fig-dutch-oven-process.tex}
|
||||||
|
\caption*{Baking with a Dutch Oven}
|
||||||
|
\end{flowchart*}
|
||||||
|
\clearpage{}
|
||||||
|
\end{document}
|
||||||
@@ -242,57 +242,10 @@ culinary applications. Whether you're scooping up a savory dip,
|
|||||||
wrapping a flavorful filling, or simply enjoying a piece with a drizzle
|
wrapping a flavorful filling, or simply enjoying a piece with a drizzle
|
||||||
of olive oil, these flatbreads are sure to impress.
|
of olive oil, these flatbreads are sure to impress.
|
||||||
|
|
||||||
\subsubsection*{Ingredients}
|
\input{recipes/flat-bread.tex}
|
||||||
|
|
||||||
\begin{tabular}{r@{}rl@{}}
|
\section{Loaf pan bread}%
|
||||||
\qty{400}{\gram} &~(\qty{100}{\percent}) & Flour (wheat, rye, corn, whatever you have at hand)\\
|
\label{sec:loaf-pan-bread}
|
||||||
\qty{320}{\gram} & (\qty{80}{\percent}) & Water, preferably at room temperature\\
|
|
||||||
\qty{80}{\gram} & (\qty{20}{\percent}) & Active sourdough starter\\
|
|
||||||
\qty{8}{\gram} & (\qty{2}{\percent}) & Salt\\
|
|
||||||
\end{tabular}
|
|
||||||
|
|
||||||
\subsubsection*{Instructions}
|
|
||||||
\begin{description}
|
|
||||||
\item[Prepare the dough] In a large mixing bowl, combine the flour and water.
|
|
||||||
Mix until you have a shaggy dough with no dry spots.
|
|
||||||
|
|
||||||
Add the sourdough starter and salt to the mixture. Incorporate them thoroughly
|
|
||||||
until you achieve a smooth and homogenized dough.
|
|
||||||
|
|
||||||
\item[Fermentation:] Cover the bowl with a lid or plastic wrap. Allow the dough
|
|
||||||
to rest and ferment until it has increased by at least \qty{50}{\percent}
|
|
||||||
in size. Depending on the temperature and activity of your starter, this
|
|
||||||
can take anywhere from 4 to 24~hours.
|
|
||||||
|
|
||||||
\item[Cooking preparation:] Once the dough has risen, heat a pan over medium heat.
|
|
||||||
Lightly oil the pan, ensuring to wipe away any excess oil with a paper towel.
|
|
||||||
|
|
||||||
\item[Shaping and cooking:] With a ladle or your hands, scoop out a portion of
|
|
||||||
the dough and place it onto the hot pan, spreading it gently like a pancake.
|
|
||||||
|
|
||||||
Cover the pan with a lid. This traps the steam and ensures even cooking
|
|
||||||
from the top, allowing for easier flipping later.
|
|
||||||
|
|
||||||
After about 5~minutes, or when the bottom of the flatbread has a
|
|
||||||
golden-brown crust, carefully flip it using a spatula.
|
|
||||||
|
|
||||||
\emph{Adjusting cook time.} If the flatbread appears too dark,
|
|
||||||
remember to reduce the cooking time slightly for the next one.
|
|
||||||
Conversely, if it's too pale, allow it to cook a bit longer before flipping.
|
|
||||||
|
|
||||||
Cook the flipped side for an additional 5~minutes or until it's also golden
|
|
||||||
brown.
|
|
||||||
|
|
||||||
\item[Storing:] Once cooked, remove the flatbread from the pan and place it on a
|
|
||||||
kitchen towel. Wrapping the breads in the towel will help retain their
|
|
||||||
softness and prevent them from becoming overly crisp.
|
|
||||||
Repeat the cooking process for the remaining dough.
|
|
||||||
|
|
||||||
\item[Serving suggestion:] Enjoy your sourdough flatbreads warm,
|
|
||||||
paired with your favorite dips, spreads, or as a side to any meal.
|
|
||||||
|
|
||||||
\end{description}
|
|
||||||
\section{Loaf pan bread}
|
|
||||||
|
|
||||||
Loaf pan bread is made using the help of a special loaf pan
|
Loaf pan bread is made using the help of a special loaf pan
|
||||||
or loaf tin. The edges of the pan provide additional support
|
or loaf tin. The edges of the pan provide additional support
|
||||||
|
|||||||
@@ -31,10 +31,12 @@ chapters = baking basics bread-types cover flour-types history intro mix-ins\
|
|||||||
|
|
||||||
src_tables := $(wildcard tables/table-*.tex)
|
src_tables := $(wildcard tables/table-*.tex)
|
||||||
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
|
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
|
||||||
|
src_recipes := $(wildcard recipes/*.tex)
|
||||||
|
|
||||||
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
|
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
|
||||||
src_tex += book.tex book_sans_serif.tex references.bib figures/vars.tex
|
src_tex += book.tex book_sans_serif.tex references.bib figures/vars.tex
|
||||||
src_tex += supporters.csv sourdough.sty colors.tex
|
src_tex += supporters.csv sourdough.sty colors.tex
|
||||||
|
src_tex += $(src_recipes)
|
||||||
|
|
||||||
images := $(wildcard images/*/*.jpg)
|
images := $(wildcard images/*/*.jpg)
|
||||||
images += $(wildcard images/*.jpg)
|
images += $(wildcard images/*.jpg)
|
||||||
@@ -55,6 +57,11 @@ ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
|
|||||||
|
|
||||||
website_src := $(src_all) website.cfg style.css
|
website_src := $(src_all) website.cfg style.css
|
||||||
|
|
||||||
|
# This is more than what is actually needed but keeps the makefile simple
|
||||||
|
# and latexmk will handle the rest
|
||||||
|
booklet_src := $(src_figures) $(src_tables) $(src_recipes) $(images)
|
||||||
|
booklet_src += booklet.tex
|
||||||
|
|
||||||
website_assets := $(wildcard ../website/assets/*)
|
website_assets := $(wildcard ../website/assets/*)
|
||||||
ruby_src := ../website/modify_build.rb $(website_assets)
|
ruby_src := ../website/modify_build.rb $(website_assets)
|
||||||
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
|
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
|
||||||
@@ -83,6 +90,9 @@ tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
|
|||||||
%.xbb: %.jpg
|
%.xbb: %.jpg
|
||||||
ebb -x $<
|
ebb -x $<
|
||||||
|
|
||||||
|
booklet/booklet.pdf: $(booklet_src)
|
||||||
|
$(LATEX) -output-directory=booklet booklet.tex
|
||||||
|
|
||||||
book_serif/book.pdf: $(src_all)
|
book_serif/book.pdf: $(src_all)
|
||||||
$(LATEX) -output-directory=book_serif book.tex
|
$(LATEX) -output-directory=book_serif book.tex
|
||||||
|
|
||||||
@@ -97,7 +107,7 @@ epub/%.epub: %.tex $(ebook_src) cover/cover-page.xbb
|
|||||||
copy_ebook_files: build_ebook
|
copy_ebook_files: build_ebook
|
||||||
$(RSYNC) book-epub/ bw-book-epub/
|
$(RSYNC) book-epub/ bw-book-epub/
|
||||||
|
|
||||||
# We not convert SVG to B&W or lower res for now as they are super small
|
# We do not convert SVG to B&W or lower res for now as they are super small
|
||||||
# anyway
|
# anyway
|
||||||
bw-book-epub/OEBPS/%.jpg: %.jpg
|
bw-book-epub/OEBPS/%.jpg: %.jpg
|
||||||
mkdir -p $(dir $@)
|
mkdir -p $(dir $@)
|
||||||
@@ -140,6 +150,8 @@ help:
|
|||||||
@echo ""
|
@echo ""
|
||||||
@echo "build_ebook: builds only the colour ebook"
|
@echo "build_ebook: builds only the colour ebook"
|
||||||
@echo ""
|
@echo ""
|
||||||
|
@echo "build_booklet: builds only the short booklet"
|
||||||
|
@echo ""
|
||||||
@echo "build_bw_ebook: builds the low res black & white ebook"
|
@echo "build_bw_ebook: builds the low res black & white ebook"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "build_sans_serif_pdf: build accessible pdf only"
|
@echo "build_sans_serif_pdf: build accessible pdf only"
|
||||||
@@ -160,6 +172,8 @@ help:
|
|||||||
@echo ""
|
@echo ""
|
||||||
@echo "quick_ebook: compiles ebook but runs lulatex only once"
|
@echo "quick_ebook: compiles ebook but runs lulatex only once"
|
||||||
@echo ""
|
@echo ""
|
||||||
|
@echo "quick_booklet: compiles booklet but runs lulatex only once"
|
||||||
|
@echo ""
|
||||||
@echo "show_tools_version: Show version of tools used on the build machine"
|
@echo "show_tools_version: Show version of tools used on the build machine"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "print-X: print makefile variable X"
|
@echo "print-X: print makefile variable X"
|
||||||
@@ -170,10 +184,12 @@ help:
|
|||||||
|
|
||||||
|
|
||||||
# Finally actual project targets (i.e. build pdf and ebooks)
|
# Finally actual project targets (i.e. build pdf and ebooks)
|
||||||
.PHONY: build_pdf build_serif_pdf build_sans_serif_pdf build_ebook
|
.PHONY: build_pdf build_booklet build_serif_pdf build_sans_serif_pdf build_ebook
|
||||||
|
|
||||||
build_pdf: build_serif_pdf build_sans_serif_pdf
|
build_pdf: build_serif_pdf build_sans_serif_pdf
|
||||||
|
|
||||||
|
build_booklet: booklet/booklet.pdf
|
||||||
|
|
||||||
build_serif_pdf: book_serif/book.pdf
|
build_serif_pdf: book_serif/book.pdf
|
||||||
|
|
||||||
build_sans_serif_pdf: book_sans_serif/book_sans_serif.pdf
|
build_sans_serif_pdf: book_sans_serif/book_sans_serif.pdf
|
||||||
@@ -221,6 +237,7 @@ clean_website_build: clean_ebook_build
|
|||||||
clean: clean_ebook_build clean_figures clean_website_build
|
clean: clean_ebook_build clean_figures clean_website_build
|
||||||
$(CLEAN) -output-directory=book_serif book.tex
|
$(CLEAN) -output-directory=book_serif book.tex
|
||||||
$(CLEAN) -output-directory=book_sans_serif book_sans_serif.tex
|
$(CLEAN) -output-directory=book_sans_serif book_sans_serif.tex
|
||||||
|
$(CLEAN) -output-directory=booklet booklet.tex
|
||||||
-rm book*/*.{bbl,loc,.run.xml}
|
-rm book*/*.{bbl,loc,.run.xml}
|
||||||
-rm -rf *book-epub/META-INF
|
-rm -rf *book-epub/META-INF
|
||||||
-rm -rf *book-epub/OEBPS
|
-rm -rf *book-epub/OEBPS
|
||||||
@@ -230,6 +247,7 @@ mrproper: clean
|
|||||||
$(CLEAN) -C $(src_figures)
|
$(CLEAN) -C $(src_figures)
|
||||||
$(CLEAN) -C -output-directory=book_serif book.tex
|
$(CLEAN) -C -output-directory=book_serif book.tex
|
||||||
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
|
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
|
||||||
|
$(CLEAN) -C -output-directory=booklet booklet.tex
|
||||||
-rm figures/*.png
|
-rm figures/*.png
|
||||||
-rm *.html
|
-rm *.html
|
||||||
-rm *.svg
|
-rm *.svg
|
||||||
@@ -237,13 +255,14 @@ mrproper: clean
|
|||||||
-rm -rf release/
|
-rm -rf release/
|
||||||
-rm -rf book_serif/
|
-rm -rf book_serif/
|
||||||
-rm -rf book_sans_serif/
|
-rm -rf book_sans_serif/
|
||||||
|
-rm -rf booklet/
|
||||||
-rm -rf *book-epub/
|
-rm -rf *book-epub/
|
||||||
-rm -rf $(website_dir)
|
-rm -rf $(website_dir)
|
||||||
|
|
||||||
# top level releases rules
|
# top level releases rules
|
||||||
.PHONY: bake release_serif release_sans_serif
|
.PHONY: bake release_serif release_sans_serif
|
||||||
|
|
||||||
bake: release_serif release_sans_serif
|
bake: release_serif release_sans_serif release_booklet
|
||||||
|
|
||||||
release:
|
release:
|
||||||
mkdir -p release
|
mkdir -p release
|
||||||
@@ -256,6 +275,9 @@ release_serif: build_serif_pdf build_ebook build_bw_ebook | release
|
|||||||
release_sans_serif: build_sans_serif_pdf | release
|
release_sans_serif: build_sans_serif_pdf | release
|
||||||
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
||||||
|
|
||||||
|
release_booklet: build_booklet | release
|
||||||
|
cp booklet/booklet.pdf release/TheBreadCode-The-Sourdough-Framework-booklet.pdf
|
||||||
|
|
||||||
# Website stuff
|
# Website stuff
|
||||||
.PHONY: html website
|
.PHONY: html website
|
||||||
$(website_dir)/book.html: $(website_src) cover/cover-page.xbb
|
$(website_dir)/book.html: $(website_src) cover/cover-page.xbb
|
||||||
@@ -283,6 +305,9 @@ website: html ../website/_bundle_install_done $(ruby_src)
|
|||||||
quick: # run latex only once no biber, no references etc...
|
quick: # run latex only once no biber, no references etc...
|
||||||
$(LATEX) -e '$$max_repeat=1' -halt-on-error -output-directory=book_serif book.tex
|
$(LATEX) -e '$$max_repeat=1' -halt-on-error -output-directory=book_serif book.tex
|
||||||
|
|
||||||
|
quick_booklet:
|
||||||
|
$(LATEX) -e '$$max_repeat=1' -halt-on-error -output-directory=booklet booklet.tex
|
||||||
|
|
||||||
quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc...
|
quick_ebook: cover/cover-page.xbb # run latex only once no biber, ref etc...
|
||||||
$(EBOOK) --mode draft book.tex
|
$(EBOOK) --mode draft book.tex
|
||||||
|
|
||||||
|
|||||||
53
book/recipes/flat-bread.tex
Normal file
53
book/recipes/flat-bread.tex
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
\subsubsection*{Ingredients}
|
||||||
|
\begin{tabular}{r@{}rl@{}}
|
||||||
|
\qty{400}{\gram} &~(\qty{100}{\percent}) & Flour (wheat, rye, corn, whatever
|
||||||
|
you have at hand)\\
|
||||||
|
\qty{320}{\gram} & (\qty{80}{\percent}) & Water, preferably at room
|
||||||
|
temperature\\
|
||||||
|
\qty{80}{\gram} & (\qty{20}{\percent}) & Active sourdough starter\\
|
||||||
|
\qty{8}{\gram} & (\qty{2}{\percent}) & Salt\\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
|
\subsubsection*{Instructions}
|
||||||
|
\begin{description}
|
||||||
|
\item[Prepare the dough] In a large mixing bowl, combine the flour and water.
|
||||||
|
Mix until you have a shaggy dough with no dry spots.
|
||||||
|
|
||||||
|
Add the sourdough starter and salt to the mixture. Incorporate them
|
||||||
|
thoroughly until you achieve a smooth and homogenized dough.
|
||||||
|
|
||||||
|
\item[Fermentation:] Cover the bowl with a lid or plastic wrap. Allow the dough
|
||||||
|
to rest and ferment until it has increased by at least \qty{50}{\percent}
|
||||||
|
in size. Depending on the temperature and activity of your starter, this
|
||||||
|
can take anywhere from 4 to 24~hours.
|
||||||
|
|
||||||
|
\item[Cooking preparation:] Once the dough has risen, heat a pan over medium
|
||||||
|
heat. Lightly oil the pan, ensuring to wipe away any excess oil with a
|
||||||
|
paper towel.
|
||||||
|
|
||||||
|
\item[Shaping and cooking:] With a ladle or your hands, scoop out a portion of
|
||||||
|
the dough and place it onto the hot pan, spreading it gently like a
|
||||||
|
pancake.
|
||||||
|
|
||||||
|
Cover the pan with a lid. This traps the steam and ensures even cooking
|
||||||
|
from the top, allowing for easier flipping later.
|
||||||
|
|
||||||
|
After about 5~minutes, or when the bottom of the flatbread has a
|
||||||
|
golden-brown crust, carefully flip it using a spatula.
|
||||||
|
|
||||||
|
\emph{Adjusting cook time.} If the flatbread appears too dark, remember to
|
||||||
|
reduce the cooking time slightly for the next one. Conversely, if it's
|
||||||
|
too pale, allow it to cook a bit longer before flipping.
|
||||||
|
|
||||||
|
Cook the flipped side for an additional 5~minutes or until it's also
|
||||||
|
golden brown.
|
||||||
|
|
||||||
|
\item[Storing:] Once cooked, remove the flatbread from the pan and place it on
|
||||||
|
a kitchen towel. Wrapping the breads in the towel will help retain their
|
||||||
|
softness and prevent them from becoming overly crisp. Repeat the cooking
|
||||||
|
process for the remaining dough.
|
||||||
|
|
||||||
|
\item[Serving suggestion:] Enjoy your sourdough flatbreads warm, paired with
|
||||||
|
your favorite dips, spreads, or as a side to any meal.
|
||||||
|
|
||||||
|
\end{description}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 626 KiB |
@@ -913,7 +913,12 @@ as rough ballpark figures. Regardless, you need to find values
|
|||||||
that work for your setup.
|
that work for your setup.
|
||||||
|
|
||||||
Another limitation is the price. You will need to purchase
|
Another limitation is the price. You will need to purchase
|
||||||
a high-tech pH meter, ideally, a meter featuring a spearhead.
|
a high-tech pH meter, ideally, a meter featuring a spearhead
|
||||||
|
\footnote{Not every pH meter is suitable for measuring dough.
|
||||||
|
Please refer to the manual to make sure it is certified for
|
||||||
|
measuring the pH of liquid and semi-solid media. To receive
|
||||||
|
accurate pH readings further ensure that your pH meter
|
||||||
|
is properly calibrated.}.
|
||||||
This way you can directly poke the meter deep into the dough.
|
This way you can directly poke the meter deep into the dough.
|
||||||
At the same time, automated temperature adjustments are a
|
At the same time, automated temperature adjustments are a
|
||||||
feature to look out for. Depending on the temperature,
|
feature to look out for. Depending on the temperature,
|
||||||
|
|||||||
6
makefile
6
makefile
@@ -5,6 +5,7 @@ DOCKER_CMD := docker run --rm -it -v $(PWD):/opt/repo --platform linux/x86_64 $(
|
|||||||
|
|
||||||
.PHONY: bake build_pdf build_docker_image push_docker_image validate website
|
.PHONY: bake build_pdf build_docker_image push_docker_image validate website
|
||||||
.PHONY: print_os_version start_shell printvars show_tools_version mrproper
|
.PHONY: print_os_version start_shell printvars show_tools_version mrproper
|
||||||
|
.PHONY: build_serif_pdf build_ebook booklet
|
||||||
|
|
||||||
# Dockers targets
|
# Dockers targets
|
||||||
build_docker_image:
|
build_docker_image:
|
||||||
@@ -24,11 +25,14 @@ build_pdf:
|
|||||||
$(DOCKER_CMD) "cd /opt/repo/book && make"
|
$(DOCKER_CMD) "cd /opt/repo/book && make"
|
||||||
|
|
||||||
bake:
|
bake:
|
||||||
$(DOCKER_CMD) "cd /opt/repo/book && make -j bake"
|
$(DOCKER_CMD) "cd /opt/repo/book && make bake"
|
||||||
|
|
||||||
website:
|
website:
|
||||||
$(DOCKER_CMD) "cd /opt/repo/book && make website"
|
$(DOCKER_CMD) "cd /opt/repo/book && make website"
|
||||||
|
|
||||||
|
booklet:
|
||||||
|
$(DOCKER_CMD) "cd /opt/repo/book && make build_booklet"
|
||||||
|
|
||||||
mrproper:
|
mrproper:
|
||||||
$(DOCKER_CMD) "cd /opt/repo/book && make mrproper"
|
$(DOCKER_CMD) "cd /opt/repo/book && make mrproper"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user