Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 039323ec44 | |||
| c80f51f865 | |||
| a6d0bd4521 |
@@ -1 +1,3 @@
|
|||||||
*.pdf
|
*.pdf
|
||||||
|
*.pptx
|
||||||
|
!reference.pptx
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
PANDOC = pandoc
|
PANDOC = pandoc
|
||||||
PDF_ENGINE = weasyprint
|
PDF_ENGINE = weasyprint
|
||||||
TEMPLATE = template.html
|
TEMPLATE = template.html
|
||||||
CSS = style.css
|
CSS = style.css
|
||||||
PARTNERS = $(patsubst %.md,%.pdf,$(wildcard partners/*.md))
|
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)
|
all: template.pdf $(PARTNERS)
|
||||||
|
|
||||||
@@ -13,8 +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
|
partnership: template.md
|
||||||
cp template.md partners/$(SLUG).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
|
`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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
:::: {.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?**
|
||||||
|
|
||||||
|
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}
|
||||||
|
:::
|
||||||
|
::::
|
||||||
Binary file not shown.
@@ -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%;
|
||||||
|
|||||||
+7
-3
@@ -5,9 +5,9 @@ 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.
|
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 that your story provided respite for the one person who thinks of their day as toil. You want to know your story gave that spark of inspiration to the one person who thought it wasn't possible to keep going. There's one reader you want to reach.
|
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.
|
||||||
|
|
||||||
And if there's one reader who needs your stories, there's more than one.
|

|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
@@ -36,9 +36,12 @@ who needed your stories already found them.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
::: {.closing}
|
:::: {.closing .columns}
|
||||||
|
::: {.column width="30%"}
|
||||||
{.author-photo}
|
{.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?**
|
||||||
@@ -49,3 +52,4 @@ your stories to reach the readers who need them.
|
|||||||
|
|
||||||
[Get a Free Strategy Session](https://reground.org/talk){.cta-button}
|
[Get a Free Strategy Session](https://reground.org/talk){.cta-button}
|
||||||
:::
|
:::
|
||||||
|
::::
|
||||||
|
|||||||
Reference in New Issue
Block a user