Matthew Butterick
cf7fbccc90
When recursive mode is used, `current-project-root` changes during the extent of a render operation. But if parallel rendering is also used, when the main thread re-parameterizes `current-project-root`, it will have no effect on the parallel threads, because they freshly instantiate `current-project-root` (with its default value). This patch moves the parameterization inside the parallel thread by passing the `current-project-root` value as part of the job message, thereby handling it the same way as `current-poly-target`. |
3 years ago | |
---|---|---|
.github | 4 years ago | |
pollen | 3 years ago | |
.gitignore | 6 years ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
CONTRIBUTING.md | 4 years ago | |
LICENSE.md | 5 years ago | |
README.md | 4 years ago | |
info.rkt | 5 years ago |
README.md
Pollen: the book is a program
A book-publishing system written in Racket. This is the software I use to publish & maintain my web-based books Beautiful Racket, Practical Typography, and Typography for Lawyers.
If you think documents should be programmable, you’ll love it.
If not, you can move along.
Pollen gives you access to a full programming language (Racket) with a text-based syntax that makes it easy to embed code within your documents.
- Quick tour
- Pollen as a text preprocessor (for CSS, etc.)
- Pollen for Markdown authoring
- Pollen for free-form markup authoring
- Pollen for multiple-output publishing
- Full docs
Using Racket 6.3+, install from the command line:
raco pkg install pollen
And update like so:
raco pkg update --update-deps pollen
Official discussion area: https://github.com/mbutterick/pollen-users
License
MIT
Project status
Actively developed, though the pace has slowed now that Pollen is arguably feature complete and stable. I use it almost every day so it's not going anywhere. But I have no plans to substantially enlarge or extend it.