What Pamphlets Actually Is

Pamphlets is a static site generator focused on producing print-ready PDFs from structured markdown. It's not a design tool. You don't drag elements around a canvas. You write content, define a layout schema, and it outputs paginated documents with proper bleeds, crop marks, and color profiles. That's the whole premise. The installation is straightforward. Clone the repo, run npm install in the project root, then create a config file at the top level. The default config handles most things, but you'll want to adjust the page size early because changing it later means regenerating every output and re-exporting to your printer. I wasted an afternoon on this once. I set up a whole tri-fold layout on A4, then realized the print shop was working in US Letter. Had to redo all the column measurements. The folder structure matters more than you'd expect. You need a source/ directory for your markdown files, a layouts/ directory for your HTML templates, and a assets/ directory for images and fonts. Put anything else there and the build will either skip it or throw a quiet error that's annoying to trace.

How the Build Pipeline Actually Works

Pamphlets uses a two-pass rendering system. The first pass processes your markdown into HTML, applying your layout templates. The second pass takes that HTML and runs it through a headless Chromium instance to generate the final PDF with proper page breaks, CSS paged media support, and embedded fonts. This means your CSS needs to be print-accurate. Screen-only styles will carry over into the PDF and mess up pagination. I learned this the hard way with a client project. I had a dashboard-style pamphlet with a bunch of bar charts that looked fine on screen, but the Chromium renderer was collapsing the chart divs onto single pages because of missing page-break-inside: avoid rules. Adding those one line declarations to the chart containers fixed it without any other changes.

Common Pitfalls That Wreck Output

Font embedding is where most people hit problems. Pamphlets will embed standard fonts by default, but custom fonts require you to declare them explicitly in your config with the full path to the WOFF2 files. If you skip this, the generator falls back to the system Helvetica and your spacing calculations are wrong. Every width you measured is now off by a few pixels. Another issue is image resolution. The build pipeline upscales small images rather than warning you. A 72 DPI logo that looks fine in your browser will come out blurry on a printed tri-fold. I set up a pre-build check that scans for any images under 150 DPI and throws an error before the Chromium render runs. Saved me from three separate reprints in one quarter.

Get the Full Details

Fusion Brochure & Pamphlets | Pamphlet design, Brochure inspiration, Brochure
Fusion Brochure & Pamphlets | Pamphlet design, Brochure inspiration, Brochure

When Pamphlets Isn't the Right Call

If you need full design freedom — custom shapes, overlapping elements, variable typography — this isn't the tool. It's built for structured, template-driven document generation. You're trading flexibility for repeatability. If you're producing fifty similar pamphlets per month with minor content changes, the upfront template investment pays off fast. If you're making one custom brochure every six months, you're better off with InDesign or a similar desktop publishing tool. The build times are another consideration. A full regeneration with twenty-five pages and high-res images takes roughly four minutes on a modern machine. That's not slow, but it's not instant either. If you're iterating on design tweaks and expecting live previews, you'll get frustrated. There's no hot-reload for the PDF output.

Pamphlets Config Tips

Your config file is where the real decisions happen. Set your output directory to a version-controlled path if you need to track revisions, but exclude the generated PDFs themselves since they're large and redundant. Keep your source markdown in a separate branch if you work with a team. The templating system supports basic variables and loops, which is enough for data-driven pamphlets but won't replace a proper content management workflow if your content team isn't comfortable with markdown. One thing that isn't obvious: you can chain multiple Pamphlets builds together. I once used it to generate individual chapter PDFs and then combined them into a single bound document using a second pass with a different layout template. It's not documented anywhere, but the API allows it and it works cleanly.