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.
This commit is contained in:
2026-07-22 16:09:45 -04:00
parent 2a5b1edf19
commit 7da665ffaf
4 changed files with 48 additions and 0 deletions
+14
View File
@@ -312,6 +312,20 @@ input:focus, textarea:focus {
margin-top: 3rem;
}
/* Cal.com inline embed (layouts/partials/cal-embed.html) */
.cal-embed {
width: 100%;
height: 700px;
border-radius: var(--radius);
overflow: hidden;
margin: 2rem 0;
}
@media (max-width: 30rem) {
.cal-embed {
height: 600px;
}
}
/* Home page: hero photo floats left, first list wraps beside it, second
section clears below once the photo's height runs out. */
main img {
+7
View File
@@ -0,0 +1,7 @@
---
title: "Let's Talk"
description: "Book a free strategy session with Will Estes to talk about getting your stories in front of the readers who need them."
type: "talk"
hero_subhead: "Let's find out how to get your stories in front of the readers who need them. Pick a time below."
cal_link: "willestes/booking"
---
+19
View File
@@ -0,0 +1,19 @@
<div id="cal-inline" class="cal-embed"></div>
<script type="text/javascript">
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://app.cal.com/embed/embed.js", "init");
Cal("init", "talk", { origin: "https://cal.com" });
Cal.ns.talk("inline", {
elementOrSelector: "#cal-inline",
calLink: "{{ . }}",
config: { layout: "month_view" },
});
Cal.ns.talk("ui", {
theme: "dark",
cssVarsPerTheme: {
light: { "cal-brand": "#007f73" },
dark: { "cal-brand": "#2dd4c4" },
},
hideEventTypeDetails: false,
layout: "month_view",
});
</script>
+8
View File
@@ -0,0 +1,8 @@
{{ define "main" }}
<section class="course-hero">
<h1>{{ .Title }}</h1>
{{ with .Params.hero_subhead }}<p class="course-subhead">{{ . }}</p>{{ end }}
</section>
{{ with .Params.cal_link }}{{ partial "cal-embed.html" . }}{{ end }}
{{ end }}