Files
reground-gift-guide/README.md
T
will c80f51f865 Add pptx slide-deck build target for screen-share recordings
Same markdown now also builds a PowerPoint deck (make slides /
make template.pptx) alongside the existing PDF, for recording
walkthrough videos. Styling comes from reference.pptx since pandoc's
pptx writer ignores style.css; its theme was hand-tuned to match the
PDF's dark palette and fonts.

Restructure the closing block into a two-column div so the author
photo survives in slide exports (pandoc drops images sharing a plain
div with paragraph text), with a CSS override so the PDF keeps its
original centered layout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 10:47:44 -04:00

3.5 KiB

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, matching the "one step per page" layout of the PDF. 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 photos are generally reusable as-is. Then:

make partners/<slug>.pdf

Notes

  • The 4 photos in images/ were extracted from the original PDF. They're intentionally generic/illustrative (not specific to any one partnership) and don't need to change per customization.
  • template.html renders 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 .md file, just update the front matter.
  • style.css is the single source of truth for the visual theme. Edit it once and make all rebuilds 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 .column in style.css flattens 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.