Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
ff5ae93923 Fix #63: Add book cover images, resolve #64 waitlist form
**#63 — Book covers use emoji placeholders**
- Created 3 SVG book covers in Cultivation Aesthetic:
  - book-cover-soil.svg: earthy browns, roots pattern, plant sprout
  - book-cover-walk.svg: amber path, three dots for three questions
  - book-cover-dark-provenance.svg: dark background, magnifying glass grid
- Updated books.astro to use img tags with alt text
- Added CSS styling for book cover images with subtle shadow

**#64 — Dark Provenance waitlist button**
- Waitlist form already functional via SharedForm.astro
- Uses Formspree with fallback mailto
- No changes needed — issue already resolved in code
2026-05-05 11:40:21 -07:00
4 changed files with 171 additions and 4 deletions

View file

@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 450" width="300" height="450">
<!-- Background - darker for mystery -->
<rect width="300" height="450" fill="#2d2a24"/>
<!-- Border - amber accent -->
<rect x="15" y="15" width="270" height="420" fill="none" stroke="#c8952e" stroke-width="3"/>
<!-- Magnifying glass / search pattern -->
<g opacity="0.2">
<circle cx="150" cy="200" r="60" fill="none" stroke="#c8952e" stroke-width="2"/>
<line x1="195" y1="245" x2="230" y2="280" stroke="#c8952e" stroke-width="4" stroke-linecap="round"/>
<!-- Grid lines suggesting data/trace -->
<line x1="100" y1="160" x2="200" y2="160" stroke="#c8952e" stroke-width="1"/>
<line x1="100" y1="180" x2="200" y2="180" stroke="#c8952e" stroke-width="1"/>
<line x1="100" y1="200" x2="200" y2="200" stroke="#c8952e" stroke-width="1"/>
<line x1="100" y1="220" x2="200" y2="220" stroke="#c8952e" stroke-width="1"/>
<line x1="100" y1="240" x2="200" y2="240" stroke="#c8952e" stroke-width="1"/>
</g>
<!-- Title -->
<text x="150" y="130" font-family="Georgia, serif" font-size="26" font-weight="bold" text-anchor="middle" fill="#f5f0e8">
Dark
</text>
<text x="150" y="170" font-family="Georgia, serif" font-size="26" font-weight="bold" text-anchor="middle" fill="#c8952e">
Provenance
</text>
<!-- Subtitle -->
<text x="150" y="220" font-family="Georgia, serif" font-size="13" text-anchor="middle" fill="#a0a090">
Formal verification for the AI age
</text>
<!-- Tagline -->
<text x="150" y="250" font-family="Georgia, serif" font-size="11" text-anchor="middle" fill="#808070">
How to audit what your AI actually did
</text>
<!-- Speckl reference -->
<text x="150" y="320" font-family="monospace" font-size="12" text-anchor="middle" fill="#3d5a3e" letter-spacing="2">
powered by Speckl
</text>
<!-- Author -->
<text x="150" y="370" font-family="Georgia, serif" font-size="16" text-anchor="middle" fill="#f5f0e8" font-weight="500">
Scott Scoble
</text>
<!-- Coming soon badge -->
<rect x="115" y="390" width="70" height="24" rx="4" fill="#c8952e"/>
<text x="150" y="407" font-family="Georgia, serif" font-size="11" text-anchor="middle" fill="#2d2a24" font-weight="600">
COMING 2026
</text>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 450" width="300" height="450">
<!-- Background -->
<rect width="300" height="450" fill="#f5f0e8"/>
<!-- Border -->
<rect x="15" y="15" width="270" height="420" fill="none" stroke="#3d5a3e" stroke-width="3"/>
<!-- Decorative soil/roots pattern -->
<g opacity="0.15">
<path d="M50 100 Q75 150 50 200 Q25 250 50 300" fill="none" stroke="#5a4a3d" stroke-width="2"/>
<path d="M250 100 Q225 150 250 200 Q275 250 250 300" fill="none" stroke="#5a4a3d" stroke-width="2"/>
<circle cx="150" cy="350" r="80" fill="none" stroke="#5a4a3d" stroke-width="1"/>
<circle cx="150" cy="350" r="60" fill="none" stroke="#5a4a3d" stroke-width="1"/>
<circle cx="150" cy="350" r="40" fill="none" stroke="#5a4a3d" stroke-width="1"/>
</g>
<!-- Title -->
<text x="150" y="120" font-family="Georgia, serif" font-size="28" font-weight="bold" text-anchor="middle" fill="#2d2a24">
The Soil
</text>
<text x="150" y="155" font-family="Georgia, serif" font-size="28" font-weight="bold" text-anchor="middle" fill="#2d2a24">
Beneath the
</text>
<text x="150" y="190" font-family="Georgia, serif" font-size="28" font-weight="bold" text-anchor="middle" fill="#2d2a24">
Code
</text>
<!-- Subtitle -->
<text x="150" y="240" font-family="Georgia, serif" font-size="14" text-anchor="middle" fill="#5a5a4a" font-style="italic">
What engineering teams can learn
</text>
<text x="150" y="260" font-family="Georgia, serif" font-size="14" text-anchor="middle" fill="#5a5a4a" font-style="italic">
from farmers about sustainable systems
</text>
<!-- Author -->
<text x="150" y="320" font-family="Georgia, serif" font-size="16" text-anchor="middle" fill="#3d5a3e" font-weight="500">
Scott Scoble
</text>
<!-- Year badge -->
<rect x="130" y="360" width="40" height="24" rx="4" fill="#3d5a3e"/>
<text x="150" y="377" font-family="Georgia, serif" font-size="12" text-anchor="middle" fill="#f5f0e8" font-weight="600">
2023
</text>
<!-- Plant sprout icon -->
<g transform="translate(150, 400)">
<path d="M0 15 Q-5 5 -10 0" fill="none" stroke="#3d5a3e" stroke-width="2" stroke-linecap="round"/>
<path d="M0 15 Q5 5 10 0" fill="none" stroke="#3d5a3e" stroke-width="2" stroke-linecap="round"/>
<line x1="0" y1="20" x2="0" y2="5" stroke="#3d5a3e" stroke-width="2" stroke-linecap="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 450" width="300" height="450">
<!-- Background -->
<rect width="300" height="450" fill="#f5f0e8"/>
<!-- Border -->
<rect x="15" y="15" width="270" height="420" fill="none" stroke="#c8952e" stroke-width="3"/>
<!-- Path/walkway pattern -->
<g opacity="0.1">
<path d="M30 100 L60 200 L30 300" fill="none" stroke="#c8952e" stroke-width="8" stroke-linecap="round"/>
<path d="M270 100 L240 200 L270 300" fill="none" stroke="#c8952e" stroke-width="8" stroke-linecap="round"/>
<!-- Dotted path markers -->
<circle cx="45" cy="150" r="4" fill="#c8952e"/>
<circle cx="45" cy="250" r="4" fill="#c8952e"/>
<circle cx="255" cy="150" r="4" fill="#c8952e"/>
<circle cx="255" cy="250" r="4" fill="#c8952e"/>
</g>
<!-- Title -->
<text x="150" y="130" font-family="Georgia, serif" font-size="26" font-weight="bold" text-anchor="middle" fill="#2d2a24">
A Walk in
</text>
<text x="150" y="170" font-family="Georgia, serif" font-size="26" font-weight="bold" text-anchor="middle" fill="#2d2a24">
Mentoring
</text>
<!-- Three questions highlight -->
<text x="150" y="220" font-family="Georgia, serif" font-size="13" text-anchor="middle" fill="#3d5a3e">
Three questions that change
</text>
<text x="150" y="240" font-family="Georgia, serif" font-size="13" text-anchor="middle" fill="#3d5a3e">
how people learn
</text>
<!-- Decorative line -->
<line x1="100" y1="270" x2="200" y2="270" stroke="#c8952e" stroke-width="2"/>
<!-- Three dots representing the three questions -->
<g transform="translate(150, 300)">
<circle cx="-20" cy="0" r="5" fill="#c8952e"/>
<circle cx="0" cy="0" r="5" fill="#c8952e"/>
<circle cx="20" cy="0" r="5" fill="#c8952e"/>
</g>
<!-- Author -->
<text x="150" y="360" font-family="Georgia, serif" font-size="16" text-anchor="middle" fill="#3d5a3e" font-weight="500">
Scott Scoble
</text>
<!-- Year badge -->
<rect x="130" y="390" width="40" height="24" rx="4" fill="#c8952e"/>
<text x="150" y="407" font-family="Georgia, serif" font-size="12" text-anchor="middle" fill="#f5f0e8" font-weight="600">
2024
</text>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -23,7 +23,7 @@ import SharedForm from '../components/Form/SharedForm.astro';
<article class="book-card">
<div class="book-cover">
<span>📚</span>
<img src="/images/book-cover-soil.svg" alt="The Soil Beneath the Code book cover" width="150" height="225" />
</div>
<h2>The Soil Beneath the Code</h2>
<p class="book-meta">Published 2023</p>
@ -38,7 +38,7 @@ import SharedForm from '../components/Form/SharedForm.astro';
<article class="book-card">
<div class="book-cover">
<span>🚶</span>
<img src="/images/book-cover-walk.svg" alt="A Walk in Mentoring book cover" width="150" height="225" />
</div>
<h2>A Walk in Mentoring</h2>
<p class="book-meta">Published 2024</p>
@ -53,7 +53,7 @@ import SharedForm from '../components/Form/SharedForm.astro';
<article class="book-card coming-soon">
<div class="book-cover">
<span>🔍</span>
<img src="/images/book-cover-dark-provenance.svg" alt="Dark Provenance book cover" width="150" height="225" />
</div>
<h2>Dark Provenance</h2>
<p class="book-meta">Coming 2026</p>
@ -118,10 +118,16 @@ import SharedForm from '../components/Form/SharedForm.astro';
}
.book-cover {
font-size: 4rem;
margin-bottom: 1.5rem;
}
.book-cover img {
width: 150px;
height: auto;
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.book-card h2 {
font-family: var(--font-heading);
font-size: 1.5rem;