Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Gift Guide
Source content and build pipeline for "How To Get Your Stories In Front Of The Readers Who Need Them" — the lead-magnet PDF given away at reground.org/gift. Kept in its own repo because this content changes on its own schedule, independent of the reground-site deploys.
Styled to match reground.org's dark theme (background, heading, and CTA colors are pulled directly from that site's CSS).
One-time setup
You need pandoc and weasyprint on your PATH. Both are already used elsewhere on
this machine; nothing else to install.
Building a PDF
make template.pdf # the generic/base version
make partners/<slug>.pdf # a specific partnership's version
make # rebuilds template.pdf + every partners/*.md that exists
make clean # removes generated PDFs (never touches the .md sources)
make finds the source .md file automatically from the .pdf name you ask for, so
building any filled-in template is just naming the PDF you want.
Building slides
For recording a screen-share walkthrough of the guide, the same markdown builds a PowerPoint deck instead of a PDF:
make template.pptx # slide deck for the base version
make partners/<slug>.pptx # a specific partnership's deck
make slides # template.pptx + every partners/*.pptx
Pandoc turns each ## heading into its own slide. The PDF no longer mirrors
this one-section-per-page layout — since the guide has no per-step photography
to fill a page, its sections flow together into continuous pages instead
(see Notes below). The slide deck keeps one section per slide on purpose: it's
built for a narrated screen-share, where your voice fills the space a printed
page can't. If you want scripted talking points per slide, add a
::: notes ... ::: fenced div under a heading — pandoc exports those as
speaker notes rather than slide body text.
Pandoc's pptx writer doesn't read style.css (pptx isn't HTML-based), so the
slide theme instead comes from reference.pptx — a PowerPoint file whose
slide master carries the colors and fonts, built once by hand-editing its
theme XML to mirror style.css's dark background, heading blue, body text,
and accent colors, plus Roboto/Open Sans fonts. Edit it in PowerPoint/Keynote/
Google Slides (or its ppt/theme/theme1.xml and
ppt/slideMasters/slideMaster1.xml directly) if the slide theme ever needs to
diverge from or resync with the PDF's.
Starting a new partnership
cp template.md partners/<slug>.md
Edit the new file's title (front matter) and rewrite the opening/closing copy to bridge your angle with the partner's audience — the 3 Step sections and their pull-quotes are generally reusable as-is. Then:
make partners/<slug>.pdf
Notes
images/author-photo.jpgis the only photo in the guide, used on the cover and closing page. The guide deliberately doesn't use stock photography anywhere else — matching reground.org, which carries its identity through color, type, and voice rather than illustrative imagery. Each Step section instead gets a.pull-quotediv (seestyle.css) pulling one line verbatim from that section's own paragraph, which gives the page visual rhythm without adding a picture.- The PDF's
h2sections flow continuously (no forced page break) since there's no photo to justify each Step having its own page. Only the cover and the closing CTA force their own page break — a short guide with unbroken flow reads like a real pamphlet rather than a slide deck exported to PDF. template.htmlrenders the cover (title + byline + author photo) from the document's YAML front matter — you don't need to hand-write that part in the body of each.mdfile, just update the front matter.style.cssis the single source of truth for the visual theme. Edit it once andmake allrebuilds every partner PDF with the change.- The closing block's
:::: {.closing .columns}/::: {.column} :::structure matters for slides: pandoc's pptx writer silently drops an image if it shares a plain div with paragraph text, but keeps it in a two-column div..closing .columninstyle.cssflattens those columns back to a centered stack for the PDF, so the printed page looks the same as before. Keep that structure when editing the closing copy — a plain::: {.closing}div will make the author photo disappear from the slide deck.