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>
This commit is contained in:
@@ -1 +1,3 @@
|
||||
*.pdf
|
||||
*.pptx
|
||||
!reference.pptx
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/<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
|
||||
|
||||
```sh
|
||||
@@ -49,3 +74,10 @@ make partners/<slug>.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.
|
||||
|
||||
@@ -36,9 +36,12 @@ who needed your stories already found them.
|
||||
|
||||

|
||||
|
||||
::: {.closing}
|
||||
:::: {.closing .columns}
|
||||
::: {.column width="30%"}
|
||||
{.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}
|
||||
:::
|
||||
::::
|
||||
|
||||
Binary file not shown.
@@ -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%;
|
||||
|
||||
+5
-1
@@ -36,9 +36,12 @@ who needed your stories already found them.
|
||||
|
||||

|
||||
|
||||
::: {.closing}
|
||||
:::: {.closing .columns}
|
||||
::: {.column width="30%"}
|
||||
{.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}
|
||||
:::
|
||||
::::
|
||||
|
||||
Reference in New Issue
Block a user