Customization & Development
Add sections, write custom layouts, register filters, build plugins, and configure revision history.
Add a new editorial section
Editorial sections are defined in a single data file. Adding one is a three-step process that takes less than five minutes and requires no template changes.
Custom layouts
Override the default template for a page, an article type, or a whole section. Build your own layouts without forking the framework.
Template filters
The helper functions Project Broadsheet registers with Eleventy. Use them inside any Nunjucks template with the pipe syntax (`{{ value | filter }}`).
Custom section layouts
Override the default section-index and article templates for a single section, so one section can look and behave differently from the others.
Customize the newsletter form
Change the fields, placeholder text, button label, or form placement for the Buttondown newsletter signup. Also covers custom confirmation copy and hidden fields.
Data files reference
A complete map of every data file in Project Broadsheet: what each one controls, its format, and where it lives.
Pagination
How Project Broadsheet paginates section indexes and archive pages, how to change the number of articles per page, and how to customize pagination UI.
Revision history
Connect your publication to its GitHub repository so readers can see the full edit history of any article, linked directly to GitHub commits.
CSS overrides
How to customize Project Broadsheet's visual design without editing framework files — so your changes survive upgrades.
Customize navigation
Add, remove, and reorder nav items, add dropdown children, and change the header CTA — all from a single data file.
If this category should cover a topic that isn't here yet, send us feedback.