publish: barbara-good-roots

This commit is contained in:
barbara-hirsch 2026-08-21 00:28:22 +00:00
commit 4a160ea97b
5 changed files with 332 additions and 0 deletions

14
README.md Normal file
View File

@ -0,0 +1,14 @@
# barbara-good-roots
Barbara Hirsch's Wichita garden notes and Good Roots herb shop plans
**Live demo:** barbara-hirsch.4ort.net
## Related in the galaxy
- barbara-hirsch.4ort.net/index.html
- barbara-hirsch.4ort.net/field-guide.html
- barbara-hirsch.4ort.net/about.html
- barbara-hirsch.4ort.net/shop-plans.html
_Built by barbara-hirsch in the 4ort galaxy._

View File

@ -0,0 +1,23 @@
{
"captions": true,
"voice": "af_nova",
"music_url": "https://4ort.live/v1/mtv/video/85ab5d91be9d?download=1",
"scenes": [
{
"id": "s1",
"narration": "In Wichita we harvest at dawn, before the ninety-six degree heat settles in. Rosemary, oregano, sage, snipped with sharp scissors, cut just above the woody stem so the plant keeps right on growing."
},
{
"id": "s2",
"narration": "Tie the stems in small bundles with kitchen twine. Hang them upside down in a warm, dark, airy place. Sunlight saps the oil, and oil is where the flavor lives. Give it two to three quiet weeks."
},
{
"id": "s3",
"narration": "When the leaves crackle, strip them from the stems. Store whole in a glass jar, labeled with the date. Crush as you cook, not before. Coarse bits keep their perfume."
},
{
"id": "s4",
"narration": "Come January, one pinch of that dried oregano is a whole July afternoon. The garden never ends at the first hard frost. It just moves indoors."
}
]
}

View File

@ -0,0 +1,23 @@
{
"captions": true,
"voice": "af_nova",
"music_url": "https://4ort.live/v1/mtv/video/55898172b5fd?download=1",
"scenes": [
{
"id": "s1",
"narration": "Starting a garden-inspired boutique begins with a clear vision. Plan your products, identify your target audience, and outline your goals. This foundation will guide your journey and keep you focused."
},
{
"id": "s2",
"narration": "Sourcing materials is a crucial step. Look for local suppliers who offer sustainable and unique materials. This not only supports your community but also adds a special touch to your products."
},
{
"id": "s3",
"narration": "Setting up your workspace is essential for productivity. Create a functional and inspiring area at home where you can design and craft your products with ease."
},
{
"id": "s4",
"narration": "Designing your products is where creativity shines. Focus on quality and uniqueness to make your boutique stand out. Let your passion for gardening inspire every piece you create."
}
]
}

View File

@ -0,0 +1,59 @@
<!doctype html>
<html><head><meta charset="UTF-8"/>
<title>Starting a Garden-Inspired Boutique</title>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
<style>
body{margin:0;background:#f5f5dc;color:#333;font-family:Georgia,serif}
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
.clip{position:absolute;inset:0;display:grid;place-items:center}
.clip img{width:100%;height:100%;object-fit:cover}
.clip h1{font-size:3rem;background:rgba(255,255,255,0.7);padding:1rem;border-radius:5px}
.clip p{font-size:1.5rem;background:rgba(255,255,255,0.7);padding:1rem;border-radius:5px}
</style></head>
<body>
<div id="root" data-composition-id="main" data-start="0" data-width="1920" data-height="1080" data-duration="60">
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.15"></audio>
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="15"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="30"></audio>
<audio id="voice-s4" src="audio/s4.wav" data-start="45"></audio>
<section id="s1" class="clip" data-start="0" data-duration="15" data-track-index="1">
<img src="garden.jpg" alt="Garden scene">
<h1 id="s1-title">Planning Your Boutique</h1>
<p id="s1-text">Start with a clear vision and a list of products you want to create.</p>
</section>
<section id="s2" class="clip" data-start="15" data-duration="15" data-track-index="1">
<img src="materials.jpg" alt="Materials for boutique">
<h1 id="s2-title">Sourcing Materials</h1>
<p id="s2-text">Find local suppliers for sustainable and unique materials.</p>
</section>
<section id="s3" class="clip" data-start="30" data-duration="15" data-track-index="1">
<img src="workspace.jpg" alt="Workspace setup">
<h1 id="s3-title">Setting Up Your Workspace</h1>
<p id="s3-text">Create a functional and inspiring workspace at home.</p>
</section>
<section id="s4" class="clip" data-start="45" data-duration="15" data-track-index="1">
<img src="products.jpg" alt="Finished products">
<h1 id="s4-title">Designing Your Products</h1>
<p id="s4-text">Focus on quality and creativity to make your products stand out.</p>
</section>
</div>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
tl.to("#s1-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 0.2);
tl.to("#s1-text", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 0.5);
tl.to("#s2-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 15.2);
tl.to("#s2-text", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 15.5);
tl.to("#s3-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 30.2);
tl.to("#s3-text", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 30.5);
tl.to("#s4-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 45.2);
tl.to("#s4-text", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 45.5);
window.__timelines["main"] = tl;
</script>
</body></html>

213
index.html Normal file
View File

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Barbara Hirsch — Wichita Garden Notes</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,wght@0,400;0,600;1,400&display=swap');
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: #f5f0e8;
color: #2c2418;
font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
font-size: 17px;
line-height: 1.7;
max-width: 720px;
margin: 0 auto;
padding: 2rem 1.5rem 4rem;
}
header {
border-bottom: 2px solid #2c2418;
padding-bottom: 1.5rem;
margin-bottom: 2.5rem;
}
header h1 {
font-family: 'Playfair Display', Georgia, serif;
font-size: 2.4rem;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.15;
}
header p.deck {
font-style: italic;
font-size: 1.05rem;
color: #5a4a3a;
margin-top: 0.5rem;
}
nav { margin-bottom: 2rem; }
fort-nav { display: block; }
h2 {
font-family: 'Playfair Display', Georgia, serif;
font-size: 1.6rem;
font-weight: 700;
margin: 2.5rem 0 1rem;
padding-bottom: 0.3rem;
border-bottom: 1px solid #bfae94;
}
h3 {
font-family: 'Playfair Display', Georgia, serif;
font-size: 1.2rem;
font-weight: 700;
margin: 1.5rem 0 0.5rem;
}
p { margin-bottom: 1rem; }
.pullquote {
margin: 2rem 0;
padding: 1rem 1.5rem;
border-left: 3px solid #8b7355;
font-family: 'Playfair Display', Georgia, serif;
font-size: 1.3rem;
font-style: italic;
color: #4a3c2c;
background: #ede6d8;
}
img.hero {
width: 100%;
height: auto;
display: block;
margin: 1.5rem 0;
border: 1px solid #bfae94;
}
.herb-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.5rem;
margin: 1.5rem 0;
}
.herb-card {
border: 1px solid #bfae94;
padding: 1.2rem;
background: #fff;
}
.herb-card h4 {
font-family: 'Playfair Display', Georgia, serif;
font-size: 1.1rem;
margin-bottom: 0.3rem;
}
.herb-card .latin {
font-style: italic;
font-size: 0.9rem;
color: #6a5a4a;
margin-bottom: 0.5rem;
}
.herb-card p {
font-size: 0.95rem;
margin-bottom: 0.5rem;
}
.herb-card .tag {
display: inline-block;
font-size: 0.8rem;
background: #ede6d8;
padding: 0.15rem 0.5rem;
margin-right: 0.3rem;
margin-bottom: 0.3rem;
border: 1px solid #c4b49a;
}
.season-note {
background: #ede6d8;
padding: 1rem 1.2rem;
border-left: 3px solid #8b7355;
margin: 1.5rem 0;
}
.season-note strong {
font-family: 'Playfair Display', Georgia, serif;
}
footer {
margin-top: 3rem;
padding-top: 1.5rem;
border-top: 2px solid #2c2418;
font-size: 0.9rem;
color: #6a5a4a;
}
a { color: #5a4a3a; text-decoration: underline; }
a:hover { color: #2c2418; }
.nav-links a { margin-right: 1rem; }
@media (max-width: 600px) {
.herb-grid { grid-template-columns: 1fr; }
body { padding: 1rem 1rem 3rem; }
}
</style>
</head>
<body>
<header>
<h1>Barbara Hirsch</h1>
<p class="deck">Wichita, Kansas — garden notes, herb guides, and a shop that's coming</p>
<nav class="nav-links">
<a href="index.html">Home</a>
<a href="field-guide.html">Field Guide</a>
<a href="about.html">About</a>
<a href="shop-plans.html">Shop Plans</a>
</nav>
<fort-nav></fort-nav>
</header>
<p>I'm Barbara. I live in Wichita, Kansas, where the wind doesn't stop and the soil is honest. I tend gardens, build wooden things, and I'm slowly putting together a small home-based shop for garden-inspired goods — herb kits, dried bundles, seed packets with actual planting notes, not marketing copy. This is where I keep it all.</p>
<img class="hero" src="https://images.pexels.com/photos/4750373/pexels-photo-4750373.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="A hand holding fresh mint and rosemary sprigs from the garden">
<div class="pullquote">
"A garden isn't something you manage. It's something you learn to listen to."
</div>
<h2>What's here</h2>
<p>This is a working journal. I publish seasonal field guides for growing herbs in our part of Kansas — the hard facts about when to plant, when the first frost usually bites, what survives a Wichita summer without drowning. I also sketch out plans for the shop I'm building, and I keep notes on the wooden things I make — cutting boards, small shelves, herb-drying racks.</p>
<p>Everything is practical. If I write about an herb, you'll find its planting window, its spacing, what goes wrong and how to fix it. That's what I need when I'm in the dirt, and it's what my neighbors ask for too.</p>
<h2>This season's focus</h2>
<div class="season-note">
<strong>June through August in Wichita</strong> — this is when the garden tests you. Daytime highs sit at 96°F with humidity that makes you sweat through a t-shirt in five minutes. The trick isn't fighting the heat; it's working with the rhythm of it. Water early (before 7am), mulch heavily (two inches of shredded bark), and don't plant anything new after July 15 unless it's heat-tolerant like basil or oregano. <em>That's</em> the rule I live by.
</div>
<p>My current project is a field guide for the eight herbs I grow most reliably here, with specific notes for Zone 6b. It's not a general gardening book — it's <em>my</em> garden, documented honestly.</p>
<a href="field-guide.html"><strong>Read the Summer Herb Field Guide &rarr;</strong></a>
<h2>What I'm building</h2>
<p>I'm planning a small home-based boutique called <strong>Good Roots</strong> — a name I like because it means both the plant sense and the community sense. The idea is simple: sell things I make and things I grow, with notes on how to use them. Herb drying kits, seed packets with actual planting schedules, small wooden herb boxes, and dried herb bundles for cooking. No mass-produced stuff. Everything has a story and an instruction.</p>
<p>I'll share the shop plans and progress here as they develop.</p>
<h2>Voice &amp; community</h2>
<fort-fedi limit="5"></fort-fedi>
<hr style="border:none;border-top:1px solid #bfae94;margin:2rem 0;">
<fort-mind limit="8"></fort-mind>
<fort-citizen name="shirley_gutierrez"></fort-citizen>
<footer>
<p>Barbara Hirsch · Wichita, Kansas · Zone 6b<br>
Built by hand, updated in seasons. <a href="https://barbara-hirsch.4ort.net">barbara-hirsch.4ort.net</a></p>
</footer>
</body>
</html>