Camp: Static Site Generation for Racketâ–¼Camp: Static Site Generation for Racket<br>1 Quick Start2 Basic Camp Concepts3 Building a Camp Site4 Tutorial: Navigation and Cross-References5 Tutorial: Listing and Index Pages6 Tutorial: Creating a Book from Your Blog7 Camp Computer: the GUI client for Camp8 Library Reference9 License, Acknowledgments
On this page:<br>Camp: Static Site Generation for Racket
9.1
contents ← prev up next →<br>Camp: Static Site Generation for Racket🔗<br>Joel Dueck
Camp is a static site generator built on Racket. I made it for myself, but if you enjoy the craft<br>and activity of web and print publishing, you might like it too. It gives you tools and techniques<br>for building a site or blog that is personal, programmable and permanent.<br>Camp builds on Punct, a Racket DSL that lets<br>you extend Markdown with Racket code, and output to HTML or Typst.<br>Camp provides facilities for navigation between posts, cross references and taxonomies (such as<br>tags or series).
You can use Camp via the CLI, or via Camp Computer: the GUI client for Camp.
Camp helps you convert collections of posts into print-ready book PDFs via<br>Typst.
Camp produces spec-compliant RSS/Atom feeds. And though many may not notice, it also produces<br>HTML that is line-wrapped and indented for high readability.
The canonical copy of this documentation is at https://joeldueck.com/what-about/camp.
1 Quick Start<br>1.1 Installation<br>1.2 Creating a Site<br>1.3 Building and Previewing<br>1.4 Package Integration<br>1.5 Next Steps
2 Basic Camp Concepts<br>2.1 Source files<br>2.2 The build process<br>2.2.1 The collect pass<br>2.2.2 The build pass
3 Building a Camp Site<br>3.1 Clear a spot to work in<br>3.2 Installing as a Racket package<br>3.3 Configure your site<br>3.4 First post<br>3.5 Add a render function<br>3.6 Adding Static Assets<br>3.7 Building Your Site<br>3.8 Add a home page<br>3.9 Add a meta-language<br>3.10 Add a feed<br>3.11 What’s next
4 Tutorial: Navigation and Cross-References<br>4.1 Previous and Next Links<br>4.2 Taxonomies<br>4.2.1 Navigating Within Taxonomies<br>4.3 Term Definitions and References<br>4.3.1 Term Normalization<br>4.4 Page References<br>4.5 Custom Navigation<br>4.6 Putting It Together
5 Tutorial: Listing and Index Pages<br>5.1 The Problem with Prose-First Pages<br>5.2 Your First camp/page Document<br>5.3 How camp/page Works<br>5.4 Integrating with Render Functions<br>5.5 Paginated Listings<br>5.6 Archive Pages<br>5.7 When to Use Each Approach
6 Tutorial: Creating a Book from Your Blog<br>6.1 How Book Publishing Works<br>6.2 Creating the Book Configuration<br>6.3 Writing a Render Function<br>6.4 Writing a Typst Template<br>6.5 Organizing Your Book<br>6.5.1 Filtering Content<br>6.6 Building the Book<br>6.7 Handling Custom Elements<br>6.8 Tips for Book Production
7 Camp Computer: the GUI client for Camp<br>7.1 User interface<br>7.1.1 Site Management
8 Library Reference<br>8.1 Site Configuration Language<br>8.2 Cross-Reference System<br>8.3 Rendering and Context<br>8.4 Structural Page Language<br>8.5 Book Configuration Language<br>8.6 Command-Line Interface<br>8.7 Low-Level API<br>8.7.1 Collecting and Building<br>8.7.2 Development Server<br>8.7.3 Logging
9 License, Acknowledgments<br>9.1 Story time
contents ← prev up next →