From 4445da18bb258d16cdf09d0b40917df19098c0f0 Mon Sep 17 00:00:00 2001 From: Will Estes Date: Wed, 8 Jul 2026 16:41:47 -0400 Subject: [PATCH] Add nav/footer, contact form, privacy/terms drafts, first course landing page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - baseof.html: proper header/nav/footer, CSS custom properties for light/dark, button and form component styles — no external theme dependency, avoiding the submodule/version churn from the earlier PaperMod attempt. - Contact page: real form (honeypot spam protection) posting to the eec service's new /contact endpoint, replacing the plain mailto CTA. - Privacy Policy and Terms drafts — grounded in what's actually true here (self-hosted mail/course infra, no third-party trackers), flagged as drafts pending review. - courses/ section with a generic single template driven by front matter (eec_slug, pitch) and the first course, Find Your Right Readers — landing page only; the actual course content isn't authored in eec-courses yet, so enrolling will 404 until that's written. - Fixed hugo.toml baseURL (was www.reground.org, but Caddy's canonical host is the bare domain — www redirects to it, not the other way). --- content/_index.md | 2 +- content/contact.md | 5 + content/courses/_index.md | 6 + .../courses/find-your-right-readers/index.md | 11 ++ content/privacy.md | 64 +++++++ content/terms.md | 50 ++++++ hugo.toml | 30 +++- layouts/_default/baseof.html | 168 +++++++++++++++++- layouts/_default/contact.html | 55 ++++++ layouts/courses/single.html | 46 +++++ layouts/index.html | 2 +- 11 files changed, 425 insertions(+), 14 deletions(-) create mode 100644 content/contact.md create mode 100644 content/courses/_index.md create mode 100644 content/courses/find-your-right-readers/index.md create mode 100644 content/privacy.md create mode 100644 content/terms.md create mode 100644 layouts/_default/contact.html create mode 100644 layouts/courses/single.html diff --git a/content/_index.md b/content/_index.md index d0e9be7..00a50f3 100644 --- a/content/_index.md +++ b/content/_index.md @@ -9,5 +9,5 @@ intro: | book, and what a reader is searching for when they pick one up — and use that to build a path between them. cta_text: "Get in touch" -cta_link: "mailto:hello@reground.org" +cta_link: "/contact/" --- diff --git a/content/contact.md b/content/contact.md new file mode 100644 index 0000000..6744fe4 --- /dev/null +++ b/content/contact.md @@ -0,0 +1,5 @@ +--- +title: "Contact" +layout: "contact" +description: "Get in touch with ReGround." +--- diff --git a/content/courses/_index.md b/content/courses/_index.md new file mode 100644 index 0000000..18b501f --- /dev/null +++ b/content/courses/_index.md @@ -0,0 +1,6 @@ +--- +title: "Courses" +description: "Free email courses from ReGround." +--- + +Short, free email courses — sign up and they land in your inbox at whatever pace suits you. diff --git a/content/courses/find-your-right-readers/index.md b/content/courses/find-your-right-readers/index.md new file mode 100644 index 0000000..3643fa7 --- /dev/null +++ b/content/courses/find-your-right-readers/index.md @@ -0,0 +1,11 @@ +--- +title: "Find Your Right Readers" +description: "A free email course for fiction authors on finding the readers who were always meant to find their story." +eec_slug: "find-your-right-readers" +pitch: | + Most advice about "finding readers" is really just advice about marketing — + ads, algorithms, funnels. This is different. Over a few short emails, at + whatever pace you want to take it, I'll walk through how to think about who + your right readers actually are, and how to build a real path to them + instead of shouting into the void. +--- diff --git a/content/privacy.md b/content/privacy.md new file mode 100644 index 0000000..bf5891c --- /dev/null +++ b/content/privacy.md @@ -0,0 +1,64 @@ +--- +title: "Privacy Policy" +description: "How ReGround collects, uses, and protects your information." +--- + +_Last updated: July 2026_ + +**This is a draft.** It hasn't been reviewed by a lawyer. Review before treating it as final. + +This policy explains what information ReGround ("I," "me") collects through +reground.org and its related email courses, and what happens to it. + +## What I collect + +- **Contact form**: the name, email address, and message you submit. +- **Email courses**: the email address you sign up with, and which step of + a course you've reached (so the course can be delivered at your pace). +- **Newsletter list**: if you opt in at the end of a course (or by another + explicit signup), your email address and name, if given. + +I don't use third-party analytics, ad trackers, or tracking pixels on this +site. Email delivery, the course system, and the mailing list all run on +infrastructure I operate myself — nothing is handed to a third-party +marketing platform. + +## Why I collect it + +- To respond to messages sent through the contact form. +- To deliver the email course(s) you sign up for. +- To send periodic updates to people who've explicitly opted in — never + as a side effect of using the contact form or taking a course. + +## What I don't do + +- I don't sell or rent your information to anyone. +- I don't share it with third parties except the infrastructure providers + necessary to run this site and send email (e.g. the hosting provider and + its network) — none of whom get to use it for their own purposes. + +## Your control over it + +- **Unsubscribe**: every newsletter email includes an unsubscribe link. + Clicking it removes you from that list immediately. +- **Email courses**: courses are self-paced with no ongoing subscription — + once you've received the emails, there's nothing further to opt out of + unless you also joined the newsletter list. +- **Deletion**: email me at [hello@reground.org](mailto:hello@reground.org) + and I'll delete your information from these systems. + +## Security + +Your information is stored on infrastructure I control directly, not +handed off to third-party SaaS platforms. That doesn't make it invulnerable +— no system is — but it does mean there's exactly one place your data +lives, and one person accountable for it. + +## Changes + +If this policy changes in a way that matters, I'll update the date at the +top of this page. + +## Questions + +[hello@reground.org](mailto:hello@reground.org) diff --git a/content/terms.md b/content/terms.md new file mode 100644 index 0000000..2ad735e --- /dev/null +++ b/content/terms.md @@ -0,0 +1,50 @@ +--- +title: "Terms of Use" +description: "Terms for using reground.org and its email courses." +--- + +_Last updated: July 2026_ + +**This is a draft.** It hasn't been reviewed by a lawyer. Review before treating it as final. + +These terms cover using reground.org, its free email courses, and +submitting the contact form. They don't cover the terms of any paid +coaching, ghostwriting, or consulting engagement — those are agreed +separately, in writing, before any paid work begins. + +## Using this site + +This site and its free email courses are provided as-is, for informational +and educational purposes. Nothing on it is professional advice specific to +your situation — it's general guidance, and you're responsible for how you +apply it. + +## Email courses + +Course content is mine, written for general educational use by whoever +signs up. You're welcome to apply what you learn to your own work; you're +not entitled to redistribute, resell, or republish the course content +itself without asking first. + +## No warranty + +This site and its content are provided without warranties of any kind, +express or implied. I make a good-faith effort to keep things accurate and +working, but I don't guarantee any particular outcome from taking a free +course or reading anything published here. + +## Liability + +To the extent the law allows, I'm not liable for damages arising from your +use of this site or its content. If you're looking for guarantees around a +specific outcome, that belongs in a paid engagement's written agreement, +not these terms. + +## Changes + +I may update these terms as the site changes. Material changes will update +the date at the top of this page. + +## Questions + +[hello@reground.org](mailto:hello@reground.org) diff --git a/hugo.toml b/hugo.toml index dfb01d7..37cae15 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,4 +1,4 @@ -baseURL = "https://www.reground.org/" +baseURL = "https://reground.org/" locale = "en-US" title = "ReGround" @@ -12,7 +12,29 @@ disableKinds = ["taxonomy", "term"] env = "production" description = "ReGround helps fiction authors find the readers who were always meant to find them." author = "Will Estes" + eec_base_url = "https://eec.reground.org" -# Menu is intentionally minimal for now — add Blog/About/Contact -# entries here as those sections come online. -[menu] +[[menu.main]] + name = "Courses" + url = "/courses/" + weight = 10 + +[[menu.main]] + name = "Contact" + url = "/contact/" + weight = 20 + +[[menu.footer]] + name = "Contact" + url = "/contact/" + weight = 10 + +[[menu.footer]] + name = "Privacy" + url = "/privacy/" + weight = 20 + +[[menu.footer]] + name = "Terms" + url = "/terms/" + weight = 30 diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 53acd59..a3b13ad 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -6,29 +6,181 @@ {{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} · {{ .Site.Title }}{{ end }} +
+
+ {{ .Site.Title }} + +
+
+
{{ block "main" . }}{{ end }}
+ + diff --git a/layouts/_default/contact.html b/layouts/_default/contact.html new file mode 100644 index 0000000..8025f26 --- /dev/null +++ b/layouts/_default/contact.html @@ -0,0 +1,55 @@ +{{ define "main" }} +

Get in touch

+

Tell me a bit about what you're working on — I read every message myself.

+ +
+ + + + + + + + + + + + +

+
+ + +{{ end }} diff --git a/layouts/courses/single.html b/layouts/courses/single.html new file mode 100644 index 0000000..8e9c833 --- /dev/null +++ b/layouts/courses/single.html @@ -0,0 +1,46 @@ +{{ define "main" }} +

{{ .Title }}

+{{ with .Params.pitch }}
{{ . | markdownify }}
{{ end }} +{{ .Content }} + +
+ + + + + + +

+
+ + +{{ end }} diff --git a/layouts/index.html b/layouts/index.html index 5b46675..173e9f0 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -4,7 +4,7 @@
{{ .Params.intro | markdownify }}
{{ with .Params.cta_text }}

- {{ . }} + {{ . }}

{{ end }} {{ end }}