Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ A scroll-scrubbed site plays through a sequence of frames as the reader scrolls,
background moves with them instead of sitting still behind the text. ScrollCraft builds
those sites without WebGL, an animation library, or a render farm.

1. **Start from a template.** 22 finished sites, each with its own palette,
1. **Start from a template.** 23 finished sites, each with its own palette,
typography, pacing and copy. Or upload a video and use your own footage.
2. **Get frames.** The engine draws the frame sequence on a canvas in your browser and
maps it to scroll position.
Expand All @@ -37,7 +37,7 @@ one exception is the copy assistant below, which is off unless you configure a k
palette. Frames are drawn on canvas locally, with no API key and nothing to install.
- **Scroll engine.** Smooth canvas scrubbing with separate desktop and portrait frame sets,
so a phone gets a background shaped for it rather than a letterboxed one.
- **Template library** — 22 finished scroll sites across 17 categories, each with its own
- **Template library** — 23 finished scroll sites across 17 categories, each with its own
Google Fonts pairing and palette.
- **Plain HTML export.** No dependencies and no lock-in. The exported page scores 100 on
Lighthouse for performance, accessibility, best practices and SEO.
Expand Down
Binary file added public/template-previews/weft.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions src/lib/templates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1498,4 +1498,69 @@ export const TEMPLATES: Template[] = [
},
],
},
{
slug: "weft",
name: "Weft",
tagline: "A documentary photographer who shoots the last water-powered mills",
category: "Portfolio",
tags: ["Indigo", "Documentary", "Quiet"],
style: "wave",
colors: ["#28407e", "#6b2f2a", "#0a0d18"],
gradient: "from-indigo-900 via-rose-950 to-slate-950",
theme: { fontDisplay: "Instrument Serif", fontBody: "Inter Tight", scale: "editorial", displayWeight: 400, displayTracking: -0.01, ink: "#f2ebdd", muted: "rgba(242,235,221,0.74)", accent: "#8c2f2a", accentText: "#e8b4a0", radius: 2 },
sections: [
{
kind: "statement", layout: "center", reveal: "mask",
eyebrow: "Photographs, 2019 to now",
heading: "The looms still run on the river.",
ctaLabel: "See the work", ctaHref: "#section-2",
scrollHeight: 1400,
},
{
layout: "left", reveal: "stagger",
eyebrow: "The series",
heading: "Eleven mills, four of them still turning",
body: "I have been photographing water-driven weaving sheds since a foreman in Nadiad let me stand on the walkway for an afternoon. Seven of the eleven have closed since. The work is a record of rooms that will not be there in ten years.",
scrollHeight: 1500,
},
{
layout: "right", reveal: "fade",
eyebrow: "How I shoot",
heading: "Available light, and a tripod nobody trips over",
body: "No flash near running machinery, no asking anyone to pose, and nothing moved. A shed at six in the morning gives about forty minutes of usable light coming through the roof vents, so I plan around that and wait.",
scrollHeight: 1400,
},
{ kind: "spacer", scrollHeight: 700 },
{
layout: "left", reveal: "stagger",
eyebrow: "Prints",
heading: "Printed in Ahmedabad, signed, editioned to twelve",
body: "Archival pigment on cotton rag, 16 by 20 inches, from the scanned negative rather than a file. Twelve of each, numbered on the back, and when the twelve are gone the image is retired rather than reprinted at another size.",
scrollHeight: 1400,
},
{
layout: "right", reveal: "fade",
eyebrow: "Licensing",
heading: "Editorial use, with the mill named",
body: "Magazines and books can license single frames. The one condition is that the caption names the mill and the year, because an unattributed photograph of a working shed becomes decoration the moment it loses its address.",
scrollHeight: 1400,
},
{
layout: "left", reveal: "stagger",
eyebrow: "What I do not take on",
heading: "No weddings, and no restaging",
body: "I am asked about both every month. Weddings are somebody else's craft, and a shed cleared of people and lit for the camera is an illustration, not a document. Saying so early saves us both a meeting.",
scrollHeight: 1300,
},
{ kind: "spacer", scrollHeight: 600 },
{
layout: "center", reveal: "fade",
eyebrow: "Enquiries",
heading: "Prints, licensing, or a shed I should see.",
body: "If you know a mill still running on water, I would rather hear about that than anything else. Replies in a few days, from me, not an assistant.",
ctaLabel: "Send a note", ctaHref: "#contact",
scrollHeight: 1200,
},
],
},
];
Loading