Skip to content

Commit

Permalink
Merge branch 'main' into fix_warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
cedounet committed Jun 16, 2024
2 parents 1b99fbe + 044ed02 commit cf93577
Show file tree
Hide file tree
Showing 9 changed files with 277 additions and 56 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release-book-website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
options: -v ${{ github.workspace }}:/app
run: |
cd /app/book
make -j bake
make bake
- name: Release baked book to S3
uses: shallwefootball/s3-upload-action@master
with:
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

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

Head over to [https://www.the-sourdough-framework.com](https://www.the-sourdough-framework.com)
Expand Down
174 changes: 174 additions & 0 deletions book/booklet.tex
Original file line number Diff line number Diff line change
@@ -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}
53 changes: 3 additions & 50 deletions book/bread-types/bread-types.tex
Original file line number Diff line number Diff line change
Expand Up @@ -242,57 +242,10 @@ \subsection{Simple flatbread recipe}%
wrapping a flavorful filling, or simply enjoying a piece with a drizzle
of olive oil, these flatbreads are sure to impress.

\subsubsection*{Ingredients}
\input{recipes/flat-bread.tex}

\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}
\section{Loaf pan bread}
\section{Loaf pan bread}%
\label{sec:loaf-pan-bread}

Loaf pan bread is made using the help of a special loaf pan
or loaf tin. The edges of the pan provide additional support
Expand Down
31 changes: 28 additions & 3 deletions book/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,12 @@ chapters = baking basics bread-types cover flour-types history intro mix-ins\

src_tables := $(wildcard tables/table-*.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 += book.tex book_sans_serif.tex references.bib figures/vars.tex
src_tex += supporters.csv sourdough.sty colors.tex
src_tex += $(src_recipes)

images := $(wildcard images/*/*.jpg)
images += $(wildcard images/*.jpg)
Expand All @@ -55,6 +57,11 @@ ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.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/*)
ruby_src := ../website/modify_build.rb $(website_assets)
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
Expand Down Expand Up @@ -83,6 +90,9 @@ tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
%.xbb: %.jpg
ebb -x $<

booklet/booklet.pdf: $(booklet_src)
$(LATEX) -output-directory=booklet booklet.tex

book_serif/book.pdf: $(src_all)
$(LATEX) -output-directory=book_serif book.tex

Expand All @@ -97,7 +107,7 @@ epub/%.epub: %.tex $(ebook_src) cover/cover-page.xbb
copy_ebook_files: build_ebook
$(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
bw-book-epub/OEBPS/%.jpg: %.jpg
mkdir -p $(dir $@)
Expand Down Expand Up @@ -140,6 +150,8 @@ help:
@echo ""
@echo "build_ebook: builds only the colour ebook"
@echo ""
@echo "build_booklet: builds only the short booklet"
@echo ""
@echo "build_bw_ebook: builds the low res black & white ebook"
@echo ""
@echo "build_sans_serif_pdf: build accessible pdf only"
Expand All @@ -160,6 +172,8 @@ help:
@echo ""
@echo "quick_ebook: compiles ebook but runs lulatex only once"
@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 ""
@echo "print-X: print makefile variable X"
Expand All @@ -170,10 +184,12 @@ help:


# 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_booklet: booklet/booklet.pdf

build_serif_pdf: book_serif/book.pdf

build_sans_serif_pdf: book_sans_serif/book_sans_serif.pdf
Expand Down Expand Up @@ -221,6 +237,7 @@ clean_website_build: clean_ebook_build
clean: clean_ebook_build clean_figures clean_website_build
$(CLEAN) -output-directory=book_serif book.tex
$(CLEAN) -output-directory=book_sans_serif book_sans_serif.tex
$(CLEAN) -output-directory=booklet booklet.tex
-rm book*/*.{bbl,loc,.run.xml}
-rm -rf *book-epub/META-INF
-rm -rf *book-epub/OEBPS
Expand All @@ -230,20 +247,22 @@ mrproper: clean
$(CLEAN) -C $(src_figures)
$(CLEAN) -C -output-directory=book_serif book.tex
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
$(CLEAN) -C -output-directory=booklet booklet.tex
-rm figures/*.png
-rm *.html
-rm *.svg
-rm -rf epub/
-rm -rf release/
-rm -rf book_serif/
-rm -rf book_sans_serif/
-rm -rf booklet/
-rm -rf *book-epub/
-rm -rf $(website_dir)

# top level releases rules
.PHONY: bake release_serif release_sans_serif

bake: release_serif release_sans_serif
bake: release_serif release_sans_serif release_booklet

release:
mkdir -p release
Expand All @@ -256,6 +275,9 @@ release_serif: build_serif_pdf build_ebook build_bw_ebook | 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

release_booklet: build_booklet | release
cp booklet/booklet.pdf release/TheBreadCode-The-Sourdough-Framework-booklet.pdf

# Website stuff
.PHONY: html website
$(website_dir)/book.html: $(website_src) cover/cover-page.xbb
Expand Down Expand Up @@ -283,6 +305,9 @@ website: html ../website/_bundle_install_done $(ruby_src)
quick: # run latex only once no biber, no references etc...
$(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...
$(EBOOK) --mode draft book.tex

Expand Down
Loading

0 comments on commit cf93577

Please sign in to comment.