mirror of
https://github.com/hendricius/the-sourdough-framework
synced 2026-03-10 23:17:15 -05:00
Compare commits
6 Commits
2ebd254d78
...
749953ea51
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
749953ea51 | ||
|
|
7db993a176 | ||
|
|
a57da7815a | ||
|
|
dba0296939 | ||
|
|
0c3f503c5d | ||
|
|
53c4c32acd |
13
README.md
13
README.md
@@ -84,12 +84,15 @@ size. This shrinks the book from more than 20MB 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 information 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:
|
||||
For those who prefer a concise reference (about 15 pages), we offer a "too long;didn't read" (TL;DR)
|
||||
version. This condensed guide contains the essential flowcharts, crucial information,
|
||||
and space for your notes - perfect for quick kitchen reference.
|
||||
It provides the key information you need without reading the complete book.
|
||||
|
||||
* [Download a condensed version](https://www.the-bread-code.io/booklet.pdf)
|
||||
* [Read TL;DR version on your device](https://the-bread-code.io/book-tldr-print.pdf)
|
||||
* [Download TL;DR version for printing](https://the-bread-code.io/book-tldr-digital.pdf)
|
||||
|
||||
We recommend using double-sided printing if your printer supports it.
|
||||
|
||||
## Online HTML version
|
||||
|
||||
|
||||
@@ -75,12 +75,13 @@ is used to create sugars out of the starch to then produce more plant matter.
|
||||
Normally,
|
||||
the microorganisms on the surface of the grain can't consume the freed maltose
|
||||
molecules, which remain hidden inside the germ. But as we grind the flour, a
|
||||
feeding frenzy takes place. Generally, the warmer the temperature, the faster
|
||||
this reaction occurs. That's why a long fermentation is key to making great
|
||||
bread. It takes time for the amylase to break down most of the starch into
|
||||
simple sugars, which are not only consumed by the yeast but are also essential
|
||||
to the \emph{Maillard reaction}, responsible for enhanced browning during the
|
||||
baking process.
|
||||
feeding frenzy takes place. Generally, the warmer the temperature, the faster
|
||||
this reaction occurs. However, it takes time for the amylase
|
||||
to break down most of the starch into simple sugars---which are not only
|
||||
consumed by the yeast but are also
|
||||
essential to the \emph{Maillard reaction}---responsible for
|
||||
enhanced browning during the baking process.
|
||||
That's why a long fermentation is key to making great bread.
|
||||
|
||||
If you're a hobby brewer, you'll know that it's important to keep your beer at
|
||||
certain temperatures to allow the different amylases to convert the contained
|
||||
|
||||
174
book/booklet.tex
174
book/booklet.tex
@@ -1,174 +0,0 @@
|
||||
\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 flour 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.
|
||||
Ultimately 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}
|
||||
@@ -84,11 +84,6 @@ website_assets := $(wildcard ../website/assets/*)
|
||||
ruby_src := ../website/modify_build.rb $(website_assets)
|
||||
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
|
||||
|
||||
# This is more than what is actually needed but keeps the makefile simple
|
||||
booklet_src := $(src_figures) $(src_tables) $(src_recipes) $(images)
|
||||
booklet_src += booklet.tex
|
||||
# }}}
|
||||
|
||||
# Flowcharts {{{
|
||||
# TODO: check if it works on github CI
|
||||
%.png: %.tex
|
||||
@@ -113,12 +108,6 @@ book_serif/book.pdf: $(src_all)
|
||||
|
||||
book_sans_serif/book_sans_serif.pdf: $(src_all)
|
||||
$(LATEX) -output-directory=book_sans_serif book_sans_serif.tex
|
||||
|
||||
# We don't want to use latexmk as there is no biber nor references and it
|
||||
# seems to make it somehow unhappy
|
||||
booklet/booklet.pdf: $(booklet_src)
|
||||
mkdir -p booklet
|
||||
lualatex --output-directory=booklet booklet.tex
|
||||
# }}}
|
||||
|
||||
# Ebook {{{
|
||||
@@ -199,11 +188,10 @@ export_figures: pdf $(tgt_figures)
|
||||
all: bake
|
||||
|
||||
# Finally actual project targets (i.e. build pdf and ebooks)
|
||||
.PHONY: pdf booklet serif sans_serif ebook
|
||||
.PHONY: pdf serif sans_serif ebook
|
||||
|
||||
pdf: serif sans_serif
|
||||
|
||||
booklet: booklet/booklet.pdf
|
||||
serif: book_serif/book.pdf
|
||||
sans_serif: book_sans_serif/book_sans_serif.pdf
|
||||
|
||||
@@ -213,7 +201,6 @@ low_res_ebook: epub/low_res_book.epub
|
||||
|
||||
# We keep the old target names for backward compatibility
|
||||
build_pdf: pdf
|
||||
build_booklet: booklet
|
||||
build_serif_pdf: serif
|
||||
build_sans_serif_pdf: sans_serif
|
||||
build_ebook: ebook
|
||||
@@ -222,7 +209,7 @@ build_low_res_ebook: low_res_ebook
|
||||
|
||||
# top level releases rules
|
||||
.PHONY: bake release_serif release_sans_serif
|
||||
bake: release_serif release_sans_serif release_booklet website
|
||||
bake: release_serif release_sans_serif website
|
||||
|
||||
release:
|
||||
mkdir -p release
|
||||
@@ -239,9 +226,6 @@ release_serif: serif ebook bw_ebook low_res_ebook | release
|
||||
|
||||
release_sans_serif: sans_serif | release
|
||||
cp book_sans_serif/book_sans_serif.pdf release/TheBreadCode-The-Sourdough-Framework-sans-serif.pdf
|
||||
|
||||
release_booklet: booklet | release
|
||||
cp booklet/booklet.pdf release/TheBreadCode-The-Sourdough-Framework-booklet.pdf
|
||||
# }}}
|
||||
|
||||
# Clean up {{{
|
||||
@@ -274,20 +258,17 @@ clean_website_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}
|
||||
|
||||
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 -rf epub/
|
||||
-rm -rf release/
|
||||
-rm -rf book_serif/
|
||||
-rm -rf book_sans_serif/
|
||||
-rm -rf booklet/
|
||||
-rm -rf *book-epub/
|
||||
-rm -rf epub_build/
|
||||
-rm -rf website_build/
|
||||
@@ -338,7 +319,6 @@ help:
|
||||
@echo "Quick builds:"
|
||||
@echo " quick: compiles serif_pdf but runs lulatex only once"
|
||||
@echo " quick_ebook: compiles ebook but runs lulatex only once"
|
||||
@echo " quick_booklet: compiles booklet but runs lulatex only once"
|
||||
@echo ""
|
||||
@echo "Checks:"
|
||||
@echo " tex-check: runs static analysis checker on LaTeX source to spot"
|
||||
@@ -383,9 +363,6 @@ spell-check: $(src_tex) spelling_exceptions.txt
|
||||
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
|
||||
|
||||
|
||||
BIN
book/sourdough-starter/sourdough-starter-microbial-war-i.jpg
Normal file
BIN
book/sourdough-starter/sourdough-starter-microbial-war-i.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 248 KiB |
BIN
book/sourdough-starter/sourdough-starter-microbial-war-ii.jpg
Normal file
BIN
book/sourdough-starter/sourdough-starter-microbial-war-ii.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 266 KiB |
@@ -1,6 +1,15 @@
|
||||
\chapter{Making a sourdough starter}%
|
||||
\label{chapter:sourdough-starter}
|
||||
\begin{quoting}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{sourdough-starter-activity-indicators}
|
||||
\caption[Very active sourdough]{A very active sourdough starter shown by the
|
||||
bubbles in the dough.}%
|
||||
\label{fig:sourdough-starter}
|
||||
\end{figure}
|
||||
|
||||
In this chapter you will learn how to make your
|
||||
own sourdough starter, but before doing so you will
|
||||
quickly learn about baker's math. Don't worry,
|
||||
@@ -12,6 +21,8 @@ your starter's readiness, as well as
|
||||
how to prepare your starter for long-term storage.
|
||||
\end{quoting}
|
||||
|
||||
%\iffalse
|
||||
|
||||
\section{Baker's math}%
|
||||
\label{section:bakers-math}
|
||||
|
||||
@@ -80,20 +91,23 @@ hungry family arrives. You are tasked with making pasta
|
||||
for \num{20} people. How would you calculate the amount of sauce
|
||||
you need? You go to the internet and check a recipe and then
|
||||
are completely lost when trying to scale it up.
|
||||
% \fi
|
||||
|
||||
\section{The process of making a starter}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{sourdough-starter-activity-indicators}
|
||||
\caption[Very active sourdough]{A very active sourdough starter shown by the
|
||||
bubbles in the dough.}%
|
||||
\label{fig:sourdough-starter}
|
||||
\end{figure}
|
||||
|
||||
Making a sourdough starter is very easy, all you need
|
||||
is a little bit of patience. It is in fact so easy that it can be summarized
|
||||
in a simple flowchart~\ref{fig:sourdough-starter-process} The flour you should
|
||||
in a simple flowchart~\ref{fig:sourdough-starter-process}.
|
||||
|
||||
\begin{flowchart}[!htb]
|
||||
\centering
|
||||
\input{figures/fig-starter-process.tex}
|
||||
\caption[The full sourdough starter process]{The process of making a sourdough
|
||||
starter from scratch.}%
|
||||
\label{fig:sourdough-starter-process}
|
||||
\end{flowchart}
|
||||
|
||||
The flour you should
|
||||
use to bootstrap your starter is ideally a whole flour.
|
||||
You could use whole-wheat, whole-rye, whole-spelt or
|
||||
any other flour you have. In fact gluten free flours such
|
||||
@@ -131,14 +145,6 @@ not airtight. You still want some gas exchange to be possible.
|
||||
I~like to use a glass and place another
|
||||
inverted one on top.
|
||||
|
||||
\begin{flowchart}[!htb]
|
||||
\centering
|
||||
\input{figures/fig-starter-process.tex}
|
||||
\caption[The full sourdough starter process]{The process of making a sourdough
|
||||
starter from scratch.}%
|
||||
\label{fig:sourdough-starter-process}
|
||||
\end{flowchart}
|
||||
|
||||
Now an epic battle begins. In one study~\cite{yeasts+biocontrol+agent}
|
||||
scientists have identified more than \num{150}~different yeast species living
|
||||
on a single leaf of a plant.
|
||||
@@ -147,6 +153,14 @@ the upper hand in this battle. Other pathogens such as mold
|
||||
are also being activated as we added water. Only the strongest
|
||||
most adaptable microorganisms will survive.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{sourdough-starter-microbial-war-i}
|
||||
\caption[Microbial warfare during sourdough early days]{A simple
|
||||
visualization of the microbial warfare that happens during the early days of making of
|
||||
a sourdough starter.}
|
||||
\label{fig:sourdough-starter-microbial-war-i}
|
||||
\end{figure}
|
||||
|
||||
By adding water to the
|
||||
flour the starches start to degrade. The seedling tries to
|
||||
sprout but it no longer can. Essential for this process is the
|
||||
@@ -188,20 +202,6 @@ days my new starter seems to be quite alive already. This might
|
||||
be due to previous contamination of flour fermenting microbes in
|
||||
my kitchen.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{sourdough-starter-microbial-war}
|
||||
\caption[Microbial warfare during sourdough early days]{A simple
|
||||
visualization of the microbial warfare that happens during the making of
|
||||
a sourdough starter. The wild spores on the plant and flour become
|
||||
activated the moment flour and water is mixed. Only the most adapted
|
||||
flour-fermenting microbes will survive. Because of unwanted microbial
|
||||
fermentation it is advised to discard the feeding-leftovers of the first
|
||||
days. The surviving yeast and bacteria continuously try to outcompete
|
||||
each other for resources. New microbes have a hard time entering the
|
||||
starter and are eliminated.}%
|
||||
\label{fig:sourdough-starter-microbial-war}
|
||||
\end{figure}
|
||||
|
||||
Wait for around 24~hours and observe what happens to your starter.
|
||||
You might see some early signs of fermentation already. Use your nose
|
||||
to smell the dough. Look for bubbles in the dough. Your dough
|
||||
@@ -252,6 +252,14 @@ great option if the starter was accidentally depleted. A practical approach
|
||||
is to store all discard in a single jar in the fridge, adding new discard on
|
||||
top as needed and using it whenever required.}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{sourdough-starter-microbial-war-ii}
|
||||
\caption[Microbial warfare during sourdough later days]{A simple
|
||||
visualization of the microbial warfare that happens during the later days of making of
|
||||
a sourdough starter.}
|
||||
\label{fig:sourdough-starter-microbial-war-ii}
|
||||
\end{figure}
|
||||
|
||||
You should hopefully again see some bubbles, the starter increasing
|
||||
in size and/or the starter changing its smell. Some people give
|
||||
up after the second or third day, because the signs might no longer
|
||||
|
||||
@@ -535,6 +535,22 @@ figure.figure p.noindent {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
main.main-content h2.chapterHead.home-content-title {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.download-description {
|
||||
font-weight: var(--fw-bold);
|
||||
}
|
||||
|
||||
.download-links {
|
||||
p.indent, p.noindent {
|
||||
text-align: unset;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.header {
|
||||
display: none;
|
||||
|
||||
5
makefile
5
makefile
@@ -5,7 +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: print_os_version start_shell printvars show_tools_version mrproper
|
||||
.PHONY: build_serif_pdf build_ebook booklet
|
||||
.PHONY: build_serif_pdf build_ebook
|
||||
|
||||
# Dockers targets
|
||||
build_docker_image:
|
||||
@@ -30,9 +30,6 @@ bake:
|
||||
website:
|
||||
$(DOCKER_CMD) "cd /opt/repo/book && make website"
|
||||
|
||||
booklet:
|
||||
$(DOCKER_CMD) "cd /opt/repo/book && make booklet"
|
||||
|
||||
mrproper:
|
||||
$(DOCKER_CMD) "cd /opt/repo/book && make mrproper"
|
||||
|
||||
|
||||
@@ -626,15 +626,16 @@ class ModifyBuild
|
||||
Creating this book has been a labor of love. My
|
||||
main goal has always been to spread the joy of baking and empower bread
|
||||
enthusiasts like yourself. To ensure that the book remains accessible
|
||||
to everyone, I have decided to make it available as a free digital download.
|
||||
to everyone, I have decided to make it available free of charge.
|
||||
</p>
|
||||
|
||||
<a href="bread.jpg">
|
||||
<img alt="One of my best Sourdough Breads" class="home-bread" src="bread.jpg" />
|
||||
</a>
|
||||
|
||||
<h2 class="chapterHead home-content-title">⭐ Support this project</h2>
|
||||
<p class="noindent">
|
||||
However, producing and maintaining resources like this requires
|
||||
Producing and maintaining resources like this requires
|
||||
considerable time, effort, and financial investment. If you find value
|
||||
in "The Sourdough Framework" and appreciate the effort that went into
|
||||
creating it, I kindly request your support <a href="https://breadco.de/book">
|
||||
@@ -646,18 +647,7 @@ class ModifyBuild
|
||||
<p class="noindent">
|
||||
Your generous contribution will not only help me cover the costs associated
|
||||
with this project but will also enable me to continue creating more valuable
|
||||
content in the future.
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
If you feel inspired to contribute, please consider making a donation of
|
||||
any amount through <a href="https://breadco.de/book">my donation page</a>.
|
||||
Your support will go a long way in ensuring
|
||||
that this knowledge can reach even more bread enthusiasts worldwide.
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
Remember, your donation is entirely voluntary and any amount you
|
||||
content in the future. Your donation is entirely voluntary and any amount you
|
||||
contribute is deeply appreciated. If you are unable to make a donation at
|
||||
this time, please know that your readership and support in spreading the
|
||||
word about "The Sourdough Framework" are invaluable contributions as well.
|
||||
@@ -669,29 +659,33 @@ class ModifyBuild
|
||||
Together, we can continue to share the love of baking and cultivate a
|
||||
community passionate about the art of sourdough.
|
||||
</p>
|
||||
|
||||
<h2 class="chapterHead home-content-title">⬇️ Versions</h2>
|
||||
<p class="noindent">
|
||||
You can either browse through this page or download the full book directly:
|
||||
</p>
|
||||
<p class="noindent">
|
||||
PDF: <a href="https://www.the-bread-code.io/book.pdf">https://www.the-bread-code.io/book.pdf</a><br>
|
||||
PDF (no serif): <a href="https://www.the-bread-code.io/book-sans-serif.pdf">https://www.the-bread-code.io/book-sans-serif.pdf</a>
|
||||
You can either browse through this website or download the full book to read it on your preferred device:
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
EPUB: <a href="https://www.the-bread-code.io/book.epub">https://www.the-bread-code.io/book.epub</a><br>
|
||||
EPUB in Black & White, size optimized for screen readers : <a href="https://www.the-bread-code.io/bw-book.epub">https://www.the-bread-code.io/bw-book.epub</a><br>
|
||||
</p>
|
||||
<div class="download-links">
|
||||
<p class="noindent">
|
||||
<span class="download-description">PDF:</span> <a href="https://www.the-bread-code.io/book.pdf">https://www.the-bread-code.io/book.pdf</a><br>
|
||||
<span class="download-description">PDF (no serif):</span> <a href="https://www.the-bread-code.io/book-sans-serif.pdf">https://www.the-bread-code.io/book-sans-serif.pdf</a>
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
<span class="download-description">EPUB:</span> <a href="https://www.the-bread-code.io/book.epub">https://www.the-bread-code.io/book.epub</a><br>
|
||||
<span class="download-description">EPUB black & white:</span> <a href="https://www.the-bread-code.io/bw-book.epub">https://www.the-bread-code.io/bw-book.epub</a><br>
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
The full source code of the book can be found here:
|
||||
<a href="https://www.github.com/hendricius/the-sourdough-framework">https://www.github.com/hendricius/the-sourdough-framework</a>
|
||||
</p>
|
||||
<p class="noindent">
|
||||
<span class="download-description">Short TL;DR version:</span> <a href="https://the-bread-code.io/book-tldr-digital.pdf">https://the-bread-code.io/book-tldr-digital.pdf</a><br>
|
||||
<span class="download-description">Short TL;DR version (print):</span> <a href="https://the-bread-code.io/book-tldr-print.pdf">https://the-bread-code.io/book-tldr-print.pdf</a><br>
|
||||
</p>
|
||||
|
||||
<p class="noindent">
|
||||
There's also a hardcover version of the book available featuring an even more awesome design. You can read more information here:
|
||||
<a href="https://www.breadco.de/hardcover-book">https://www.breadco.de/hardcover-book</a>
|
||||
</p>
|
||||
<p class="noindent">
|
||||
<span class="download-description">Sauce code:</span>
|
||||
<a href="https://www.github.com/hendricius/the-sourdough-framework">https://www.github.com/hendricius/the-sourdough-framework</a>. Contributions and improvements are highly appreciated!
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p class="noindent">
|
||||
Thank you and may the gluten be strong with you,<br>
|
||||
|
||||
Reference in New Issue
Block a user