Read matbrown.dev courses offline
I added EPUB downloads to matbrown.dev. Each course has a "Download EPUB" link above the lesson list. Download the file, open it in an ebook reader, and you can read the course offline.
When I built the site, I wanted to turn my notes into courses worth studying and sharing. You can now keep a course alongside your other books and work through it without keeping a browser open.
The course as a book
Each EPUB includes a table of contents, with a chapter for every lesson in the same order as the website. Each lesson keeps its review questions, so you can stop and check your understanding as you read.
Code examples remain in the book as text. The JavaScript and TypeScript playgrounds need the website to run, but you can still read an example and work through what you expect it to do. For a lesson that needs experimentation, you can return to the site when you're at a computer.
Links between lessons in the same course stay inside the EPUB. Links to other courses or external resources still need an internet connection. Your personal notes, bookmarks, and course progress from the website aren't included in the download.
The same Markdown
The book comes from the same Markdown files that supply the website. During a build, a script finds the courses and packages each course's lessons into an EPUB. The resulting files ship with the site as ordinary downloads.
That means I can edit a lesson in one place. The next site build regenerates the books with those changes, without a separate manuscript to maintain. A copy you've already downloaded keeps its original content; download it again to get the updated lessons.