← Offset
Changelog
Every Offset release, newest first, for both editions. Updates are free for every license; download them from your account or pull them from GitHub.
v1.0.1
Latest
Documentation only; no change to pages, sections or styles.
Astro
- README: lists every script that runs in the browser (the light/dark switch, the logo strip's pause button and the sections that rise in were missing), explains how the light/dark switch remembers a choice and how to remove it, and adds a Motion section: the marquee logo strip and the reveal, and that reduced motion stops both.
Next.js + Sanity
- README: lists every script that runs in the browser (the light/dark switch, the logo strip's pause button and the sections that rise in were missing), explains how the light/dark switch remembers a choice and how to remove it, and adds a Motion section: the marquee logo strip and the reveal, and that reduced motion stops both.
The first release.
Astro
- Pages: home, work (every project), a case-study page per project, services (disciplines with deliverables, process, FAQ), studio (story, figures, values, team, timeline, open roles), a journal with pagination and a page per post, contact (form beside the studio addresses, FAQ), privacy and terms shells, a thank-you page for forms, and a 404 page.
- Case studies: one MDX file per project with a typed front matter (client, year, services, cover, facts, live link, outcomes, client quote, gallery, order, featured). Each page gets a case header, the story in a readable column, a gallery mosaic, the outcomes in figures, the quote and the next two projects.
- Presets: Offset (ink and white, light and dark), Riso (warm paper with a red-orange action, light) and Night (near-black with a coral action, dark), switched with one import in
src/styles/global.css. Self-hosted fonts under the SIL Open Font License; Offset sets headings and text from one Archivo file using its width axis. - Content: collections for projects, journal posts (Markdown and MDX), authors and site settings (navigation, footer, announcement bar, form endpoints); page copy in typed data files.
- Journal: prose styles for headings, lists, quotes, code (coloured by the preset), images with captions and tables; reading time, author box, related posts, RSS feed.
- SEO: titles, descriptions, canonical links, Open Graph images for every page, case study and post (the home page uses the drawn studio card), JSON-LD for the organisation, the website, case studies, journal posts and FAQs, a sitemap and robots.txt.
- Forms: contact and newsletter forms that post without JavaScript to an endpoint you choose, with a honeypot field against bots; an optional Cloudflare Worker handler that fails closed and never logs what visitors send.
- Deploying: ready for Cloudflare Workers (static assets), Netlify and Vercel.
- Demo images: covers, galleries, journal covers, client logos, team portraits and the social card, all drawn by
pnpm draw-demo; no stock photos, real people or real brands.
Next.js + Sanity
- Pages: home, work (every project), a case-study page per project, services (disciplines with deliverables, process, FAQ), studio (story, figures, values, team, timeline, open roles), a journal with pagination and a page per post, contact (form beside the studio addresses, FAQ), privacy and terms shells, a thank-you page for forms, and a 404 page.
- Case studies: one project document per case study (client, year, services, cover, wide image, facts, live link, outcomes, client quote, gallery, order, "Show on the home page") with a rich-text body. Each page gets a case header, the story beside its headings, a gallery mosaic, the outcomes in figures, the quote and the next two projects.
- Sanity: a Studio (
studio/) with a page builder of 26 section types (work, services, gallery and case header among them), each with its layouts and tones and an optional anchor; projects in their order; journal posts with a rich-text body (headings, lists, quotes, links, captioned images, tables, highlighted code with a file name) and authors; one Site document for the announcement bar, header, footer and organisation. The Presentation tool previews drafts on the site.pnpm seedimports the demo content and images into a new dataset. - Next.js: App Router and React Server Components; pages generated ahead of time and refreshed in the background (a minute at most, or at once with the publish webhook); the read token server-only; a Content-Security-Policy.
- Presets: Offset (ink and white, light and dark), Riso (warm paper with a red-orange action, light) and Night (near-black with a coral action, dark), switched with two lines. Self-hosted fonts under the SIL Open Font License, through next/font; Offset sets headings and text from one Archivo file using its width axis.
- SEO: titles, descriptions, canonical links, Open Graph images for every page, case study and post (the home page uses the drawn studio card), JSON-LD for the organisation, the website, case studies, journal posts and FAQs, a sitemap, robots.txt and an RSS feed.
- Forms: contact and newsletter forms that post without JavaScript to the site's own handler, which forwards each submission to
FORWARD_URL, fails closed without it, drops honeypot hits and never logs what visitors send. - Deploying: Vercel, or Cloudflare Workers through OpenNext.
- Demo images: covers, galleries, journal covers, client logos, team portraits and the social card, all drawn for the theme; no stock photos, real people or real brands.