Compare commits

..

5 Commits

Author SHA1 Message Date
will 039323ec44 Trim intro copy and give it a supporting image
The intro was the only slide/page without a graphic. Shortened it to two
sentences and added a matching photo, and dropped the CSS rule that let
Step 1 share a print page with the intro (needed now that the intro has
its own image and deserves a full page like every other section).
2026-08-06 19:22:34 -04:00
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
will a6d0bd4521 Add Cheyenne partnership version 2026-07-22 17:34:36 -04:00
will 5eb20a13ad copy edit base template; change cta link 2026-07-22 16:14:14 -04:00
will 22a98baed2 add partnership target to Makefile 2026-07-22 16:13:42 -04:00
8 changed files with 139 additions and 23 deletions
+2
View File
@@ -1 +1,3 @@
*.pdf *.pdf
*.pptx
!reference.pptx
+15 -2
View File
@@ -2,9 +2,11 @@ PANDOC = pandoc
PDF_ENGINE = weasyprint PDF_ENGINE = weasyprint
TEMPLATE = template.html TEMPLATE = template.html
CSS = style.css CSS = style.css
PPTX_REF = reference.pptx
PARTNERS = $(patsubst %.md,%.pdf,$(wildcard partners/*.md)) 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) all: template.pdf $(PARTNERS)
@@ -13,5 +15,16 @@ all: template.pdf $(PARTNERS)
%.pdf: %.md $(TEMPLATE) $(CSS) %.pdf: %.md $(TEMPLATE) $(CSS)
$(PANDOC) $< -o $@ --template=$(TEMPLATE) --pdf-engine=$(PDF_ENGINE) --standalone $(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: 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
+35 -3
View File
@@ -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 `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 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 ## Starting a new partnership
```sh ```sh
@@ -41,11 +66,18 @@ make partners/<slug>.pdf
## Notes ## Notes
- The 4 photos in `images/` were extracted from the original PDF. They're intentionally - The photos in `images/` (4 extracted from the original PDF, plus `intro-reader.jpg`
generic/illustrative (not specific to any one partnership) and don't need to change sourced from Pexels) are intentionally generic/illustrative (not specific to any one
per customization. partnership) and don't need to change per customization.
- `template.html` renders the cover (title + byline + author photo) from the document's - `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` YAML front matter — you don't need to hand-write that part in the body of each `.md`
file, just update the front matter. file, just update the front matter.
- `style.css` is the single source of truth for the visual theme. Edit it once and - `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. `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.
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

@@ -0,0 +1,55 @@
---
title: How To Get Your Stories In Front Of The Readers Who Need Them
author: Will Estes
---
Most advice on making a living as a writer tells you to hustle, place ads with the right keywords and the like. That absolutely works. It's also not why you're an author.
You want to know your story reached the one reader who needed it. And if there's one reader who needs your stories, there's more than one.
![](images/intro-reader.jpg)
## Step 1: Find a review by a reader who deeply connected with your story.
You're looking for reviews that go beyond "great book!" — the ones where a
reader took time to describe what the story did to them. They might be on
book-focused sites, blogs, or social media posts. These are the readers who
got it. They're the seed of everything that follows.
![](images/step-1-review.jpg)
## Step 2: Comment on their review with heartfelt thanks.
Thank the reviewer for their review. Ideally you do this on the review itself. Be as specific as they were. Be as warm as they were. You're not just
thanking one reader. You're showing every future reader what it looks like
when someone gets your work and you notice.
![](images/step-2-thankyou.jpg)
## Step 3: Share what they connected with in your story.
Share what the reader actually connected with in your story publicly to
your audience: on social media, your email list, wherever your readers are. Before you thanked them. Now you're responding to the specific thing they connected with.
You're not just responding to one person. You're becoming a beacon: showing
other readers like them that your stories are out there and that someone
who needed your stories already found them.
![](images/step-3-computer.jpg)
:::: {.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?**
Let's talk one on one and find out if working with me is the right fit for you. I'll
look at your specific situation. We'll map out how you get
your stories to reach the readers who need them.
[Get a Free Strategy Session](https://reground.org/talk){.cta-button}
:::
::::
BIN
View File
Binary file not shown.
+10 -5
View File
@@ -52,16 +52,14 @@ a {
margin: 1.5rem 0 0; margin: 1.5rem 0 0;
} }
/* One Step per page, like the original PDF */ /* One Step per page, like the original PDF. The intro (before Step 1) now
carries its own image too, so it gets a full page like every other
section instead of sharing Step 1's page. */
h2 { h2 {
page-break-before: always; page-break-before: always;
font-size: 1.5rem; font-size: 1.5rem;
} }
h2:first-of-type {
page-break-before: avoid;
}
img { img {
max-width: 100%; max-width: 100%;
border-radius: 0.5rem; border-radius: 0.5rem;
@@ -74,6 +72,13 @@ img {
text-align: center; 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 { .closing .author-photo {
width: 100px; width: 100px;
border-radius: 50%; border-radius: 50%;
+16 -7
View File
@@ -3,6 +3,12 @@ title: How To Get Your Stories In Front Of The Readers Who Need Them
author: Will Estes author: Will Estes
--- ---
Most advice on making a living as a writer tells you to hustle, place ads with the right keywords and the like. That absolutely works. It's also not why you're an author.
You want to know your story reached the one reader who needed it. And if there's one reader who needs your stories, there's more than one.
![](images/intro-reader.jpg)
## Step 1: Find a review by a reader who deeply connected with your story. ## Step 1: Find a review by a reader who deeply connected with your story.
You're looking for reviews that go beyond "great book!" — the ones where a You're looking for reviews that go beyond "great book!" — the ones where a
@@ -14,8 +20,7 @@ got it. They're the seed of everything that follows.
## Step 2: Comment on their review with heartfelt thanks. ## Step 2: Comment on their review with heartfelt thanks.
Reply publicly to the review — as a comment, a post, or an email to your Thank the reviewer for their review. Ideally you do this on the review itself. Be as specific as they were. Be as warm as they were. You're not just
list. Be as specific as they were. Be as warm as they were. You're not just
thanking one reader. You're showing every future reader what it looks like thanking one reader. You're showing every future reader what it looks like
when someone gets your work and you notice. when someone gets your work and you notice.
@@ -24,23 +29,27 @@ when someone gets your work and you notice.
## Step 3: Share what they connected with in your story. ## Step 3: Share what they connected with in your story.
Share what the reader actually connected with in your story publicly to Share what the reader actually connected with in your story publicly to
your audience: on social media, your email list, wherever your readers are. your audience: on social media, your email list, wherever your readers are. Before you thanked them. Now you're responding to the specific thing they connected with.
You're not just responding to one person. You're becoming a beacon: showing You're not just responding to one person. You're becoming a beacon: showing
other readers like them that your stories are out there and that someone other readers like them that your stories are out there and that someone
who needed your stories already found them. who needed your stories already found them.
![](images/step-3-computer.jpg) ![](images/step-3-computer.jpg)
::: {.closing} :::: {.closing .columns}
::: {.column width="30%"}
![](images/author-photo.jpg){.author-photo} ![](images/author-photo.jpg){.author-photo}
:::
::: {.column width="70%"}
By: Will Estes — ReGround By: Will Estes — ReGround
**Are you wondering how to get your stories in front of readers who need them?** **Are you wondering how to get your stories in front of readers who need them?**
Let's talk one on one and find out if this is the right fit for you. I'll Let's talk one on one and find out if working with me is the right fit for you. I'll
look at your specific situation. We'll map out how you keep writing and get look at your specific situation. We'll map out how you get
your stories to reach the readers who need them. your stories to reach the readers who need them.
[Get a Free Strategy Session](http://reground.org){.cta-button} [Get a Free Strategy Session](https://reground.org/talk){.cta-button}
::: :::
::::