2 Commits

Author SHA1 Message Date
Hendrik Kleinwaechter
a9dec4047f Merge 4160557857 into 8b83e1c5b6 2025-03-11 17:35:38 +00:00
Hendrik Kleinwaechter
4160557857 Clarify baking
This clarifies the temperatures that can be achieved during the baking
process.
2024-05-03 16:06:15 +02:00
13 changed files with 136 additions and 45 deletions

View File

@@ -65,16 +65,15 @@ jobs:
run: |
cd /app/book
make -j -O bake
- name: Copy book to downloads server
uses: burnett01/rsync-deployments@7.0.2
- name: Release baked book to S3
uses: shallwefootball/s3-upload-action@master
with:
switches: "-avzr"
remote_host: ${{ secrets.SSH_HOST }}
remote_user: ${{ secrets.SSH_USERNAME }}
remote_key: ${{ secrets.SSH_KEY }}
path: "book/release/*"
remote_path: "~/downloads/the-sourdough-framework/"
- name: Upload book artifacts to GitHub
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET_BOOK }}
source_dir: book/release
destination_dir: release
- name: Upload book Artifacts
uses: actions/upload-artifact@v4
with:
name: books
@@ -82,17 +81,36 @@ jobs:
book/book_serif/book.log
book/book_serif/book.pdf
book/book-epub/book.epub
- name: Copy website to downloads server
uses: burnett01/rsync-deployments@7.0.2
- name: Release baked website to S3
uses: shallwefootball/s3-upload-action@master
with:
switches: "-avzr --delete"
remote_host: ${{ secrets.SSH_HOST }}
remote_user: ${{ secrets.SSH_USERNAME }}
remote_key: ${{ secrets.SSH_KEY }}
path: "website/static_website_html/*"
remote_path: "~/the-sourdough-framework/"
- name: Upload website artifacts to GitHub
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: ${{ secrets.AWS_BUCKET_WEBSITE }}
source_dir: website/static_website_html
destination_dir: static_html_root
- name: Upload website Artifacts
uses: actions/upload-artifact@v4
with:
name: website
path: website/static_website_html
path: website/static_website_html
invalidate-book-website-cache:
needs: release-book-website
runs-on: ubuntu-latest
steps:
- name: Invalidate Cloudfront book cache
uses: chetan/invalidate-cloudfront-action@v2
env:
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_BOOK }}
PATHS: "/*"
AWS_REGION: "us-east-1"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Invalidate Cloudfront website cache
uses: chetan/invalidate-cloudfront-action@v2
env:
DISTRIBUTION: ${{ secrets.CLOUDFRONT_DISTRIBUTION_WEBSITE }}
PATHS: "/*"
AWS_REGION: "us-east-1"
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

View File

@@ -41,7 +41,7 @@ jobs:
run: |
cd /app/book
make -j -O serif ebook website
- name: Upload book artifacts to GitHub
- name: Upload book Artifacts
uses: actions/upload-artifact@v4
with:
name: books
@@ -49,7 +49,7 @@ jobs:
book/book_serif/book.log
book/book_serif/book.pdf
book/book-epub/book.epub
- name: Upload website artifacts to GitHub
- name: Upload website Artifacts
uses: actions/upload-artifact@v4
with:
name: website

View File

@@ -39,10 +39,16 @@ for oven spring as it retains the gas inside your dough.
At around \qty{100}{\degreeCelsius} (\qty{212}{\degF}) the water starts to evaporate out of your
dough. If this weren't the case, your dough would taste soggy and
doughy. The higher hydration your dough has, the more water your bread
doughy. The higher the hydration your dough has, the more water your bread
still contains after the bake, changing its consistency. As a result the
crumb is going to taste a bit more moist.
The water starts to boil out of the
dough. As the water evaporates the surrounding dough is being cooled.
For this reason, the internal temperature of the dough never exceeds the aforementioned
\qty{100}{\degreeCelsius} (\qty{212}{\degF}). The bread's crust can exceed the boiling point
and continues increasing in size from the outer layer inwards~\cite{bread+temperature+baking}.
Another often undervalued step is the evaporation of acids.
At~\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough
starts to evaporate.

View File

@@ -229,7 +229,7 @@ During World~War~II the first packaged dry yeast was developed. This would
ultimately allow bakeries and home bakers to make bread much faster and more
consistently. Thanks to pure yeast, building industrial bread making machines
was now possible. Provided you maintain the same temperature, same flour and
yeast strains fermentation became precisely reproducible. This ultimately led
yeast strains fermentation became precisely reproducible. This ultimately lead
to the development of giga bakeries and flour blenders. The bakeries demanded
the same flour from year to year to bake bread in their machines. For this
reason, none of the supermarket flour you buy today is single origin. It is

View File

@@ -35,21 +35,21 @@ chapters = baking basics bread-types cover flour-types history intro mix-ins\
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
wheat-sourdough glossary
# Actual book text and LaTeX code {{{
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 abbreviations.tex
src_tex += $(src_recipes)
# }}}
# Tables and TikZ flowcharts/plots/drawings... {{{
src_tables := $(wildcard tables/table-*.tex)
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex figures/vars.tex
src_figures := $(wildcard figures/fig-*.tex) figures/flowcharts_tikz.tex
src_figures += $(wildcard plots/fig-*.tex) abbreviations.tex colors.tex
src_recipes := $(wildcard recipes/*.tex)
src_plots := $(wildcard plots/*.table)
# }}}
# Actual book text and LaTeX code {{{
src_tex := $(foreach directory, $(chapters), $(wildcard $(directory)/*.tex))
src_tex += book.tex book_sans_serif.tex colors.tex abbreviations.tex
src_tex += $(src_recipes) supporters.csv references.bib
src_tex += sourdough.sty
# }}}
tgt_figures := $(patsubst %.tex, %.png,$(src_figures))
# Photos {{{
@@ -76,7 +76,7 @@ low_res_images := $(filter-out %.png, $(low_res_images))
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
# Format specific configuration files
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css nameref.4ht
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
website_src := $(src_all) website.cfg style.css
website_dir := static_website_html
@@ -97,7 +97,7 @@ ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
figures/export_figures.sh $@.pdf
%.xbb: %.jpg
extractbb -x $<
ebb -x $<
# }}}
# Pdf {{{
@@ -202,6 +202,27 @@ bw_ebook: epub/bw_book.epub
low_res_ebook: epub/low_res_book.epub
# }}}
# Old target names are disabled with helpful help message {{{
build_pdf:
@echo "build_pdf target is not supported anymore, please use make pdf"
@exit
build_serif_pdf:
@echo "build_serif_pdf target is not supported anymore, please use make serif"
@exit
build_sans_serif_pdf:
@echo "build_sans_serif_pdf target is not supported anymore, please use make sans_serif"
@exit
build_ebook:
@echo "build_ebook target is not supported anymore, please use make ebook"
@exit
build_bw_ebook:
@echo "build_bw_ebook target is not supported anymore, please use make bw_ebook"
@exit
build_low_res_ebook:
@echo "build_low_res_ebook target is not supported anymore, please use make low_res_ebook"
@exit
# }}}
# Top level releases rules {{{
.PHONY: bake release_serif release_sans_serif
bake: release_serif release_sans_serif website
@@ -305,8 +326,7 @@ help:
@echo "figures: build TikZ figures only"
@echo ""
@echo "Quick builds:"
@echo " quick: compiles serif but runs lulatex only once"
@echo " will halt on first error"
@echo " quick: compiles serif_pdf but runs lulatex only once"
@echo " quick_ebook: compiles ebook but runs lulatex only once"
@echo ""
@echo "Checks:"

View File

@@ -448,6 +448,13 @@
note = {Accessed: 2023-02-03}
}
@article{bread+temperature+baking,
author = {Athanasius},
title = {What is the maximum internal temperature of baked goods?},
url = {https://cooking.stackexchange.com/questions/54068/what-is-the-maximum-internal-temperature-of-baked-goods},
note = {Accessed: 2023-03-03}
}
@misc{wheat+kernel,
author = {W. Berghoff},
title = {A wheat kernel and its nutritional value.},

View File

@@ -4,7 +4,7 @@
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,
it's a very simple way to write a recipe which
it's a very simple way how to write a recipe which
is cleaner and more scalable. Once you get the hang
of it you will want to write every recipe this way.
You will learn to understand the signs indicating
@@ -125,7 +125,7 @@ values are just shown as a reference.
Don't use chlorinated water when setting up your starter.
Ideally, you should use bottled water. In certain regions
like Germany, tap water is perfectly fine. Chlorine is added
to water as a disinfectant to kill microorganisms; you will
to water as a disinfectant to kill microorganisms, you will
not be able to grow a starter with chlorinated water.
In this process, the hydration of your starter is \qty{100}{\percent}.

View File

@@ -19,4 +19,27 @@
font-family: 'Open Sans';
}
</style>}}
% Deal with chemical equations in a single svg
\ExplSyntaxOn
\def\standaloneenv#1{}
\pend:def\schemestart{\Picture+{}}
\append:def\CF_schemestop{\EndPicture}
\ExplSyntaxOff
\makeatletter
\def\texfourht@tikz@begin{
\protect\csname nested:math\endcsname% support display math
\Picture+[\csname a:Picture-alt\endcsname]{}%
}
\makeatother
% Warnig from Michal: Note that once you get the updated TeX Live with a new
% `chemfig.4ht` file, you can remove this from the config file:
%
%```latex \pend:def\schemestart{\Picture+{}}
%\append:def\CF_schemestop{\EndPicture} ```
%
%You could get an error otherwise, as there would be nested `\Picture+{}` and
%`\EndPicture` commands.
\EndPreamble

View File

@@ -300,7 +300,7 @@ Similar to baking too hot, when baking without enough steam, your dough's crust
forms too quickly. It's hard to spot the difference between the two mistakes.
I~typically first ask about the temperature and then about the steaming technique
to determine what might be wrong with the baking process. Too little steam can
typically be spotted by having a thick crust all around your dough paired
typically be spotted by having a thick crust around all around your dough paired
with large alveoli towards the edges.
The steam essentially prevents the Maillard reaction from happening too quickly

View File

@@ -47,5 +47,17 @@
}
\ConfigureToc{loc}{\HCode{<span class="lofToc">}}{\ }{}{\HCode{</span><br />}}
\ExplSyntaxOn
\def\standaloneenv#1{}
\pend:def\schemestart{\Picture+{}}
\append:def\CF_schemestop{\EndPicture}
\ExplSyntaxOff
\makeatletter
\def\texfourht@tikz@begin{
\protect\csname nested:math\endcsname% support display math
\Picture+[\csname a:Picture-alt\endcsname]{}%
}
\makeatother
\begin{document}
\EndPreamble

View File

@@ -1,11 +1,11 @@
.DEFAULT_GOAL := pdf
.DEFAULT_GOAL := build_pdf
DOCKER_IMAGE := ghcr.io/hendricius/the-sourdough-framework
DOCKER_CMD := docker run --rm -it -v $(PWD):/opt/repo --platform linux/x86_64 $(DOCKER_IMAGE) /bin/bash -c
.PHONY: build_docker_image push_docker_image
.PHONY: bake build_pdf build_docker_image push_docker_image validate website
.PHONY: print_os_version start_shell printvars show_tools_version mrproper
.PHONY: ebook serif website bake
.PHONY: build_serif_pdf build_ebook
# Dockers targets
build_docker_image:
@@ -15,8 +15,8 @@ push_docker_image: build_docker_image
docker push $(DOCKER_IMAGE):latest
# Books/website
serif:
$(DOCKER_CMD) "cd /opt/repo/book && make serif"
serif_pdf:
$(DOCKER_CMD) "cd /opt/repo/book && make serif_pdf"
ebook:
$(DOCKER_CMD) "cd /opt/repo/book && make ebook"
@@ -45,3 +45,8 @@ print_os_version:
start_shell:
docker run -it -v $(PWD):/opt/repo $(DOCKER_IMAGE) /bin/bash
# Old names for backward compatibility
build_serif_pdf: serif_pdf
build_ebook: ebook
build_pdf: pdf

View File

@@ -1 +1 @@
3.3.8
3.3.7

View File

@@ -23,7 +23,7 @@ DEPENDENCIES
pry
RUBY VERSION
ruby 3.3.8
ruby 3.3.7p123
BUNDLED WITH
2.4.12