Commit Graph

37 Commits

Author SHA1 Message Date
will 0bdf2b982b Add blog section (4 draft posts) and social post drafts for /platform funnel
Continues the content-engine plan: /platform, the homepage link, and the
small-business-infrastructure course are already live. This adds the
remaining pieces — a content/blog/ section with 4 long-form posts (kept
draft:true, so nothing goes live until reviewed) and a committed set of
~12 ready-to-copy social posts in drafts/social-posts.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-14 12:33:28 -04:00
will e967ddccbc Add /platform devops funnel, point homepage Technical Help link at it
deploy / deploy (push) Successful in 8s
Reuses the existing courses/single template so this doubles as both the
value-validation case study and the small-business-infrastructure email
course opt-in. /devops stays live as the direct contact-form path, just
no longer linked from the homepage.
2026-08-13 11:10:33 -04:00
will 00e8e56113 Update reground-tools script name (downloads-uploader was folded in and renamed)
deploy / deploy (push) Successful in 7s
2026-08-03 14:08:35 -04:00
will 3a40244d7f Add dedicated /devops funnel, leave /contact as generic form
deploy / deploy (push) Successful in 7s
Homepage's Technical Help CTA now points to a qualifying page for
DevOps prospects instead of the bare contact form.
2026-07-30 20:44:55 -04:00
will 2f4c7eaeb6 Switch deploy to CI-build + scoped rsync instead of shared-runner bind-mount
deploy / deploy (push) Successful in 6s
Piloting a fleet-wide change: CI now builds the site in an isolated
container and pushes output via rsync to a forced-command SSH key
restricted (via rrsync) to this site's own docroot only, instead of
relying on the shared Actions runner's blanket /var/www/** bind-mount
capability. See the static-site-deploy Ansible role.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 12:19:24 -04:00
will 09e5f40b31 Add credibility and curriculum preview content to /gift page
deploy / deploy (push) Successful in 4s
Fills the space between the two signup forms so the repeated CTA
reads as intentional rather than an accidental duplicate.
2026-07-26 22:34:53 -04:00
will dbebca1e45 tighten up gift funnel copy
deploy / deploy (push) Successful in 4s
2026-07-24 14:33:13 -04:00
will dbeb634110 Collect first/last name on the course enroll form
deploy / deploy (push) Successful in 4s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 19:47:33 -04:00
will 143ddfda92 removed bad attempt at humor on homepage
deploy / deploy (push) Successful in 3s
2026-07-22 20:03:41 -04:00
will f9d6d775a7 removed tool versions, not needed locally
deploy / deploy (push) Successful in 4s
2026-07-22 19:49:53 -04:00
will 6b7edc5b56 Document the gift/lead-magnet partnership pattern
deploy / deploy (push) Successful in 4s
Maps the four repos involved (reground-site, reground-gift-guide,
downloads-uploader, eec-courses) into one SOP, since none of it is
derivable from reading any single repo on its own.
2026-07-22 19:36:12 -04:00
will 7cbd68f704 Turn /gift into a branch bundle so partner subpages can be added later
deploy / deploy (push) Successful in 3s
Converts content/gift/index.md to _index.md and extracts the shared
hero/form rendering into a partial (courses-body.html) used by both
single.html and a new list.html, so /gift renders identically but can
now hold real child pages like /gift/<partner>/.

The gift.reground.org vanity redirect already forwards any path
generically (redir https://reground.org/gift{uri}), so no
infrastructure change is needed to support future partnership URLs
like gift.reground.org/cheyenne once a matching page exists here.
2026-07-22 19:20:01 -04:00
will c02512f688 Close the two remaining /gift funnel gaps
deploy / deploy (push) Successful in 4s
Add a hero image (rendered from the redesigned PDF's own cover) so the
opt-in page shows the actual resource instead of pure text, and make
the post-submit message PDF-specific with a working /gift-thanks
fallback link instead of a generic dead-end "check your inbox" line.

Both are opt-in per-page params (hero_image, success_message) so the
real drip-course page's rendering is unchanged.
2026-07-22 19:01:27 -04:00
will af69f463f5 Point gift-thanks download link at the redesigned PDF
deploy / deploy (push) Successful in 4s
The regenerated PDF (dark theme, /talk CTA) was uploaded to a new
path since the upload script always namespaces by slug.
2026-07-22 17:25:35 -04:00
will 7da665ffaf Add /talk booking page with cal.com inline embed
deploy / deploy (push) Successful in 4s
The gift PDF's closing CTA promises a conversation, so it needs a
landing page to point to. Kept separate from /gift-thanks since the
PDF can be read/forwarded independent of any signup on this site.
2026-07-22 16:09:45 -04:00
will 2a5b1edf19 Add root-wood mark to the site header
deploy / deploy (push) Successful in 4s
Traced from a piece of petrified root wood the user owns, simplified into
a flat currentColor SVG so it matches the header text in both light and
dark mode, plus a bio line explaining the connection.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 13:12:07 -04:00
will 3d197e5c9a Rename freebie -> gift
deploy / deploy (push) Successful in 4s
Matches the gift.<domain> vanity redirect's own name instead of a
different word for the same page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 11:05:48 -04:00
will 9953f4ad27 Bring the homepage headshot back into the repo
deploy / deploy (push) Successful in 4s
The Linode bucket added unnecessary indirection for a single small
static image. Commit will.jpg under static/images/ and point the
homepage at it directly; the now-orphaned copy has been deleted from
the reground-downloads bucket. The freebie PDF stays on
downloads.reground.org, unaffected.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 09:17:02 -04:00
will aa08908493 Fix accessibility bug: fully comment out disabled main menu entry
deploy / deploy (push) Successful in 4s
[[menu.main]] was left active while its name/url/weight fields were
commented out, so Hugo built one real menu entry with no name or URL.
The header template rendered it as an empty <a href="">, which screen
readers announce using the resolved href (the current page's own URL)
since there's no text or aria-label -- e.g. reading "freebie" on the
freebie page.
2026-07-13 12:48:10 -04:00
will 0a8631a0f2 Simplify homepage to a data-free markdown body with headshot
deploy / deploy (push) Successful in 4s
Replaces the hero_heading/subheading/intro param-driven layout with a
plain markdown body (headshot, Creative Help, Technical Help, bio), so
layouts/index.html just renders .Content. Headshot is served from the
Linode bucket (same convention as the freebie PDF) rather than
committed to git. CSS floats the photo left with the first list
wrapping beside it, matching the site's font/color patterns.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-11 16:47:14 -04:00
will e3a1c94597 Add /freebie and /freebie-thanks pages for the PDF lead magnet
deploy / deploy (push) Successful in 3s
/freebie reuses the courses/single layout (hero + signup form, same
mechanism as find-your-right-readers) via type: "courses" in front
matter, which controls layout lookup independently of the page's actual
URL — so the signup form is free, without the URL reading as
/courses/... for a single-PDF page. /freebie-thanks is a plain page
whose download link points at the new downloads.reground.org bucket.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 18:44:23 -04:00
will e1ba854abd remove top menu entires for now
deploy / deploy (push) Successful in 4s
2026-07-09 11:07:13 -04:00
will 3e258930a8 Populated eec landing page with actual content
deploy / deploy (push) Successful in 4s
2026-07-09 09:44:14 -04:00
will 0fded0b845 Removed pitch from eec layout 2026-07-09 09:43:36 -04:00
will ca5c8862fd Restructure course landing page into data-driven sections
Splits the single hardcoded-feeling course template into hero,
credibility, curriculum, and repeat-CTA sections, each rendering only
when its front matter fields are set. The enroll form (and its
EEC-trigger JS) moves into a reusable partial so it can appear more
than once on a page without id collisions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 08:51:49 -04:00
will 6afa0cdf0d Update signup status copy for the new readiness-email flow
deploy / deploy (push) Successful in 3s
Day one no longer sends immediately on signup — a readiness email
goes out first, and day one only sends once that's clicked. Update
the post-submit status text so it matches what actually happens.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 06:52:09 -04:00
will 39e8cdcd12 Accessibility pass: fix real WCAG contrast failures, add skip link and nav landmarks
deploy / deploy (push) Successful in 4s
Computed actual contrast ratios rather than eyeballing:
- White button text on teal was 3.67:1, fails AA (needs 4.5:1) — darkened
  the CTA color to 007f73, now 4.90:1.
- Rose nav-hover text was 2.50:1 on the header, 1.82:1 on the footer —
  both far below any AA threshold. Rose now shows as an underline instead
  of a text color change, so the accent survives without breaking
  legibility.
- Added a skip-to-content link (hidden until focused, standard pattern),
  aria-label on both nav landmarks (header nav and footer nav previously
  both announced as plain 'navigation' with no way to distinguish them),
  and an explicit high-contrast focus-visible ring — including a
  header-specific override since the default cta-color ring was only
  ~1:1 against the slate blue header background.

All values re-verified in both light and dark mode, not just light.
2026-07-08 19:17:03 -04:00
will 13cd32d878 Apply brand palette and typography
deploy / deploy (push) Successful in 4s
Reconciled two overlapping note sets — kept the intent from both,
resolved contradictions toward the more distinctive option (cream over
plain gray/white background), and fixed a couple of pairings that would
have been genuinely hard to read as written (teal button with taupe
text, rose links on taupe — both too low-contrast) by keeping the color
but swapping in white/higher-contrast text instead.

Slate blue header (firm, confident) with warm cream body (gentle,
breathing room), teal CTAs (clarity/action), dusty rose as the one purely
interactive/decorative touch (hover states), warm taupe grounding the
footer. Headings in slate blue to tie the brand color into the type
hierarchy. Roboto/Open Sans/Source Code Pro per the font pairing brief,
loaded via Google Fonts since that's what was specified.
2026-07-08 19:09:35 -04:00
will 1dcfe25552 Extract inline CSS into assets/css/main.css, loaded via Hugo Pipes
deploy / deploy (push) Successful in 3s
Minified and fingerprinted in production (cache-busting via content
hash), plain link in dev. Sets up for actual styling work — much easier
to find and edit than a <style> block buried in baseof.html.
2026-07-08 18:59:09 -04:00
will 857d863c6f Surface the backend's actual error message instead of a generic fallback
deploy / deploy (push) Successful in 3s
The API already returns specific, honest messages (e.g. 'this course
isn't open for signups yet' for an inactive course) — the frontend was
discarding them and always showing a generic 'something went wrong'.
2026-07-08 18:18:16 -04:00
will cf87ca5658 Fix contact/enroll confirmation being hidden along with the form it lived inside
deploy / deploy (push) Successful in 3s
Both forms nested their status message as a child of the <form>, so
form.hidden = true on success hid the confirmation right along with it —
looked like nothing happened. Contact form now resets and stays usable
(you can send another message) instead of disappearing; enroll form still
hides after signup (no reason to sign up twice), but its confirmation is
now a sibling so it actually stays visible.

Also generalized the privacy policy's language from being anchored on
email courses specifically to covering any use of the site.
2026-07-08 18:12:39 -04:00
will 46ae1ac430 Privacy/Terms: third-person ReGround voice, drop draft notice, link contact form not raw email
deploy / deploy (push) Successful in 3s
2026-07-08 17:58:08 -04:00
will 4445da18bb Add nav/footer, contact form, privacy/terms drafts, first course landing page
deploy / deploy (push) Successful in 4s
- 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).
2026-07-08 16:41:47 -04:00
will cd6ba1415c Drop PaperMod theme, use minimal self-contained templates
deploy / deploy (push) Successful in 3s
PaperMod's opengraph.html calls partial with a redundant "partials/"
prefix that the production Hugo version (0.154.5, from the
hugomods/hugo:exts build image) doesn't tolerate, breaking the build.
Rather than patch a vendored theme, replaced it with plain, dependency-
free layouts (baseof/index/single/list) that render the actual homepage
content directly. Verified building successfully against the exact
Hugo image/version the deploy pipeline uses.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 22:40:18 -04:00
will b6fad1939f retrigger
deploy / deploy (push) Failing after 3s
2026-07-08 02:23:12 +00:00
will 307b02e816 add deploy workflow
deploy / deploy (push) Failing after 54s
2026-07-08 02:17:28 +00:00
will 60c0f31118 Bootstrap Hugo site with PaperMod theme and custom homepage
Sets up the ReGround business site: PaperMod theme (v8.0) as a
submodule, pinned Hugo 0.124.1, and a custom homepage hero
overriding the theme's default blog-first layout with editable
front-matter copy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-07 22:04:45 -04:00