7 Commits

Author SHA1 Message Date
itottogit
e3813c2cfa Merge dcc52806ef into 5bb5d8a48a 2025-03-08 15:38:07 +00:00
Ced
5bb5d8a48a Add missing target in low-res ebook copy
Some checks failed
Release the book and website / build-and-push-image (push) Has been cancelled
Release the book and website / release-book-website (push) Has been cancelled
Release the book and website / invalidate-book-website-cache (push) Has been cancelled
2025-03-05 16:49:59 +00:00
Ced
f64fc55977 Reintroduce the mkdir calls for real this time 2025-03-05 14:28:13 +00:00
Ced
3e02af03ad Reintroduce the mkdir calls
It was not dealing with subdirectories..
2025-03-05 14:17:01 +00:00
Ced
7da9f5b0ad Fix epub build and remove redudant mkdir calls
1) ebook was still using the old target
2) Do not call mkdir -p for every single image conversion
2025-03-05 13:56:42 +00:00
cedounet
19df1546f0 Disable old rules in makefile and other cleanup (#459)
Some checks are pending
Release the book and website / build-and-push-image (push) Waiting to run
Release the book and website / release-book-website (push) Blocked by required conditions
Release the book and website / invalidate-book-website-cache (push) Blocked by required conditions
Disable old rules in makefile and light cleanup

1) build_* now exit with an error message telling you what to do, this is
stage 2 of clean up

2) Fix the folding markers

3) reduce number of rm calls in clean targets

4) Improve git info, not just last commit hash

5) cleanup of spaces... to be more consistent
2025-03-05 11:16:05 +00:00
itottogit
dcc52806ef Update baking.tex
Evaporation happens at room temperature, too - therefore we cover doughs that rest before baking.
The inside of a loaf does not reach temps above 100 °C - unless you seriously overbake until you end up with a brick instead of a loaf.
2024-05-15 21:53:38 +02:00
2 changed files with 80 additions and 70 deletions

View File

@@ -37,24 +37,24 @@ At \qty{75}{\degreeCelsius} (\qty{167}{\degF}) the surface of your dough turns
holds together nicely but is still extensible. This gel is essential
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
As the dough warms up in the oven, the water starts to evaporate out of your
dough. If this weren't the case, your bread would come out soggy and
doughy. The higher the hydration of your dough, 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.
crumb will be somewhat moister.
Another often undervalued step is the evaporation of acids.
Another often undervalued step is the evaporation of acids from the crust.
At~\qty{118}{\degreeCelsius} (\qty{244}{\degF}) the acetic acid in your dough
starts to evaporate.
Shortly after at~\qty{122}{\degreeCelsius} (\qty{252}{\degF}) the lactic acid begins evaporating.
This is crucial to understand and it opens the door to many interesting
ways to influence your final bread's taste. As more and more water
begins to evaporate the acids in your dough become more concentrated.
There is less water but in relation you have more acids, therefore a shorter
evaporates the acids in your dough become more concentrated.
There is less water but in relation you have more acids, therefore a longer
bake will lead to a more tangy dough. The longer you bake the bread,
the more of the water evaporates, but also ultimately the acids will follow.
The longer you bake, the less sour your bread is going to be. By controlling
baking time you can influence which sourness level you would like to achieve.
baking time you can somewhat influence which sourness level you would like to achieve. Since the inside of the bread will never go above \qty{100}{\degreeCelsius} (\qty{212}{\degF}), acids cannot evaporate from there.
It would be a very interesting experiment to bake a bread at different exact
temperatures. How would a bread taste with only evaporated water but

View File

@@ -7,8 +7,8 @@ CHECK_1 := lacheck
CHECK_2 := chktex
CONVERT_PIC := convert
REDUCE_PIC := -resize '800x800>' \
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
-set colorspace Gray -separate -evaluate-sequence Mean
-strip -interlace Plane -gaussian-blur 0.05 -quality 85\% \
-set colorspace Gray -separate -evaluate-sequence Mean
REDUCE_PIC_COLOR := -quality 80\%
RSYNC := rsync -au --exclude 'book.epub' --exclude '*.jpg'
GIT := git --no-pager
@@ -30,7 +30,7 @@ endif
# and building everything take a long time.
.DEFAULT_GOAL := serif
# List all files that are dependencies {{{
# Dependencies {{{
chapters = baking basics bread-types cover flour-types history intro mix-ins\
non-wheat-sourdough sourdough-starter storing-bread troubleshooting\
wheat-sourdough glossary
@@ -75,15 +75,17 @@ low_res_images := $(filter-out %.png, $(low_res_images))
# All together.
src_all := $(src_tex) $(src_figures) $(src_tables) $(images) $(src_plots)
# And format specific configurations
# Format specific configuration files
ebook_src := $(src_all) tex4ebook.cfg book.mk4 book-ebook.css
website_src := $(src_all) website.cfg style.css
website_dir := static_website_html
website_assets := $(wildcard ../website/assets/*)
ruby_src := ../website/modify_build.rb $(website_assets)
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
# }}}
# Internal build rules {{{
# Flowcharts {{{
# TODO: check if it works on github CI
%.png: %.tex
@@ -98,7 +100,7 @@ ruby_pkg := ../website/Gemfile ../website/Gemfile.lock
ebb -x $<
# }}}
# pdf {{{
# Pdf {{{
# Default rules for pdf, getting overwritten when built in a sub-directory
%.pdf: %.tex
$(LATEX) $<
@@ -116,15 +118,15 @@ book_sans_serif/book_sans_serif.pdf: $(src_all)
epub/%.epub: %.tex $(ebook_src) cover/cover-page.xbb
$(EBOOK) $<
copy_ebook_files: build_ebook
copy_ebook_files: ebook
$(RSYNC) --exclude '*.png' epub_build/book-epub/ bw-book-epub/
# Now that we have built the ebook we will generate 2 more versions
# Now that we have built the ebook we will generate 2 more versions
#
# 1) With kindle app on phone we want a colour version with size < 50 MB
# 2) A black-white version for actual eink readers
# 1) With kindle app on phone we want a colour version with size < 50 MB
# 2) A black-white version for actual eink readers
#
# In both cases we just convert images and repack the ebpub
# In both cases we just convert images and repack the ebpub
# We do not convert SVG to B&W or lower res for now as they are super small
# anyway
@@ -151,7 +153,7 @@ low-res-book-epub/OEBPS/%.jpg: %.jpg
epub/low_res_book.epub: copy_ebook_files_low_res $(low_res_images)
cd low-res-book-epub; zip -q0X ../epub/low_res_book.epub mimetype
cd low-res-book-epub; zip -q9XrD ../epub/low_res_book.epub ./
#}}}
# }}}
# Website {{{
###################################
@@ -181,33 +183,47 @@ website: html ../website/_bundle_install_done $(ruby_src)
export_figures: pdf $(tgt_figures)
cd figures/ && bash export_figures.sh
# }}}
# }}}
# Now with the targets {{{
# Expected usual targets first
# User level targets {{{
# Build targets {{{
.PHONY: all
all: bake
# Finally actual project targets (i.e. build pdf and ebooks)
# Finally actual project targets (i.e. build pdf and ebooks)
.PHONY: pdf serif sans_serif ebook
pdf: serif sans_serif
serif: book_serif/book.pdf
sans_serif: book_sans_serif/book_sans_serif.pdf
ebook: epub/book.epub
bw_ebook: epub/bw_book.epub
low_res_ebook: epub/low_res_book.epub
# }}}
# We keep the old target names for backward compatibility
build_pdf: pdf
build_serif_pdf: serif
build_sans_serif_pdf: sans_serif
build_ebook: ebook
build_bw_ebook: bw_ebook
build_low_res_ebook: low_res_ebook
# 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
# Top level releases rules {{{
.PHONY: bake release_serif release_sans_serif
bake: release_serif release_sans_serif website
@@ -225,7 +241,7 @@ release_serif: serif ebook bw_ebook low_res_ebook | release
fi
release_sans_serif: sans_serif | 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
# }}}
# Clean up {{{
@@ -243,12 +259,9 @@ clean_figures:
clean_ebook_build:
-rm epub_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
-rm epub_build/book*.{idv,lg,loc,log,ncx,run.xml,tmp,xref}
-rm epub_build/{book.css,content.opf} epub_build/book-epub/mimetype
-rm epub_build/book*x.svg
-rm epub_build/book.css
-rm epub_build/content.opf
-rm epub_build/book-epub/mimetype
-rm -rf epub_build/book-epub/META-INF
-rm -rf epub_build/book-epub/OEBPS
-rm -rf epub_build/book-epub/META-INF epub_build/book-epub/OEBPS
clean_website_build:
-rm website_build/book*.{4ct,4tc,aux,bbl,bcf,blg,dvi,fdb_latexmk,fls,html}
@@ -265,15 +278,11 @@ mrproper: clean
$(CLEAN) -C -output-directory=book_serif book.tex
$(CLEAN) -C -output-directory=book_sans_serif book_sans_serif.tex
-rm figures/*.png
-rm -rf epub/
-rm -rf release/
-rm -rf book_serif/
-rm -rf book_sans_serif/
-rm -rf *book-epub/
-rm -rf epub_build/
-rm -rf website_build/
-rm -rf $(website_dir)
#}}}
-rm -rf book_serif/ book_sans_serif/
-rm -rf epub/ epub_build/ bw-book-epub/ low-res-book-epub/
-rm -rf website_build/ $(website_dir)
# }}}
# Help {{{
###################################
@@ -333,8 +342,9 @@ help:
@echo ""
@echo "set DEBUG i.e make DEBUG=1 ebook to add debug flags to commands"
# }}}
# }}}
# Debug Stuff from now on {{{
# Debug Stuff {{{
###################################
# Verify your spelling and TeX warnings {{{
@@ -360,54 +370,54 @@ spell-check: $(src_tex) spelling_exceptions.txt
.PHONY: quick quick_ebook show_tools_version printvars
# Those 2 targets allow fast debug cycles but not resolving references etc
# They also ignore dependencies and run each time you call them.
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
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
show_tools_version: # Show version of tools used on the build machine {{{
- $(GIT) log -1 --pretty=%B
show_tools_version: # Show version of tools used on the build machine {{{
-$(GIT) log -5 --pretty="%h: %s by %an on %as"
@echo ""
- uname -a
-uname -a
@echo ""
- $(SHELL) --version
-$(SHELL) --version
@echo ""
- @echo "PATH:"
- @echo $(PATH) | tr ':' '\n'
-@echo "PATH:"
-@echo $(PATH) | tr ':' '\n'
@echo ""
- latexmk --version
-latexmk --version
@echo ""
- lualatex --version
-lualatex --version
@echo ""
- tex4ebook --version
-tex4ebook --version
@echo ""
- make4ht --version
-make4ht --version
@echo ""
- tidy -version
-tidy -version
@echo ""
- dvisvgm --version
-dvisvgm --version
@echo ""
- lacheck | head -5 | tail -1
-lacheck | head -5 | tail -1
@echo ""
- chktex --version
-chktex --version
@echo ""
- make --version
-make --version
@echo ""
- biber -version
-biber -version
@echo ""
- ruby --version
-ruby --version
@echo ""
- $(CONVERT_PIC) --version
-$(CONVERT_PIC) --version
@echo ""
- rsync --version
-rsync --version
# }}}
# You can find the value of variable X with the following command:
# make print-X
print-%: ; @echo $* = $($*) # Print a makefile variable
print-%: ; @echo $* = $($*) # Print a makefile variable
printvars: # Print all variables in the makefile
printvars: # Print all variables in the makefile
@$(foreach V,$(sort $(.VARIABLES)), \
$(if $(filter-out environ% default automatic, \
$(origin $V)),$(info $V=$($V) ($(value $V)))))