Technology · Content Infra·Open Source · MIT·2022

programmatic_pages

Render real, static HTML from a Django queryset — one page per genuine record. Entity table → content → static HTML → CDN, with Schema.org JSON-LD, Open Graph, breadcrumbs, and a parallelized render loop.

DjangoPythonSchema.orgCDNStatic HTML
Structured-data outputs
3
Schema.org · OG · canonical

The pattern is simple: you have a database of entities (restaurants, products, locations, whatever), and you want a high-quality static page for each one. The naive approach is a loop. The production approach is a parallelized render pipeline with the structured-data scaffolding baked in.

programmatic_pages handles the scaffolding: Schema.org JSON-LD per entity type, Open Graph tags, canonical URLs, breadcrumb structured data, and a parallelized render loop. The point is one substantive page per real record — the discipline is in the data underneath, not the page count.

It's the actual tooling that powers BBQ Atlas and several client sites. Open-sourced because the pattern is useful and the Django ecosystem doesn't have a good answer for it.

"The interesting problem isn't rendering HTML. It's making sure every page has the right structured data so search engines understand what the entity actually is."

The library is intentionally minimal — it does one thing well and gets out of the way. No opinion on your template engine, no opinion on your CDN, no opinion on your schema. Bring your queryset, get your pages.

In practice

terminal