diff --git a/config.py b/config.py index 18c058b9..c7104225 100644 --- a/config.py +++ b/config.py @@ -10,12 +10,13 @@ } lang = "en" highlight = "tango.css" -plausible = "third-bit.com" +# plausible = "third-bit.com" archive = f"{slug}-examples.zip" isbn = "978-1032725253" hardcopy = "https://www.routledge.com/Software-Design-by-Example-A-Tool-Based-Introduction-with-Python/Wilson/p/book/9781032725215" cover = f"{slug}-cover.png" timing = False +version = 1 # Chapters. chapters = [ diff --git a/docs/archive/index.html b/docs/archive/index.html index c894aa5a..d4bf22a7 100644 --- a/docs/archive/index.html +++ b/docs/archive/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/archive/sample-dir/index.html b/docs/archive/sample-dir/index.html index f9d3e8fb..fbc9f03b 100644 --- a/docs/archive/sample-dir/index.html +++ b/docs/archive/sample-dir/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/archive/sample-dir/sub-dir/index.html b/docs/archive/sample-dir/sub-dir/index.html index 38d1b09a..e7896763 100644 --- a/docs/archive/sample-dir/sub-dir/index.html +++ b/docs/archive/sample-dir/sub-dir/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/archive/slides/index.html b/docs/archive/slides/index.html index dac4e08f..37c5d15e 100644 --- a/docs/archive/slides/index.html +++ b/docs/archive/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/bib/index.html b/docs/bib/index.html index 55cd814d..1c947475 100644 --- a/docs/bib/index.html +++ b/docs/bib/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/binary/index.html b/docs/binary/index.html index 098d9202..0246c0e2 100644 --- a/docs/binary/index.html +++ b/docs/binary/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/binary/slides/index.html b/docs/binary/slides/index.html index f7f0fca4..3a52be47 100644 --- a/docs/binary/slides/index.html +++ b/docs/binary/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/bonus/index.html b/docs/bonus/index.html index d8c7aa69..971283ca 100644 --- a/docs/bonus/index.html +++ b/docs/bonus/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/build/index.html b/docs/build/index.html index 5c0d0df7..674e4218 100644 --- a/docs/build/index.html +++ b/docs/build/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/build/slides/index.html b/docs/build/slides/index.html index 7f8ca500..3125e37a 100644 --- a/docs/build/slides/index.html +++ b/docs/build/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/cache/index.html b/docs/cache/index.html index 4a4e18ce..40e993ec 100644 --- a/docs/cache/index.html +++ b/docs/cache/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

A File Cache

+

A File Cache

diff --git a/docs/check/index.html b/docs/check/index.html index ab839ba3..8372e39c 100644 --- a/docs/check/index.html +++ b/docs/check/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/check/slides/index.html b/docs/check/slides/index.html index 6a8c6632..1f989c9e 100644 --- a/docs/check/slides/index.html +++ b/docs/check/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/colophon/index.html b/docs/colophon/index.html index 6f05fe1f..21c476c2 100644 --- a/docs/colophon/index.html +++ b/docs/colophon/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/compress/index.html b/docs/compress/index.html index f524d36b..d39b895b 100644 --- a/docs/compress/index.html +++ b/docs/compress/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

File Compression

+

File Compression

diff --git a/docs/concur/index.html b/docs/concur/index.html index 64d77f93..df41cdb3 100644 --- a/docs/concur/index.html +++ b/docs/concur/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

Concurrency

+

Concurrency

diff --git a/docs/conduct/index.html b/docs/conduct/index.html index 1c26b812..9a688142 100644 --- a/docs/conduct/index.html +++ b/docs/conduct/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/contents/index.html b/docs/contents/index.html index ffda4a58..f45761cb 100644 --- a/docs/contents/index.html +++ b/docs/contents/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/contrib/index.html b/docs/contrib/index.html index 5bca50ff..8cf68a62 100644 --- a/docs/contrib/index.html +++ b/docs/contrib/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/db/index.html b/docs/db/index.html index 49b65db2..e10a168d 100644 --- a/docs/db/index.html +++ b/docs/db/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/db/slides/index.html b/docs/db/slides/index.html index c845efdc..1121567a 100644 --- a/docs/db/slides/index.html +++ b/docs/db/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/debugger/index.html b/docs/debugger/index.html index 1387f18f..0a9b4a0f 100644 --- a/docs/debugger/index.html +++ b/docs/debugger/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/debugger/slides/index.html b/docs/debugger/slides/index.html index d8e5aba0..e2ed6a24 100644 --- a/docs/debugger/slides/index.html +++ b/docs/debugger/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/docgen/index.html b/docs/docgen/index.html index f66733ee..924dcece 100644 --- a/docs/docgen/index.html +++ b/docs/docgen/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

Generating Documentation

+

Generating Documentation

diff --git a/docs/dup/index.html b/docs/dup/index.html index 5585ce03..cd9678b1 100644 --- a/docs/dup/index.html +++ b/docs/dup/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/dup/slides/index.html b/docs/dup/slides/index.html index d3b7637f..14b9ef6f 100644 --- a/docs/dup/slides/index.html +++ b/docs/dup/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/dup/tests/index.html b/docs/dup/tests/index.html index f9d3e8fb..fbc9f03b 100644 --- a/docs/dup/tests/index.html +++ b/docs/dup/tests/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/finale/index.html b/docs/finale/index.html index 0cc7f461..216dfc7b 100644 --- a/docs/finale/index.html +++ b/docs/finale/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/finale/slides/index.html b/docs/finale/slides/index.html index bc418807..5399be13 100644 --- a/docs/finale/slides/index.html +++ b/docs/finale/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/ftp/index.html b/docs/ftp/index.html index 1ecef18c..25a070ac 100644 --- a/docs/ftp/index.html +++ b/docs/ftp/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/ftp/slides/index.html b/docs/ftp/slides/index.html index fe73feae..1b8e87c3 100644 --- a/docs/ftp/slides/index.html +++ b/docs/ftp/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/func/index.html b/docs/func/index.html index df4433a7..84b4ea24 100644 --- a/docs/func/index.html +++ b/docs/func/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/func/slides/index.html b/docs/func/slides/index.html index 5ce6dd5c..332ff93a 100644 --- a/docs/func/slides/index.html +++ b/docs/func/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/glob/index.html b/docs/glob/index.html index 98f4ee72..6b4ac79b 100644 --- a/docs/glob/index.html +++ b/docs/glob/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/glob/slides/index.html b/docs/glob/slides/index.html index c356e6ec..826a3645 100644 --- a/docs/glob/slides/index.html +++ b/docs/glob/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/glossary/index.html b/docs/glossary/index.html index 586b7b3f..4d82cbd2 100644 --- a/docs/glossary/index.html +++ b/docs/glossary/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/http/index.html b/docs/http/index.html index 10a74ca1..32214f81 100644 --- a/docs/http/index.html +++ b/docs/http/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/http/slides/index.html b/docs/http/slides/index.html index 5c980478..52956dc7 100644 --- a/docs/http/slides/index.html +++ b/docs/http/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/index.html b/docs/index.html index 6ef31233..c0e28019 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/interp/index.html b/docs/interp/index.html index 619a4310..b6ff9ac6 100644 --- a/docs/interp/index.html +++ b/docs/interp/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/interp/slides/index.html b/docs/interp/slides/index.html index c31c5945..2056d5ba 100644 --- a/docs/interp/slides/index.html +++ b/docs/interp/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/intro/index.html b/docs/intro/index.html index e4f55481..3d44fa74 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/intro/slides/index.html b/docs/intro/slides/index.html index 660cbc25..e09ec2a6 100644 --- a/docs/intro/slides/index.html +++ b/docs/intro/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/layout/index.html b/docs/layout/index.html index a8d8acc6..6b41de52 100644 --- a/docs/layout/index.html +++ b/docs/layout/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/layout/slides/index.html b/docs/layout/slides/index.html index f7ad225d..1b61d22f 100644 --- a/docs/layout/slides/index.html +++ b/docs/layout/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/license/index.html b/docs/license/index.html index 77fbeb83..e17d2eca 100644 --- a/docs/license/index.html +++ b/docs/license/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/lint/index.html b/docs/lint/index.html index 12fff1c8..9f3c04e8 100644 --- a/docs/lint/index.html +++ b/docs/lint/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/lint/slides/index.html b/docs/lint/slides/index.html index 63128bbf..828355df 100644 --- a/docs/lint/slides/index.html +++ b/docs/lint/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/mccole.css b/docs/mccole.css index b9112cd1..7c0d1741 100644 --- a/docs/mccole.css +++ b/docs/mccole.css @@ -280,6 +280,14 @@ h1 { margin-bottom: var(--border-heavy); } +h1.draft { + font-style: italic; +} + +h1.draft:before { + content: "Draft: "; +} + /* Entire page */ html { font-family: "Atkinson Hyperlegible", sans-serif; diff --git a/docs/observe/index.html b/docs/observe/index.html index cba8499c..062b1421 100644 --- a/docs/observe/index.html +++ b/docs/observe/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

Observers

+

Observers

diff --git a/docs/oop/index.html b/docs/oop/index.html index cdf06186..6066b15e 100644 --- a/docs/oop/index.html +++ b/docs/oop/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/oop/slides/index.html b/docs/oop/slides/index.html index 5a65e736..280c14cd 100644 --- a/docs/oop/slides/index.html +++ b/docs/oop/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/orm/index.html b/docs/orm/index.html index c95533f2..58bcbf42 100644 --- a/docs/orm/index.html +++ b/docs/orm/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - @@ -52,7 +50,7 @@
-

Object-Relational Mapper

+

Object-Relational Mapper

diff --git a/docs/pack/index.html b/docs/pack/index.html index ec596689..eb85a95d 100644 --- a/docs/pack/index.html +++ b/docs/pack/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/pack/slides/index.html b/docs/pack/slides/index.html index 38d690b1..4d195bb3 100644 --- a/docs/pack/slides/index.html +++ b/docs/pack/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/parse/index.html b/docs/parse/index.html index 63c82c72..f75c6044 100644 --- a/docs/parse/index.html +++ b/docs/parse/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/parse/slides/index.html b/docs/parse/slides/index.html index dc361216..cd18eacf 100644 --- a/docs/parse/slides/index.html +++ b/docs/parse/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/perf/index.html b/docs/perf/index.html index 42dff921..7f478352 100644 --- a/docs/perf/index.html +++ b/docs/perf/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/perf/slides/index.html b/docs/perf/slides/index.html index 26691a62..3c5b1b67 100644 --- a/docs/perf/slides/index.html +++ b/docs/perf/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/persist/index.html b/docs/persist/index.html index dd963f43..6eb4bbdb 100644 --- a/docs/persist/index.html +++ b/docs/persist/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/persist/slides/index.html b/docs/persist/slides/index.html index 3a12e3d2..fcf4b5a1 100644 --- a/docs/persist/slides/index.html +++ b/docs/persist/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/protocols/index.html b/docs/protocols/index.html index ca78b5c7..0f3af231 100644 --- a/docs/protocols/index.html +++ b/docs/protocols/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/protocols/slides/index.html b/docs/protocols/slides/index.html index e990b1f2..606b8023 100644 --- a/docs/protocols/slides/index.html +++ b/docs/protocols/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/syllabus/index.html b/docs/syllabus/index.html index 7b1132a1..e16df8a5 100644 --- a/docs/syllabus/index.html +++ b/docs/syllabus/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/template/index.html b/docs/template/index.html index 57aa4e1c..3ca2a4c0 100644 --- a/docs/template/index.html +++ b/docs/template/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/template/slides/index.html b/docs/template/slides/index.html index 1f0447bf..77bbc506 100644 --- a/docs/template/slides/index.html +++ b/docs/template/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/test/index.html b/docs/test/index.html index 9b0f262f..c88f1bb5 100644 --- a/docs/test/index.html +++ b/docs/test/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/test/slides/index.html b/docs/test/slides/index.html index 03e3c36f..eeaac730 100644 --- a/docs/test/slides/index.html +++ b/docs/test/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/undo/index.html b/docs/undo/index.html index 429c2b50..cc3b5561 100644 --- a/docs/undo/index.html +++ b/docs/undo/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/undo/slides/index.html b/docs/undo/slides/index.html index 67c006b6..5c1b0297 100644 --- a/docs/undo/slides/index.html +++ b/docs/undo/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/viewer/index.html b/docs/viewer/index.html index c30be38d..689dc346 100644 --- a/docs/viewer/index.html +++ b/docs/viewer/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/viewer/slides/index.html b/docs/viewer/slides/index.html index 6f672c65..4f346382 100644 --- a/docs/viewer/slides/index.html +++ b/docs/viewer/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/vm/index.html b/docs/vm/index.html index 66a9e450..ded3843e 100644 --- a/docs/vm/index.html +++ b/docs/vm/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/docs/vm/slides/index.html b/docs/vm/slides/index.html index f6af4b80..c024af12 100644 --- a/docs/vm/slides/index.html +++ b/docs/vm/slides/index.html @@ -20,8 +20,6 @@ async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"> - - diff --git a/lib/mccole/resources/mccole.css b/lib/mccole/resources/mccole.css index b9112cd1..7c0d1741 100644 --- a/lib/mccole/resources/mccole.css +++ b/lib/mccole/resources/mccole.css @@ -280,6 +280,14 @@ h1 { margin-bottom: var(--border-heavy); } +h1.draft { + font-style: italic; +} + +h1.draft:before { + content: "Draft: "; +} + /* Entire page */ html { font-family: "Atkinson Hyperlegible", sans-serif; diff --git a/lib/mccole/templates/title.html b/lib/mccole/templates/title.html index 104baeb7..8d80829a 100644 --- a/lib/mccole/templates/title.html +++ b/lib/mccole/templates/title.html @@ -1,7 +1,7 @@
{% if node.title %} -

{{ node.title }}

+ site.version %} class="draft"{% endif %}>{{ node.title }} {% else %}

{{ site.title }}

{% if site.subtitle %}

{{ site.subtitle }}

{% endif %} diff --git a/src/archive/index.md b/src/archive/index.md index a5f55143..b564398e 100644 --- a/src/archive/index.md +++ b/src/archive/index.md @@ -1,5 +1,6 @@ --- title: "A File Archiver" +version: 1 abstract: > Most programmers would agree that once they have a text editor and a way to run their programs, diff --git a/src/binary/index.md b/src/binary/index.md index 72427450..4595f4d6 100644 --- a/src/binary/index.md +++ b/src/binary/index.md @@ -1,5 +1,6 @@ --- title: "Binary Data" +version: 1 abstract: > Python and other high-level languages shield programmers from the low-level details of how computers actually store and manipulate data, diff --git a/src/build/index.md b/src/build/index.md index 86df58d3..c6afc0e3 100644 --- a/src/build/index.md +++ b/src/build/index.md @@ -1,5 +1,6 @@ --- title: "A Build Manager" +version: 1 abstract: > Programmers frequently need to chain operations together so that if one file is updated, diff --git a/src/cache/index.md b/src/cache/index.md index 080347ab..96020e8e 100644 --- a/src/cache/index.md +++ b/src/cache/index.md @@ -1,5 +1,6 @@ --- title: "A File Cache" +version: 2 abstract: > FIXME syllabus: diff --git a/src/check/index.md b/src/check/index.md index 4ddffb56..12ae843c 100644 --- a/src/check/index.md +++ b/src/check/index.md @@ -1,5 +1,6 @@ --- title: "An HTML Validator" +version: 1 abstract: > This chapter builds a tool to check the structure of web pages in order to show how programs can process HTML, diff --git a/src/compress/index.md b/src/compress/index.md index d5db9ad4..b3d83a5d 100644 --- a/src/compress/index.md +++ b/src/compress/index.md @@ -1,5 +1,6 @@ --- title: "File Compression" +version: 2 abstract: > FIXME syllabus: diff --git a/src/concur/index.md b/src/concur/index.md index c07ff86e..a786844a 100644 --- a/src/concur/index.md +++ b/src/concur/index.md @@ -1,5 +1,6 @@ --- title: "Concurrency" +version: 2 abstract: > FIXME syllabus: diff --git a/src/db/index.md b/src/db/index.md index 851d0cbf..0c7d1d2d 100644 --- a/src/db/index.md +++ b/src/db/index.md @@ -1,5 +1,6 @@ --- title: "A Database" +version: 1 abstract: > Almost every real-world application relies on some kind of database that allows code to look up data without loading everything into memory. diff --git a/src/debugger/index.md b/src/debugger/index.md index 3932002b..18712262 100644 --- a/src/debugger/index.md +++ b/src/debugger/index.md @@ -1,5 +1,6 @@ --- title: "A Debugger" +version: 1 abstract: > Debuggers are as much a part of good programmers' working lives as version control but are taught far less often. diff --git a/src/docgen/index.md b/src/docgen/index.md index 55ea4f88..c69fa940 100644 --- a/src/docgen/index.md +++ b/src/docgen/index.md @@ -1,5 +1,6 @@ --- title: "Generating Documentation" +version: 2 abstract: > FIXME syllabus: diff --git a/src/dup/index.md b/src/dup/index.md index 97273e2c..953420f6 100644 --- a/src/dup/index.md +++ b/src/dup/index.md @@ -1,5 +1,6 @@ --- title: "Finding Duplicate Files" +version: 1 abstract: > The naïve way to find duplicated files is to compare each file to all the others, but that is unworkably slow for large sets of files. diff --git a/src/ftp/index.md b/src/ftp/index.md index dd5eb78b..28c072a7 100644 --- a/src/ftp/index.md +++ b/src/ftp/index.md @@ -1,5 +1,6 @@ --- title: "Transferring Files" +version: 1 abstract: > A typical web application is made up of clients that send messages to servers and then wait for them to respond. diff --git a/src/func/index.md b/src/func/index.md index dcbec6b1..333558cc 100644 --- a/src/func/index.md +++ b/src/func/index.md @@ -1,5 +1,6 @@ --- title: "Functions and Closures" +version: 1 abstract: > This chapter extends the little interpreter of the previous one to allow users to define functions of their own. diff --git a/src/glob/index.md b/src/glob/index.md index 488e24d0..49276028 100644 --- a/src/glob/index.md +++ b/src/glob/index.md @@ -1,5 +1,6 @@ --- title: "Matching Patterns" +version: 1 abstract: > Pattern-matching is ubiquitous in computer programs. Whether we are selecting a set of files to open diff --git a/src/http/index.md b/src/http/index.md index 0013e026..e07ca3fe 100644 --- a/src/http/index.md +++ b/src/http/index.md @@ -1,5 +1,6 @@ --- title: "Serving Web Pages" +version: 1 abstract: > The Hypertext Transfer Protocol (HTTP) defines a way for programs to exchange data over the web. Clients (such as browsers) send requests to servers, diff --git a/src/interp/index.md b/src/interp/index.md index 008f3685..fc4c9b32 100644 --- a/src/interp/index.md +++ b/src/interp/index.md @@ -1,5 +1,6 @@ --- title: "An Interpreter" +version: 1 abstract: > A program in memory is just a data structure, each of whose elements triggers some operation in the interpreter that's executing it. diff --git a/src/layout/index.md b/src/layout/index.md index 522fe837..73405bbd 100644 --- a/src/layout/index.md +++ b/src/layout/index.md @@ -1,5 +1,6 @@ --- title: "Page Layout" +version: 1 abstract: > Browsers, e-book readers, and text editors all rely on some kind of layout engine that takes text and formatting instructions as input diff --git a/src/lint/index.md b/src/lint/index.md index 585daaba..8ef327f1 100644 --- a/src/lint/index.md +++ b/src/lint/index.md @@ -1,5 +1,6 @@ --- title: "A Code Linter" +version: 1 abstract: > This chapter brings together pieces from the preceding few lessons to show how one program can check the structure of another. diff --git a/src/observe/index.md b/src/observe/index.md index 3ed94ec7..70210857 100644 --- a/src/observe/index.md +++ b/src/observe/index.md @@ -1,5 +1,6 @@ --- title: "Observers" +version: 2 abstract: > FIXME syllabus: diff --git a/src/oop/index.md b/src/oop/index.md index 9de19272..3935bfd1 100644 --- a/src/oop/index.md +++ b/src/oop/index.md @@ -1,5 +1,6 @@ --- title: "Objects and Classes" +version: 1 abstract: > Object-oriented programming was invented to solve two problems: what is a natural way to represent real-world "things" in code, diff --git a/src/orm/index.md b/src/orm/index.md index fc4125ee..f61110b9 100644 --- a/src/orm/index.md +++ b/src/orm/index.md @@ -1,5 +1,6 @@ --- title: "Object-Relational Mapper" +version: 2 abstract: > FIXME syllabus: diff --git a/src/pack/index.md b/src/pack/index.md index 8a080c8c..1bb09324 100644 --- a/src/pack/index.md +++ b/src/pack/index.md @@ -1,5 +1,6 @@ --- title: "A Package Manager" +version: 1 abstract: > Most languages have an online archive from which people can download packages, each of which has a name, one or more versions, and a list of dependencies. diff --git a/src/parse/index.md b/src/parse/index.md index 7f7799b9..4c7a4dbb 100644 --- a/src/parse/index.md +++ b/src/parse/index.md @@ -1,5 +1,6 @@ --- title: "Parsing Text" +version: 1 abstract: > A parser turns text that's easy for a human being to read into a data structure that a computer can work with. diff --git a/src/perf/index.md b/src/perf/index.md index 869ae39a..192396bb 100644 --- a/src/perf/index.md +++ b/src/perf/index.md @@ -1,5 +1,6 @@ --- title: "Performance Profiling" +version: 1 abstract: > This chapter implements the kind of multi-column table frequently used in data science in two different ways diff --git a/src/persist/index.md b/src/persist/index.md index 8fb19e32..a54c916d 100644 --- a/src/persist/index.md +++ b/src/persist/index.md @@ -1,5 +1,6 @@ --- title: "Object Persistence" +version: 1 abstract: > Some simple kinds of data can be saved as lines of text, but more complex data structures require a framework capable of handling aliasing and circularity. diff --git a/src/protocols/index.md b/src/protocols/index.md index 5009c9eb..64d78445 100644 --- a/src/protocols/index.md +++ b/src/protocols/index.md @@ -1,5 +1,6 @@ --- title: "Protocols" +version: 1 abstract: > This chapter starts by showing how we can simplify testing by temporarily replacing real functions with ones that return predictable values, diff --git a/src/template/index.md b/src/template/index.md index a60eba3e..8e16f66c 100644 --- a/src/template/index.md +++ b/src/template/index.md @@ -1,5 +1,6 @@ --- title: "A Template Expander" +version: 1 abstract: > Writing and updating HTML pages by hand is time-consuming and error-prone, so most modern websites use some kind of static site generator (SSG) diff --git a/src/test/index.md b/src/test/index.md index 3267d57d..6ca1ebee 100644 --- a/src/test/index.md +++ b/src/test/index.md @@ -1,5 +1,6 @@ --- title: "Running Tests" +version: 1 abstract: > Every programming language has tools to collect tests, run them, and report their results. This chapter shows how such tools are built, diff --git a/src/undo/index.md b/src/undo/index.md index c75bbc9f..12e59748 100644 --- a/src/undo/index.md +++ b/src/undo/index.md @@ -1,5 +1,6 @@ --- title: "Undo and Redo" +version: 1 abstract: > Viewing text files is useful, but we'd like to be able to edit them as well. diff --git a/src/viewer/index.md b/src/viewer/index.md index 732adaee..cd38cd90 100644 --- a/src/viewer/index.md +++ b/src/viewer/index.md @@ -1,5 +1,6 @@ --- title: "A File Viewer" +version: 1 abstract: > Even simple editors like Notepad and Nano do a lot of things: moving a cursor, diff --git a/src/vm/index.md b/src/vm/index.md index ea2cd48b..bdc7e4a2 100644 --- a/src/vm/index.md +++ b/src/vm/index.md @@ -1,5 +1,6 @@ --- title: "A Virtual Machine" +version: 1 abstract: > The standard version of Python is implemented in C, but C is compiled to instructions for a particular processor.