From 4fa86a2906eb37283c3372eb51d9ffb23f61b926 Mon Sep 17 00:00:00 2001
From: "the Phoeron\" Colin J.E. Lupton" <thephoeron@protonmail.com>
Date: Wed, 24 Aug 2022 12:22:46 -0400
Subject: [PATCH] Update SUMMARY.md to better support folding-chapters plugin
 expectations

---
 CHANGELOG.md |   3 +-
 SUMMARY.md   | 226 +++++++++++++++++++++++++--------------------------
 2 files changed, 115 insertions(+), 114 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index dbd355a..a0687c3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,8 @@
 
 ## 2022-08-24
 
-- Add book.json to manually define GitBook configuration; let's see if that helps with some outstanding oddities
+- Add book.json to manually define GitBook configuration and fix some outstanding oddities
+- Reorganize SUMMARY.md to generate a better TOC for "folding-chapters" plugin
 - Add GitBook plugins:
     - "hints"
     - "folding-chapters"
diff --git a/SUMMARY.md b/SUMMARY.md
index 83a3053..a94076e 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -14,121 +14,121 @@
 * [Lisp: A Future History](introduction.md)
 * [Acknowledgements](acknowledgements.md)
 
-## PART ONE
+## PART ONE: GROKKING LISP
 
-* [Grokking Lisp](1-0-0-overview.md)
-    * [Common Lisp Bootcamp](1-01-00-lisp-bootcamp.md)
-        * [Syntax Overview in 5 Minutes](1-01-01-syntax-overview.md)
-        * [The REPL](./1-01-02-repl.md)
-        * [Expressions, Parentheses, and Return Values](./1-01-03-expressions.md)
-        * [Lists, Cons-Cells, and Memory](./1-01-04-lists-cons-cells.md)
-        * [Symbols and Namespaces](./1-01-05-symbols.md)
-        * [Prefix Notation](./1-01-06-prefix-notation.md)
-        * [Common Lisp Style Guide](./1-01-07-style-guide.md)
-        * [Configuring Your Development Environment](./1-01-08-configuration.md)
-    * [Printing, Streams, and Strings](1-02-00-input-output.md)
-        * [Strings](./1-02-01-strings.md)
-        * [More Strings](./1-02-02-more-strings.md)
-        * [Unicode and Strings](./1-02-03-unicode.md)
-        * [Characters](./1-02-04-chars.md)
-        * [More Characters](./1-02-05-more-chars.md)
-        * [Character Codes](./1-02-06-char-codes.md)
-        * [Strings from Chars](./1-02-07-strings-from-chars.md)
-        * [Printing](./1-02-08-printing.md)
-        * [More Printing](./1-02-09-more-printing.md)
-        * [Printing With prin1](./1-02-10-prin1.md)
-        * [Printing With princ](./1-02-11-princ.md)
-        * [A Brief Introduction to Format](./1-02-12-format.md)
-        * [A Little Bit More on Format](./1-02-13-more-format.md)
-        * [Pathnames](./1-02-14-pathnames.md)
-        * [Streams](./1-02-15-streams.md)
-        * [File Streams](./1-02-16-file-streams.md)
-        * [Binary Streams](./1-02-17-binary-streams.md)
-        * [Prompting Users](./1-02-18-prompting-users.md)
-        * [Pretty-Printing](./1-02-19-pretty-printing.md)
-    * [Extra Credit: Getting Input from Users](./1-03-0-getting-input-from-users.md)
-    * [Lists and List-Operations](./1-04-0-lists.md)
-    * [Extra Credit: Look-up Lists and Trees](./1-05-0-lookups-trees.md)
-    * [Numbers and Math](./1-06-0-math.md)
-        * [Integers](./1-06-01-integers.md)
-        * [More Integers](./1-06-02-more-integers.md)
-        * [Hexadecimal Integer Notation](./1-06-03-hexadecimal-notation.md)
-        * [Octal Integer Notation](./1-06-04-octal-notation.md)
-        * [Binary Integer Notation](./1-06-05-binary-notation.md)
-        * [Ratios and Rational Numbers](./1-06-06-ratios.md)
-        * [Floating-point Numbers](./1-06-07-floating-point.md)
-        * [Numeric Constants](./1-06-08-constants.md)
-        * [Complex Numbers](./1-06-09-complex-numbers.md)
-        * [Arithmetic](./1-06-10-arithmetic.md)
-        * [More Arithmetic](./1-06-11-more-arithmetic.md)
-        * [Even More Arithmetic](./1-06-12-even-more-arithmetic.md)
-        * [Exponents](./1-06-13-exponents.md)
-        * [Logarithms](./1-06-14-logarithms.md)
-        * [Trigonometry](./1-06-15-trigonometry.md)
-        * [Pseudo-Random Numbers](./1-06-16-psuedorandom-numbers.md)
-    * [Extra Credit: Arrays and Vectors](./1-07-0-arrays.md)
-    * [Variables, Parameters, and Constants](./1-08-0-variables.md)
-    * [Extra Credit: Closures](./1-09-0-closures.md)
-    * [Functions and Macros](./1-10-0-functions.md)
-    * [Extra Credit: A Simple Text Adventure](./1-11-0-text-adventure.md)
-    * [Namespaces, Symbols, Packages, and Systems](./1-12-0-namespaces.md)
-    * [Extra Credit: A Simple Web Application](./1-13-0-simple-web-app.md)
-    * [Conditionals](./1-14-0-conditionals.md)
-    * [Extra Credit: Command-Line Utilities](./1-15-0-command-line-utility.md)
-    * [Mapping and Looping](./1-16-0-map-loop.md)
-    * [Extra Credit: Revisiting Loops with Iterate](./1-17-0-iterate.md)
-    * [Format Strings](./1-18-0-format.md)
-    * [Extra Credit: Domain Specific Languages](./1-19-0-dsl.md)
-    * [Part One in Review](./1-20-0-review.md)
+* [Overview](1-0-0-overview.md)
+* [Common Lisp Bootcamp](1-01-00-lisp-bootcamp.md)
+    * [Syntax Overview in 5 Minutes](1-01-01-syntax-overview.md)
+    * [The REPL](./1-01-02-repl.md)
+    * [Expressions, Parentheses, and Return Values](./1-01-03-expressions.md)
+    * [Lists, Cons-Cells, and Memory](./1-01-04-lists-cons-cells.md)
+    * [Symbols and Namespaces](./1-01-05-symbols.md)
+    * [Prefix Notation](./1-01-06-prefix-notation.md)
+    * [Common Lisp Style Guide](./1-01-07-style-guide.md)
+    * [Configuring Your Development Environment](./1-01-08-configuration.md)
+* [Printing, Streams, and Strings](1-02-00-input-output.md)
+    * [Strings](./1-02-01-strings.md)
+    * [More Strings](./1-02-02-more-strings.md)
+    * [Unicode and Strings](./1-02-03-unicode.md)
+    * [Characters](./1-02-04-chars.md)
+    * [More Characters](./1-02-05-more-chars.md)
+    * [Character Codes](./1-02-06-char-codes.md)
+    * [Strings from Chars](./1-02-07-strings-from-chars.md)
+    * [Printing](./1-02-08-printing.md)
+    * [More Printing](./1-02-09-more-printing.md)
+    * [Printing With prin1](./1-02-10-prin1.md)
+    * [Printing With princ](./1-02-11-princ.md)
+    * [A Brief Introduction to Format](./1-02-12-format.md)
+    * [A Little Bit More on Format](./1-02-13-more-format.md)
+    * [Pathnames](./1-02-14-pathnames.md)
+    * [Streams](./1-02-15-streams.md)
+    * [File Streams](./1-02-16-file-streams.md)
+    * [Binary Streams](./1-02-17-binary-streams.md)
+    * [Prompting Users](./1-02-18-prompting-users.md)
+    * [Pretty-Printing](./1-02-19-pretty-printing.md)
+* [Extra Credit: Getting Input from Users](./1-03-0-getting-input-from-users.md)
+* [Lists and List-Operations](./1-04-0-lists.md)
+* [Extra Credit: Look-up Lists and Trees](./1-05-0-lookups-trees.md)
+* [Numbers and Math](./1-06-0-math.md)
+    * [Integers](./1-06-01-integers.md)
+    * [More Integers](./1-06-02-more-integers.md)
+    * [Hexadecimal Integer Notation](./1-06-03-hexadecimal-notation.md)
+    * [Octal Integer Notation](./1-06-04-octal-notation.md)
+    * [Binary Integer Notation](./1-06-05-binary-notation.md)
+    * [Ratios and Rational Numbers](./1-06-06-ratios.md)
+    * [Floating-point Numbers](./1-06-07-floating-point.md)
+    * [Numeric Constants](./1-06-08-constants.md)
+    * [Complex Numbers](./1-06-09-complex-numbers.md)
+    * [Arithmetic](./1-06-10-arithmetic.md)
+    * [More Arithmetic](./1-06-11-more-arithmetic.md)
+    * [Even More Arithmetic](./1-06-12-even-more-arithmetic.md)
+    * [Exponents](./1-06-13-exponents.md)
+    * [Logarithms](./1-06-14-logarithms.md)
+    * [Trigonometry](./1-06-15-trigonometry.md)
+    * [Pseudo-Random Numbers](./1-06-16-psuedorandom-numbers.md)
+* [Extra Credit: Arrays and Vectors](./1-07-0-arrays.md)
+* [Variables, Parameters, and Constants](./1-08-0-variables.md)
+* [Extra Credit: Closures](./1-09-0-closures.md)
+* [Functions and Macros](./1-10-0-functions.md)
+* [Extra Credit: A Simple Text Adventure](./1-11-0-text-adventure.md)
+* [Namespaces, Symbols, Packages, and Systems](./1-12-0-namespaces.md)
+* [Extra Credit: A Simple Web Application](./1-13-0-simple-web-app.md)
+* [Conditionals](./1-14-0-conditionals.md)
+* [Extra Credit: Command-Line Utilities](./1-15-0-command-line-utility.md)
+* [Mapping and Looping](./1-16-0-map-loop.md)
+* [Extra Credit: Revisiting Loops with Iterate](./1-17-0-iterate.md)
+* [Format Strings](./1-18-0-format.md)
+* [Extra Credit: Domain Specific Languages](./1-19-0-dsl.md)
+* [Part One in Review](./1-20-0-review.md)
 
-## PART TWO
+## PART TWO: THE SUFFUSION OF BLUE
 
-* [The Suffusion of Blue](2-0-0-overview.md)
-    * [Programming Paradigms](./2-01-0-programming-paradigms.md)
-    * [Extra Credit: Regular Expressions](./2-02-0-regex.md)
-    * [Objects and Control Structures](./2-03-0-objects-control.md)
-    * [Extra Credit: Persistence and Databases](./2-04-0-data-persistence.md)
-    * [Extended Types](./2-05-0-extended-types.md)
-    * [Extra Credit: Concurrency and Memoization](./2-06-0-threads-memos-parallel.md)
-    * [Logic and Advanced Math](./2-07-0-logic-and-more-math.md)
-    * [Extra Credit: Number Theory](./2-08-0-number-theory.md)
-    * [Binary Streams, Octet-Vectors, and Bit-Vectors](./2-09-0-binary-octets-bits.md)
-    * [Extra Credit: An Improved Text Adventure Engine](./2-10-0-improved-text-adventure-engine.md)
-    * [Conditions and Error Handling](./2-11-0-conditions.md)
-    * [Extra Credit: Write a 2D Game](./2-12-0-2d-game.md)
-    * [The Compiler](./2-13-0-compiler.md)
-    * [Extra Credit: Write a Tree-Shaker](./2-14-0-tree-shaker.md)
-    * [Documentation and Inspection](./2-15-0-docs-and-inspection.md)
-    * [Extra Credit: Foreign Libraries in Lisp](./2-16-0-foreign-libs.md)
-    * [Debugging and Unit Testing](./2-17-0-debugging-testing.md)
-    * [Extra Credit: Write a Foreign Function Interface](./2-18-0-ffi.md)
-    * [Essential Lisp Libraries](./2-19-0-essential-libs.md)
-    * [Extra Credit: Packaging Lisp Libraries](./2-20-0-packaging-libs.md)
-    * [Detailed Syntax Review](./2-21-0-review.md)
+* [Overview](2-0-0-overview.md)
+* [Programming Paradigms](./2-01-0-programming-paradigms.md)
+* [Extra Credit: Regular Expressions](./2-02-0-regex.md)
+* [Objects and Control Structures](./2-03-0-objects-control.md)
+* [Extra Credit: Persistence and Databases](./2-04-0-data-persistence.md)
+* [Extended Types](./2-05-0-extended-types.md)
+* [Extra Credit: Concurrency and Memoization](./2-06-0-threads-memos-parallel.md)
+* [Logic and Advanced Math](./2-07-0-logic-and-more-math.md)
+* [Extra Credit: Number Theory](./2-08-0-number-theory.md)
+* [Binary Streams, Octet-Vectors, and Bit-Vectors](./2-09-0-binary-octets-bits.md)
+* [Extra Credit: An Improved Text Adventure Engine](./2-10-0-improved-text-adventure-engine.md)
+* [Conditions and Error Handling](./2-11-0-conditions.md)
+* [Extra Credit: Write a 2D Game](./2-12-0-2d-game.md)
+* [The Compiler](./2-13-0-compiler.md)
+* [Extra Credit: Write a Tree-Shaker](./2-14-0-tree-shaker.md)
+* [Documentation and Inspection](./2-15-0-docs-and-inspection.md)
+* [Extra Credit: Foreign Libraries in Lisp](./2-16-0-foreign-libs.md)
+* [Debugging and Unit Testing](./2-17-0-debugging-testing.md)
+* [Extra Credit: Write a Foreign Function Interface](./2-18-0-ffi.md)
+* [Essential Lisp Libraries](./2-19-0-essential-libs.md)
+* [Extra Credit: Packaging Lisp Libraries](./2-20-0-packaging-libs.md)
+* [Detailed Syntax Review](./2-21-0-review.md)
 
-## PART THREE
+## PART THREE: LISP SO(U)RCERY
 
-* [Lisp So(u)rcery](3-00-00-overview.md)
-    * [Real-world Web Apps](./3-01-00-web-apps.md)
-    * [Typesetting](./3-02-00-typesetting.md)
-    * [Native Mobile Applications](./3-03-00-mobile.md)
-    * [Cross-platform Desktop Applications](./3-04-00-gui.md)
-    * [Drivers, Daemons, and System-Utilities](./3-05-00-system-utils.md)
-    * [Reverse Engineering](./3-06-00-reverse-engineering.md)
-    * [Graphics Rendering](./3-07-00-graphics.md)
-    * [OpenGL, SDL, and 3D Game Development](./3-08-00-gaming.md)
-    * [Audio Generation and Manipulation](./3-09-00-audio.md)
-    * [Data Aggregation and Analysis](./3-10-00-data.md)
-    * [Cryptography and Security](./3-11-00-cryptosec.md)
-    * [Financial Software and Crypto-Currencies](./3-12-00-fintech.md)
-    * [Scientific Computing](./3-13-00-scientific-computing.md)
-    * [Computational Physics](./3-14-00-computational-physics.md)
-    * [Quantum Computing](./3-15-00-quantum-computing.md)
-    * [Natural Language Processing](./3-16-00-nlp.md)
-    * [Artificial Intelligence](./3-17-00-ai.md)
-    * [Robotics](./3-18-00-robotics.md)
-    * [Space Tech](./3-19-00-space-tech.md)
-    * [Neuroscience and Thought-Controlled Computing](./3-20-00-neurotech.md)
-    * [A Simple LispOS](./3-21-00-lispos.md)
-    * [Build Your Own Lisp Machine](./3-22-00-lisp-machine.md)
-    * [Government and Military Grade Systems](./3-23-00-gov-mil.md)
+* [Overview](3-00-00-overview.md)
+* [Real-world Web Apps](./3-01-00-web-apps.md)
+* [Typesetting](./3-02-00-typesetting.md)
+* [Native Mobile Applications](./3-03-00-mobile.md)
+* [Cross-platform Desktop Applications](./3-04-00-gui.md)
+* [Drivers, Daemons, and System-Utilities](./3-05-00-system-utils.md)
+* [Reverse Engineering](./3-06-00-reverse-engineering.md)
+* [Graphics Rendering](./3-07-00-graphics.md)
+* [OpenGL, SDL, and 3D Game Development](./3-08-00-gaming.md)
+* [Audio Generation and Manipulation](./3-09-00-audio.md)
+* [Data Aggregation and Analysis](./3-10-00-data.md)
+* [Cryptography and Security](./3-11-00-cryptosec.md)
+* [Financial Software and Crypto-Currencies](./3-12-00-fintech.md)
+* [Scientific Computing](./3-13-00-scientific-computing.md)
+* [Computational Physics](./3-14-00-computational-physics.md)
+* [Quantum Computing](./3-15-00-quantum-computing.md)
+* [Natural Language Processing](./3-16-00-nlp.md)
+* [Artificial Intelligence](./3-17-00-ai.md)
+* [Robotics](./3-18-00-robotics.md)
+* [Space Tech](./3-19-00-space-tech.md)
+* [Neuroscience and Thought-Controlled Computing](./3-20-00-neurotech.md)
+* [A Simple LispOS](./3-21-00-lispos.md)
+* [Build Your Own Lisp Machine](./3-22-00-lisp-machine.md)
+* [Government and Military Grade Systems](./3-23-00-gov-mil.md)
-- 
GitLab