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 @@{{ 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.