Rename to Kestrel's Builds, restyle index after Kestrel's Hall
Index copy no longer promises templates or print files for every build. Add tip jar link and back links from the Green Man page to the index. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GrX9qMoNihcWLX3xoJhabw
This commit is contained in:
1 parent
2dba395059
commit
4dc9a51731
4 files changed
+128
-69
No files matched your search
@@ -4,13 +4,13 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
## Project Overview
|
||||
|
||||
Builds is a static site of craft build write-ups: templates, 3D print files and step-by-step guides. There is no build step and no backend.
|
||||
Kestrel's Builds is a static site of craft build write-ups. Builds vary (foam and printed parts, paint techniques, sewing, electronics), so each one ships a guide plus whatever files that project needs. The index must not promise templates or print files for every build. There is no build step and no backend.
|
||||
|
||||
**Live URL:** https://builds.kestrelsnest.social
|
||||
|
||||
## File Structure
|
||||
|
||||
- `index.html` - Site index (HTML/CSS in one file, no JavaScript). One `<li class="build">` card per build, newest first.
|
||||
- `index.html` - Site index (HTML/CSS in one file, no JavaScript). One `<a class="build">` card per build, newest first; the newest also has class `first` (full-width card).
|
||||
- `og-image.jpg` - OpenGraph image for the index, 1200 x 630
|
||||
- `deploy` - Rsync deployment script
|
||||
- `<build>/` - One folder per build, self-contained: `index.html`, `img/`, `dl/`
|
||||
@@ -19,9 +19,10 @@ Builds is a static site of craft build write-ups: templates, 3D print files and
|
||||
## Conventions
|
||||
|
||||
- Each build folder is self-contained and uses relative links, so it works at any path.
|
||||
- Build pages and the index share a look: Bricolage Grotesque for headings, Inter for text, the same green accent and neutral tokens, light and dark via `prefers-color-scheme`.
|
||||
- The index is a sister page to Kestrel's Hall (gamehall.kestrelsnest.social): the same dark ink / bone / gold tokens, the same serif stack, the same card and section structure. Keep them in step.
|
||||
- Every build page links back to the index with `<a href="../">` at its top and bottom (`.home` in `greenman/index.html`).
|
||||
- Downloads live in `<build>/dl/`. Zip files there are part of the site, so `*.zip` is deliberately NOT in `.gitignore`.
|
||||
- `greenman/index.html` is generated from the mask kit's own source (not in this repo). Hand edits to it are lost when the kit is regenerated; change the source and re-copy.
|
||||
- `greenman/index.html` is generated from the mask kit's own source (not in this repo). Hand edits to it are lost when the kit is regenerated; change the source and re-copy, then re-add the two `.home` back links and their CSS.
|
||||
|
||||
## Adding a build
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Builds
|
||||
# Kestrel's Builds
|
||||
|
||||
Write-ups of things I've made, each with its templates, print files and a step-by-step guide.
|
||||
Write-ups of things I've made, each with a guide and whatever files that project needs.
|
||||
|
||||
**Live:** https://builds.kestrelsnest.social
|
||||
|
||||
@@ -21,8 +21,9 @@ greenman/ - Green Man mask
|
||||
## Adding a build
|
||||
|
||||
1. Make a folder for it, named in lowercase with no spaces (`greenman`, `atompunk`). Put its page at `<folder>/index.html`, with its images and downloads inside the folder so its links stay relative.
|
||||
2. In the top-level `index.html`, copy a `<li class="build">` block to the top of the list and change the link, image, alt text, title, description and tags. The card image is cropped to 4:3, biased toward the top of the photo.
|
||||
3. Run `./deploy -n` to check what will be uploaded, then `./deploy`.
|
||||
2. In the top-level `index.html`, copy an `<a class="build">` card to the top of the list and change the link, image, alt text, title and the three lines of text. The newest build carries the extra class `first`, which gives it the full-width card; take `first` off the one it replaces. Card images are cropped to fit, so set `object-position` for the new image as `.greenman` does.
|
||||
3. Give the new build's page a link back to the index, as `greenman/index.html` has at its top and bottom: `<a href="../">← Kestrel's Builds</a>`.
|
||||
4. Run `./deploy -n` to check what will be uploaded, then `./deploy`.
|
||||
|
||||
## Local preview
|
||||
|
||||
|
||||
+4
-2
@@ -63,11 +63,13 @@ table.dense { font-size: 0.8rem; min-width: 760px; }
|
||||
.dl .dlbtn b { font-family: var(--display); font-size: 1.05rem; } .dl .dlbtn span { font-size: 0.82rem; color: var(--muted); }
|
||||
#dl-status { font-size: 0.88rem; color: var(--muted); min-height: 1.4em; }
|
||||
@media (max-width: 760px) { .cover, .cols, .step, .stage { grid-template-columns: minmax(0, 1fr); } .cover-photo { max-width: 360px; } .leafstrip { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
|
||||
.home { margin: 0 0 24px; font-size: 0.9rem; font-weight: 600; } .home a { text-decoration: none; } .home a:hover, .home a:focus-visible { text-decoration: underline; }
|
||||
.home.foot { margin: 48px 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
|
||||
</style>
|
||||
<style>body{margin:0}img{max-width:100%}</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap"><header class="cover"><div class="cover-text"><p class="kicker">Build guide</p><h1>Green Man mask</h1>
|
||||
<div class="wrap"><p class="home"><a href="../">← Kestrel’s Builds</a></p><header class="cover"><div class="cover-text"><p class="kicker">Build guide</p><h1>Green Man mask</h1>
|
||||
<p class="lead">A half-mask of oak leaves, acorns and bark, built for people who wear glasses. The structure is EVA foam with a handful of 3D-printed details, and your glasses go on over it.</p>
|
||||
<dl class="facts"><div><dt>Hands-on time</dt><dd>about 8 hours over 3 evenings</dd></div><div><dt>Printing</dt><dd>16 small parts, printed unattended</dd></div>
|
||||
<div><dt>Foam</dt><dd>1 base, 27 leaves</dd></div><div><dt>Skills</dt><dd>craft knife, heat gun, contact cement</dd></div></dl></div>
|
||||
@@ -94,7 +96,7 @@ table.dense { font-size: 0.8rem; min-width: 760px; }
|
||||
<div><dt>Application</dt><dd>brushed, apart from the sealer and optional varnish</dd></div><div><dt>Finish by</dt><dd>the evening before you wear it</dd></div></dl></div>
|
||||
<figure class="photo cover-photo"><img src="img/finished_front.jpg" alt="Finished and worn." loading="lazy"><figcaption>Finished and worn.</figcaption></figure></header><section><h2>Paints and brushes</h2><div class="tw"><table class="data"><thead><tr><th>Paint</th><th>Amount</th><th>Notes</th></tr></thead><tbody><tr><td>Plasti Dip spray, black or grey</td><td>1 can</td><td>Sealer. Flexible, so it does not crack when leaves bend.</td></tr><tr><td>Dark green</td><td>most used</td><td>Phthalo, Hooker’s or forest green. Base for all leaves, tendrils and foam.</td></tr><tr><td>Mid green</td><td></td><td>Sap green or similar. The main leaf colour.</td></tr><tr><td>Yellow-green</td><td>a little</td><td>Mid green plus yellow. Leaf highlights.</td></tr><tr><td>Dark brown (burnt umber)</td><td></td><td>Base for bark and acorns, and thinned for the wash.</td></tr><tr><td>Warm brown</td><td>a little</td><td>Burnt or raw sienna.</td></tr><tr><td>Tan or old gold</td><td>a little</td><td>Ridge tops and acorn caps.</td></tr><tr><td>Gloss varnish or clear nail polish</td><td>a few drops</td><td>Acorn nuts.</td></tr><tr><td>Matte spray varnish</td><td>optional</td><td>Protects the finish.</td></tr></tbody></table></div>
|
||||
<p><b>Brushes.</b> A 12 mm flat for base coats, an old stiff 8 mm flat for all the dry-brushing, a 4 mm round for the wash and the gloss. Paper towels, a water cup, a damp rag, a drop of dish soap for the wash, painter’s tape. Ordinary craft acrylics are fine.</p></section><section><h2>Why this order</h2><div class="cols"><div><ul class=""><li><b>Sealer goes on first.</b> Paint soaks into bare foam and flakes off bare PLA.</li><li><b>Dark base coats come before anything light</b>, since dry-brushing only shows over a darker colour.</li><li><b>Highlights go on before the wash.</b> If a highlight came out too strong, the wash softens it.</li><li><b>The tall centre leaves get one more highlight after the wash</b>, because the wash flattens them most.</li><li><b>Gloss is the last thing on</b>, as either the wash or a matte varnish would dull it.</li></ul></div>
|
||||
<div><p>One medium leaf through five of the stages:</p><div class="leafstrip"><figure><svg xmlns="http://www.w3.org/2000/svg" viewBox="-30 -74 60 90"><path d="M-11.13 -41.62 L-11.07 -41.62 L-11.01 -41.64 L-10.96 -41.66 L-10.9 -41.68 L-10.85 -41.71 L-10.8 -41.75 L-10.76 -41.79 L-10.72 -41.83 L-10.69 -41.88 L-10.65 -41.93 L-10.63 -41.99 L-10.61 -42.04 L-10.6 -42.1 L-10.59 -42.16 L-10.58 -42.22 L-10.59 -42.28 L-10.6 -42.34 L-10.61 -42.4 L-10.63 -42.45 L-10.66 -42.51 L-10.69 -42.56 L-10.73 -42.6 L-10.77 -42.65 L-10.81 -42.69 L-10.86 -42.72 L-10.91 -42.75 L-10.97 -42.77 L-11.06 -42.81 L-11.07 -42.81 L-11.69 -43.04 L-11.69 -43.04 L-12.38 -43.3 L-13.13 -43.58 L-13.92 -43.88 L-13.93 -43.88 L-14.75 -44.21 L-14.75 -44.21 L-15.59 -44.56 L-15.6 -44.57 L-16.44 -44.94 L-16.45 -44.95 L-17.29 -45.35 L-17.3 -45.35 L-18.11 -45.78 L-18.13 -45.78 L-18.91 -46.24 L-18.92 -46.24 L-19.66 -46.72 L-19.67 -46.73 L-20.36 -47.23 L-20.38 -47.24 L-21 -47.75 L-21.02 -47.77 L-21.58 -48.3 L-21.59 -48.31 L-22.08 -48.85 L-22.09 -48.87 L-22.49 -49.41 L-22.51 -49.44 L-22.82 -49.98 L-22.84 -50.02 L-23.06 -50.56 L-23.07 -50.57 L-23.07 -50.58 L-23.19 -51.13 L-23.19 -51.15 L-23.19 -51.16 L-23.21 -51.7 L-23.21 -51.71 L-23.21 -51.73 L-23.11 -52.26 L-23.1 -52.27 L-23.1 -52.29 L-22.89 -52.81 L-22.89 -52.82 L-22.88 -52.83 L-22.57 -53.33 L-22.55 -53.37 L-22.14 -53.85 L-22.12 -53.87 L-21.62 -54.34 L-21.6 -54.36 L-21.01 -54.8 L-20.99 -54.81 L-20.33 -55.23 L-20.3 -55.24 L-19.57 -55.62 L-19.55 -55.63 L-18.74 -55.97 L-18.72 -55.97 L-17.86 -56.27 L-17.84 -56.28 L-16.93 -56.54 L-16.92 -56.54 L-15.98 -56.77 L-15.97 -56.77 L-15.02 -56.97 L-15.01 -56.98 L-14.06 -57.15 L-14.06 -57.15 L-13.13 -57.31 L-12.24 -57.45 L-11.41 -57.59 L-11.4 -57.59 L-10.65 -57.72 L-10.64 -57.73 L-9.99 -57.86 L-9.96 -57.86 L-9.43 -57.99 L-9.38 -58.01 L-9.09 -58.11 L-9.03 -58.13 L-8.98 -58.16 L-8.93 -58.19 L-8.89 -58.23 L-8.85 -58.27 L-8.81 -58.31 L-8.78 -58.36 L-8.75 -58.41 L-8.72 -58.47 L-8.71 -58.52 L-8.69 -58.58 L-8.69 -58.64 L-8.69 -58.69 L-8.69 -58.75 L-8.7 -58.81 L-8.72 -58.87 L-8.74 -58.92 L-8.76 -58.97 L-8.79 -59.02 L-8.83 -59.07 L-8.87 -59.11 L-8.91 -59.15 L-9.08 -59.28 L-9.12 -59.31 L-9.59 -59.63 L-9.61 -59.63 L-10.19 -60 L-10.85 -60.42 L-10.85 -60.42 L-11.53 -60.88 L-11.54 -60.88 L-12.2 -61.38 L-12.22 -61.4 L-12.83 -61.94 L-12.85 -61.96 L-13.38 -62.54 L-13.41 -62.57 L-13.85 -63.19 L-13.87 -63.22 L-14.2 -63.86 L-14.21 -63.9 L-14.44 -64.54 L-14.44 -64.55 L-14.45 -64.56 L-14.55 -65.18 L-14.55 -65.2 L-14.55 -65.21 L-14.54 -65.78 L-14.53 -65.8 L-14.53 -65.81 L-14.38 -66.32 L-14.38 -66.33 L-14.37 -66.34 L-14.1 -66.78 L-14.09 -66.79 L-14.08 -66.81 L-13.7 -67.19 L-13.69 -67.2 L-13.68 -67.21 L-13.21 -67.54 L-13.17 -67.56 L-12.61 -67.84 L-12.58 -67.86 L-11.93 -68.1 L-11.91 -68.11 L-11.18 -68.32 L-11.16 -68.32 L-10.38 -68.5 L-10.37 -68.5 L-9.53 -68.64 L-9.52 -68.64 L-8.66 -68.76 L-8.65 -68.76 L-7.76 -68.86 L-7.75 -68.86 L-6.85 -68.95 L-6.85 -68.95 L-5.95 -69.02 L-5.07 -69.09 L-5.07 -69.09 L-4.21 -69.15 L-4.21 -69.15 L-3.4 -69.22 L-3.39 -69.22 L-2.64 -69.3 L-2.62 -69.3 L-1.94 -69.39 L-1.91 -69.4 L-1.32 -69.5 L-1.28 -69.51 L-0.8 -69.63 L-0.73 -69.65 L-0.38 -69.78 L-0.33 -69.81 L-0.28 -69.83 L-0.01 -69.99 L-0 -70 L0.01 -69.99 L0.24 -69.85 L0.3 -69.82 L0.35 -69.8 L0.68 -69.67 L0.75 -69.66 L1.22 -69.54 L1.26 -69.53 L1.86 -69.43 L1.88 -69.42 L2.58 -69.33 L2.59 -69.33 L3.36 -69.25 L3.37 -69.25 L4.21 -69.17 L4.21 -69.17 L5.09 -69.1 L6.01 -69.03 L6.94 -68.95 L6.95 -68.94 L7.88 -68.85 L7.89 -68.85 L8.81 -68.74 L8.82 -68.74 L9.72 -68.62 L9.73 -68.61 L10.59 -68.46 L10.61 -68.46 L11.42 -68.28 L11.43 -68.28 L12.18 -68.07 L12.2 -68.06 L12.87 -67.82 L12.9 -67.8 L13.47 -67.52 L13.5 -67.5 L13.97 -67.18 L13.99 -67.17 L14 -67.16 L14.37 -66.79 L14.37 -66.78 L14.38 -66.77 L14.63 -66.34 L14.63 -66.33 L14.64 -66.31 L14.75 -65.83 L14.75 -65.82 L14.75 -65.8 L14.72 -65.26 L14.72 -65.24 L14.72 -65.23 L14.55 -64.64 L14.55 -64.63 L14.55 -64.61 L14.26 -64 L14.24 -63.97 L13.85 -63.34 L13.83 -63.32 L13.34 -62.7 L13.32 -62.68 L12.75 -62.1 L12.73 -62.08 L12.08 -61.53 L12.07 -61.52 L11.39 -61.01 L11.38 -61 L10.7 -60.53 L10.69 -60.53 L10.03 -60.1 L9.44 -59.71 L9.43 -59.7 L8.95 -59.37 L8.91 -59.34 L8.66 -59.14 L8.62 -59.1 L8.58 -59.05 L8.54 -59.01 L8.51 -58.95 L8.49 -58.9 L8.47 -58.84 L8.46 -58.78 L8.45 -58.73 L8.45 -58.67 L8.45 -58.61 L8.46 -58.55 L8.48 -58.49 L8.5 -58.43 L8.52 -58.38 L8.56 -58.33 L8.59 -58.28 L8.64 -58.24 L8.68 -58.2 L8.73 -58.16 L8.78 -58.14 L8.84 -58.11 L9.09 -58.02 L9.15 -58 L9.65 -57.87 L9.68 -57.87 L10.31 -57.74 L10.33 -57.74 L11.06 -57.62 L11.07 -57.62 L11.88 -57.5 L11.89 -57.5 L12.77 -57.37 L13.69 -57.22 L13.7 -57.22 L14.65 -57.07 L14.66 -57.06 L15.62 -56.88 L15.63 -56.88 L16.59 -56.68 L16.6 -56.67 L17.54 -56.43 L17.56 -56.43 L18.46 -56.15 L18.48 -56.15 L19.34 -55.83 L19.36 -55.82 L20.16 -55.46 L20.18 -55.45 L20.9 -55.05 L20.93 -55.03 L21.58 -54.6 L21.6 -54.59 L22.16 -54.13 L22.19 -54.11 L22.66 -53.64 L22.69 -53.61 L23.06 -53.12 L23.07 -53.11 L23.08 -53.1 L23.35 -52.59 L23.36 -52.57 L23.36 -52.56 L23Line truncated
|
||||
<div><p>One medium leaf through five of the stages:</p><div class="leafstrip"><figure><svg xmlns="http://www.w3.org/2000/svg" viewBox="-30 -74 60 90"><path d="M-11.13 -41.62 L-11.07 -41.62 L-11.01 -41.64 L-10.96 -41.66 L-10.9 -41.68 L-10.85 -41.71 L-10.8 -41.75 L-10.76 -41.79 L-10.72 -41.83 L-10.69 -41.88 L-10.65 -41.93 L-10.63 -41.99 L-10.61 -42.04 L-10.6 -42.1 L-10.59 -42.16 L-10.58 -42.22 L-10.59 -42.28 L-10.6 -42.34 L-10.61 -42.4 L-10.63 -42.45 L-10.66 -42.51 L-10.69 -42.56 L-10.73 -42.6 L-10.77 -42.65 L-10.81 -42.69 L-10.86 -42.72 L-10.91 -42.75 L-10.97 -42.77 L-11.06 -42.81 L-11.07 -42.81 L-11.69 -43.04 L-11.69 -43.04 L-12.38 -43.3 L-13.13 -43.58 L-13.92 -43.88 L-13.93 -43.88 L-14.75 -44.21 L-14.75 -44.21 L-15.59 -44.56 L-15.6 -44.57 L-16.44 -44.94 L-16.45 -44.95 L-17.29 -45.35 L-17.3 -45.35 L-18.11 -45.78 L-18.13 -45.78 L-18.91 -46.24 L-18.92 -46.24 L-19.66 -46.72 L-19.67 -46.73 L-20.36 -47.23 L-20.38 -47.24 L-21 -47.75 L-21.02 -47.77 L-21.58 -48.3 L-21.59 -48.31 L-22.08 -48.85 L-22.09 -48.87 L-22.49 -49.41 L-22.51 -49.44 L-22.82 -49.98 L-22.84 -50.02 L-23.06 -50.56 L-23.07 -50.57 L-23.07 -50.58 L-23.19 -51.13 L-23.19 -51.15 L-23.19 -51.16 L-23.21 -51.7 L-23.21 -51.71 L-23.21 -51.73 L-23.11 -52.26 L-23.1 -52.27 L-23.1 -52.29 L-22.89 -52.81 L-22.89 -52.82 L-22.88 -52.83 L-22.57 -53.33 L-22.55 -53.37 L-22.14 -53.85 L-22.12 -53.87 L-21.62 -54.34 L-21.6 -54.36 L-21.01 -54.8 L-20.99 -54.81 L-20.33 -55.23 L-20.3 -55.24 L-19.57 -55.62 L-19.55 -55.63 L-18.74 -55.97 L-18.72 -55.97 L-17.86 -56.27 L-17.84 -56.28 L-16.93 -56.54 L-16.92 -56.54 L-15.98 -56.77 L-15.97 -56.77 L-15.02 -56.97 L-15.01 -56.98 L-14.06 -57.15 L-14.06 -57.15 L-13.13 -57.31 L-12.24 -57.45 L-11.41 -57.59 L-11.4 -57.59 L-10.65 -57.72 L-10.64 -57.73 L-9.99 -57.86 L-9.96 -57.86 L-9.43 -57.99 L-9.38 -58.01 L-9.09 -58.11 L-9.03 -58.13 L-8.98 -58.16 L-8.93 -58.19 L-8.89 -58.23 L-8.85 -58.27 L-8.81 -58.31 L-8.78 -58.36 L-8.75 -58.41 L-8.72 -58.47 L-8.71 -58.52 L-8.69 -58.58 L-8.69 -58.64 L-8.69 -58.69 L-8.69 -58.75 L-8.7 -58.81 L-8.72 -58.87 L-8.74 -58.92 L-8.76 -58.97 L-8.79 -59.02 L-8.83 -59.07 L-8.87 -59.11 L-8.91 -59.15 L-9.08 -59.28 L-9.12 -59.31 L-9.59 -59.63 L-9.61 -59.63 L-10.19 -60 L-10.85 -60.42 L-10.85 -60.42 L-11.53 -60.88 L-11.54 -60.88 L-12.2 -61.38 L-12.22 -61.4 L-12.83 -61.94 L-12.85 -61.96 L-13.38 -62.54 L-13.41 -62.57 L-13.85 -63.19 L-13.87 -63.22 L-14.2 -63.86 L-14.21 -63.9 L-14.44 -64.54 L-14.44 -64.55 L-14.45 -64.56 L-14.55 -65.18 L-14.55 -65.2 L-14.55 -65.21 L-14.54 -65.78 L-14.53 -65.8 L-14.53 -65.81 L-14.38 -66.32 L-14.38 -66.33 L-14.37 -66.34 L-14.1 -66.78 L-14.09 -66.79 L-14.08 -66.81 L-13.7 -67.19 L-13.69 -67.2 L-13.68 -67.21 L-13.21 -67.54 L-13.17 -67.56 L-12.61 -67.84 L-12.58 -67.86 L-11.93 -68.1 L-11.91 -68.11 L-11.18 -68.32 L-11.16 -68.32 L-10.38 -68.5 L-10.37 -68.5 L-9.53 -68.64 L-9.52 -68.64 L-8.66 -68.76 L-8.65 -68.76 L-7.76 -68.86 L-7.75 -68.86 L-6.85 -68.95 L-6.85 -68.95 L-5.95 -69.02 L-5.07 -69.09 L-5.07 -69.09 L-4.21 -69.15 L-4.21 -69.15 L-3.4 -69.22 L-3.39 -69.22 L-2.64 -69.3 L-2.62 -69.3 L-1.94 -69.39 L-1.91 -69.4 L-1.32 -69.5 L-1.28 -69.51 L-0.8 -69.63 L-0.73 -69.65 L-0.38 -69.78 L-0.33 -69.81 L-0.28 -69.83 L-0.01 -69.99 L-0 -70 L0.01 -69.99 L0.24 -69.85 L0.3 -69.82 L0.35 -69.8 L0.68 -69.67 L0.75 -69.66 L1.22 -69.54 L1.26 -69.53 L1.86 -69.43 L1.88 -69.42 L2.58 -69.33 L2.59 -69.33 L3.36 -69.25 L3.37 -69.25 L4.21 -69.17 L4.21 -69.17 L5.09 -69.1 L6.01 -69.03 L6.94 -68.95 L6.95 -68.94 L7.88 -68.85 L7.89 -68.85 L8.81 -68.74 L8.82 -68.74 L9.72 -68.62 L9.73 -68.61 L10.59 -68.46 L10.61 -68.46 L11.42 -68.28 L11.43 -68.28 L12.18 -68.07 L12.2 -68.06 L12.87 -67.82 L12.9 -67.8 L13.47 -67.52 L13.5 -67.5 L13.97 -67.18 L13.99 -67.17 L14 -67.16 L14.37 -66.79 L14.37 -66.78 L14.38 -66.77 L14.63 -66.34 L14.63 -66.33 L14.64 -66.31 L14.75 -65.83 L14.75 -65.82 L14.75 -65.8 L14.72 -65.26 L14.72 -65.24 L14.72 -65.23 L14.55 -64.64 L14.55 -64.63 L14.55 -64.61 L14.26 -64 L14.24 -63.97 L13.85 -63.34 L13.83 -63.32 L13.34 -62.7 L13.32 -62.68 L12.75 -62.1 L12.73 -62.08 L12.08 -61.53 L12.07 -61.52 L11.39 -61.01 L11.38 -61 L10.7 -60.53 L10.69 -60.53 L10.03 -60.1 L9.44 -59.71 L9.43 -59.7 L8.95 -59.37 L8.91 -59.34 L8.66 -59.14 L8.62 -59.1 L8.58 -59.05 L8.54 -59.01 L8.51 -58.95 L8.49 -58.9 L8.47 -58.84 L8.46 -58.78 L8.45 -58.73 L8.45 -58.67 L8.45 -58.61 L8.46 -58.55 L8.48 -58.49 L8.5 -58.43 L8.52 -58.38 L8.56 -58.33 L8.59 -58.28 L8.64 -58.24 L8.68 -58.2 L8.73 -58.16 L8.78 -58.14 L8.84 -58.11 L9.09 -58.02 L9.15 -58 L9.65 -57.87 L9.68 -57.87 L10.31 -57.74 L10.33 -57.74 L11.06 -57.62 L11.07 -57.62 L11.88 -57.5 L11.89 -57.5 L12.77 -57.37 L13.69 -57.22 L13.7 -57.22 L14.65 -57.07 L14.66 -57.06 L15.62 -56.88 L15.63 -56.88 L16.59 -56.68 L16.6 -56.67 L17.54 -56.43 L17.56 -56.43 L18.46 -56.15 L18.48 -56.15 L19.34 -55.83 L19.36 -55.82 L20.16 -55.46 L20.18 -55.45 L20.9 -55.05 L20.93 -55.03 L21.58 -54.6 L21.6 -54.59 L22.16 -54.13 L22.19 -54.11 L22.66 -53.64 L22.69 -53.61 L23.06 -53.12 L23.07 -53.11 L23.08 -53.1 L23.35 -52.59 L23.36 -52.57 L23.36 -52.56 L23Line truncated
|
||||
|
||||
</body>
|
||||
</html>
|
||||
+114
-59
@@ -1,82 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Kestrel's Nest Builds</title>
|
||||
<meta name="description" content="Things I've made from foam, filament and paint, written up so you can make them too.">
|
||||
|
||||
<!-- OpenGraph -->
|
||||
<meta property="og:title" content="Kestrel's Nest Builds">
|
||||
<meta property="og:description" content="Things I've made from foam, filament and paint, written up so you can make them too.">
|
||||
<meta property="og:image" content="https://builds.kestrelsnest.social/og-image.jpg">
|
||||
<meta property="og:url" content="https://builds.kestrelsnest.social">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Kestrel's Builds</title>
|
||||
<meta name="description" content="Things I've made, written up so you can make them too. Each build comes with a guide and whatever files the project needs, free to download.">
|
||||
<link rel="canonical" href="https://builds.kestrelsnest.social/">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
<!-- Twitter Card -->
|
||||
<meta property="og:title" content="Kestrel's Builds">
|
||||
<meta property="og:description" content="Things I've made, written up so you can make them too.">
|
||||
<meta property="og:url" content="https://builds.kestrelsnest.social/">
|
||||
<meta property="og:image" content="https://builds.kestrelsnest.social/og-image.jpg">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Kestrel's Nest Builds">
|
||||
<meta name="twitter:description" content="Things I've made from foam, filament and paint, written up so you can make them too.">
|
||||
<meta name="twitter:image" content="https://builds.kestrelsnest.social/og-image.jpg">
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700&family=Inter:wght@400;600;700&display=swap">
|
||||
<style>
|
||||
/* layout: a short masthead, then one card per build in a grid that fills as builds are added */
|
||||
/* Sister page to Kestrel's Hall: same ink, bone and gold, same serif, one card per build. */
|
||||
:root {
|
||||
--bg: #f3f5f1; --surface: #ffffff; --fg: #1b201c; --muted: #5d665f; --line: #d3d9d1; --accent: #2c6a31;
|
||||
--display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;
|
||||
--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root { --bg: #141815; --surface: #1c221d; --fg: #e7ece6; --muted: #9aa59b; --line: #313a32; --accent: #7fc27f; color-scheme: dark; }
|
||||
--ink: #14181a;
|
||||
--panel: #1c2124;
|
||||
--line: #2c3236;
|
||||
--bone: #e6dfcf;
|
||||
--bone-dim: #a9a494;
|
||||
--gold: #d2a94a;
|
||||
--gutter: 16px;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body { margin: 0; background: var(--bg); color: var(--fg); font-family: var(--body); font-size: 16px; line-height: 1.6; }
|
||||
.wrap { max-width: 1060px; margin: 0 auto; padding: 48px 16px 80px; }
|
||||
header { margin-bottom: 40px; }
|
||||
.kicker { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; font-weight: 700; color: var(--accent); margin: 0 0 10px; }
|
||||
h1, h2 { font-family: var(--display); line-height: 1.12; margin: 0; text-wrap: balance; }
|
||||
h1 { font-size: clamp(2.3rem, 6vw, 3.6rem); letter-spacing: -0.02em; }
|
||||
.lead { font-size: 1.15rem; line-height: 1.5; max-width: 60ch; margin: 14px 0 0; }
|
||||
.builds { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
|
||||
.build a { display: block; height: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; color: inherit; text-decoration: none; }
|
||||
.build a:hover, .build a:focus-visible { border-color: var(--accent); outline: 2px solid var(--accent); outline-offset: 2px; }
|
||||
.build img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; }
|
||||
.build .text { padding: 16px 18px 20px; }
|
||||
.build h2 { font-size: 1.35rem; margin-bottom: 6px; }
|
||||
.build p { margin: 0; color: var(--muted); font-size: 0.95rem; }
|
||||
.build .tags { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
|
||||
.build .tags span { border: 1px solid var(--line); border-radius: 999px; padding: 1px 10px; font-size: 0.78rem; color: var(--fg); }
|
||||
footer { margin-top: 56px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.88rem; }
|
||||
footer a { color: var(--accent); }
|
||||
html { background: var(--ink); color-scheme: dark; }
|
||||
body {
|
||||
margin: 0;
|
||||
background: var(--ink);
|
||||
color: var(--bone);
|
||||
font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
|
||||
font-size: 18px;
|
||||
line-height: 1.5;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
a { color: var(--gold); text-decoration: none; }
|
||||
a:hover { text-decoration: underline; }
|
||||
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 var(--gutter); }
|
||||
|
||||
header.mast { padding: 56px 0 28px; text-align: center; }
|
||||
header.mast h1 { margin: 0; font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 400; letter-spacing: 0.01em; line-height: 1.05; }
|
||||
header.mast p.lede { margin: 14px auto 0; max-width: 38em; font-size: clamp(1.05rem, 2.2vw, 1.3rem); color: var(--bone-dim); }
|
||||
header.mast p.lede b { color: var(--bone); font-weight: 500; }
|
||||
|
||||
.builds { display: grid; gap: 22px; grid-template-columns: repeat(2, 1fr); margin-top: 22px; }
|
||||
.build {
|
||||
display: flex; flex-direction: column;
|
||||
background: var(--panel);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 6px;
|
||||
overflow: hidden;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
.build:hover, .build:focus-visible { border-color: var(--gold); text-decoration: none; outline: none; }
|
||||
.build:hover h2, .build:focus-visible h2 { color: var(--gold); }
|
||||
/* The newest build has the whole width: photo beside the words. */
|
||||
.build.first { grid-column: 1 / -1; flex-direction: row; }
|
||||
.build.first .art { flex: 0 0 55%; aspect-ratio: 2 / 1; }
|
||||
.build.first .body { justify-content: center; padding: 22px 26px; }
|
||||
.build.first h2 { font-size: 1.9rem; }
|
||||
.build .art { aspect-ratio: 5 / 3; background: #222; overflow: hidden; }
|
||||
.build .art img { width: 100%; height: 100%; object-fit: cover; display: block; }
|
||||
.build .art img.greenman { object-position: 50% 27%; }
|
||||
.build .body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
|
||||
.build h2 { margin: 0; font-size: 1.45rem; font-weight: 500; }
|
||||
.build .pitch { margin: 0; color: var(--bone); }
|
||||
.build .made { margin: 0; color: var(--bone-dim); font-size: 0.92rem; }
|
||||
.build .kit { margin: 0; color: var(--bone-dim); font-size: 0.85rem; }
|
||||
@media (max-width: 860px) {
|
||||
.builds { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
|
||||
.build.first { flex-direction: column; }
|
||||
.build.first .art { flex: none; aspect-ratio: 5 / 3; }
|
||||
.build.first .body { padding: 16px 18px 18px; }
|
||||
.build.first h2 { font-size: 1.45rem; }
|
||||
}
|
||||
|
||||
section { margin-top: 56px; }
|
||||
section h2 { font-size: 1.6rem; font-weight: 400; margin: 0 0 12px; }
|
||||
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
|
||||
@media (max-width: 720px) { .cols { grid-template-columns: 1fr; gap: 28px; } }
|
||||
section p { margin: 0 0 12px; color: var(--bone-dim); }
|
||||
section p b { color: var(--bone); font-weight: 500; }
|
||||
ul.how { margin: 0; padding-left: 1.2em; color: var(--bone-dim); }
|
||||
ul.how li { margin-bottom: 8px; }
|
||||
ul.how b { color: var(--bone); font-weight: 500; }
|
||||
|
||||
footer { margin-top: 64px; padding: 28px 0 48px; border-top: 1px solid var(--line); color: var(--bone-dim); font-size: 0.9rem; }
|
||||
footer p { margin: 0 0 8px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
<header>
|
||||
<p class="kicker">Kestrel's Nest</p>
|
||||
<h1>Builds</h1>
|
||||
<p class="lead">Things I've made from foam, filament and paint, written up so you can make them too. Each build comes with its templates, print files and a step-by-step guide.</p>
|
||||
<header class="mast">
|
||||
<h1>Kestrel's Builds</h1>
|
||||
<p class="lede"><b>Things I've made, written up so you can make them too.</b> The builds vary. One might be foam and printed parts, another a paint technique, a sewing project or some electronics. Each comes with whatever it takes to finish the project, and all of it is free to download.</p>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<ul class="builds">
|
||||
<!-- One <li class="build"> per build, newest first. See README.md, "Adding a build". -->
|
||||
<li class="build">
|
||||
<a href="greenman/">
|
||||
<img src="greenman/img/finished.jpg" alt="A Green Man half-mask of oak leaves, acorns and bark, worn with glasses and a green knitted hood." width="1100" height="1466">
|
||||
<div class="text">
|
||||
<main class="builds">
|
||||
<!-- One <a class="build"> per build, newest first. The newest also takes the class "first". See README.md, "Adding a build". -->
|
||||
<a class="build first" href="greenman/">
|
||||
<div class="art"><img class="greenman" src="greenman/img/finished.jpg" alt="A Green Man half-mask worn with glasses and a green knitted hood: a crown of painted oak leaves above a bark brow ridge, acorns at the temples and a single leaf over the nose."></div>
|
||||
<div class="body">
|
||||
<h2>Green Man mask</h2>
|
||||
<p>A half-mask of oak leaves, acorns and bark, built for people who wear glasses. Foam for the structure, with a handful of 3D-printed details.</p>
|
||||
<div class="tags"><span>EVA foam</span><span>3D printing</span><span>Costume</span></div>
|
||||
<p class="pitch">A half-mask of oak leaves, acorns and bark, built to be worn with glasses.</p>
|
||||
<p class="made">EVA foam and a few 3D-printed parts, about 8 hours over three evenings</p>
|
||||
<p class="kit">Templates, print files, a build guide and a painting guide</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</main>
|
||||
|
||||
<section class="cols">
|
||||
<div>
|
||||
<h2>What comes with a build</h2>
|
||||
<ul class="how">
|
||||
<li><b>A guide</b> that takes the work in the order it has to happen, with drawings or photos along the way.</li>
|
||||
<li><b>A list of materials and tools,</b> so you know what to gather before you start.</li>
|
||||
<li><b>Whatever files the project calls for.</b> That could be full-size templates, a sewing pattern, print files, a wiring diagram or code. Some builds need none.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Who makes these</h2>
|
||||
<p>I am Eric, and I make these at a workbench in Athens, Georgia. Each one is something I built and wore or used first. The write-up came afterwards, once I knew what worked.</p>
|
||||
<p>I also keep a hall of free board games at <a href="https://gamehall.kestrelsnest.social">Kestrel's Hall</a>, and I roost at <a href="https://blog.kestrelsnest.social">blog.kestrelsnest.social</a>.</p>
|
||||
<h2 style="margin-top:28px">Tip jar</h2>
|
||||
<p>The builds are free and will stay free. Materials and filament do add up, though, and anyone who wants to chip in toward them can do so at <a href="https://ko-fi.com/kestrelsnest" style="white-space:nowrap">ko-fi.com/kestrelsnest</a>. Chipping in unlocks nothing, and every build is the same for everyone.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
Part of <a href="https://kestrelsnest.social">Kestrel's Nest</a>.
|
||||
<p>Part of <a href="https://kestrelsnest.social">Kestrel's Nest</a>.</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in new issue
Block a user