diff --git a/.gitignore b/.gitignore index a136337..fc5ab6f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ *.pdf +*.pptx +!reference.pptx diff --git a/Makefile b/Makefile index 1e4d5ee..b1c8e8d 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,12 @@ -PANDOC = pandoc -PDF_ENGINE = weasyprint -TEMPLATE = template.html -CSS = style.css -PARTNERS = $(patsubst %.md,%.pdf,$(wildcard partners/*.md)) +PANDOC = pandoc +PDF_ENGINE = weasyprint +TEMPLATE = template.html +CSS = style.css +PPTX_REF = reference.pptx +PARTNERS = $(patsubst %.md,%.pdf,$(wildcard partners/*.md)) +PPTX_PARTNERS = $(patsubst %.md,%.pptx,$(wildcard partners/*.md)) -.PHONY: all clean +.PHONY: all slides clean all: template.pdf $(PARTNERS) @@ -13,8 +15,16 @@ all: template.pdf $(PARTNERS) %.pdf: %.md $(TEMPLATE) $(CSS) $(PANDOC) $< -o $@ --template=$(TEMPLATE) --pdf-engine=$(PDF_ENGINE) --standalone +# Slide deck for screen-share recordings. pptx ignores style.css -- its look +# (colors/fonts) comes from reference.pptx's slide master instead, so that's +# the file to edit if the slide theme needs to change. +slides: template.pptx $(PPTX_PARTNERS) + +%.pptx: %.md $(PPTX_REF) + $(PANDOC) $< -o $@ --reference-doc=$(PPTX_REF) + clean: - rm -f template.pdf partners/*.pdf + rm -f template.pdf template.pptx partners/*.pdf partners/*.pptx partnership: template.md cp template.md partners/$(SLUG).md diff --git a/README.md b/README.md index 0c79775..fcc4c23 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,31 @@ make clean # removes generated PDFs (never touches the .md `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: + +```sh +make template.pptx # slide deck for the base version +make partners/.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 ```sh @@ -49,3 +74,10 @@ make partners/.pdf 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. diff --git a/partners/find-your-right-readers-Cheyenne.md b/partners/find-your-right-readers-Cheyenne.md index 88a03d1..b49f195 100644 --- a/partners/find-your-right-readers-Cheyenne.md +++ b/partners/find-your-right-readers-Cheyenne.md @@ -36,9 +36,12 @@ who needed your stories already found them. ![](images/step-3-computer.jpg) -::: {.closing} +:::: {.closing .columns} +::: {.column width="30%"} ![](images/author-photo.jpg){.author-photo} +::: +::: {.column width="70%"} By: Will Estes — ReGround **Are you wondering how to get your stories in front of readers who need them?** @@ -49,3 +52,4 @@ your stories to reach the readers who need them. [Get a Free Strategy Session](https://reground.org/talk){.cta-button} ::: +:::: diff --git a/reference.pptx b/reference.pptx new file mode 100644 index 0000000..1354df0 Binary files /dev/null and b/reference.pptx differ diff --git a/style.css b/style.css index 5c29f55..08c630a 100644 --- a/style.css +++ b/style.css @@ -74,6 +74,13 @@ img { text-align: center; } +/* .closing is also a pandoc "columns" div (photo | text) so its image + survives in slide exports -- neutralize the side-by-side layout here so + the PDF still renders it as a centered stack. */ +.closing .column { + width: auto !important; +} + .closing .author-photo { width: 100px; border-radius: 50%; diff --git a/template.md b/template.md index 88a03d1..b49f195 100644 --- a/template.md +++ b/template.md @@ -36,9 +36,12 @@ who needed your stories already found them. ![](images/step-3-computer.jpg) -::: {.closing} +:::: {.closing .columns} +::: {.column width="30%"} ![](images/author-photo.jpg){.author-photo} +::: +::: {.column width="70%"} By: Will Estes — ReGround **Are you wondering how to get your stories in front of readers who need them?** @@ -49,3 +52,4 @@ your stories to reach the readers who need them. [Get a Free Strategy Session](https://reground.org/talk){.cta-button} ::: +::::