Conditional class names using DOM attributes as state
2024-09-30
Style elements based on the state of their DOM attributes—instead of template logic—for more easily debuggable styles.
I'm Simeon, Principal Educator @ Sanity.io building and publishing Sanity Learn.
I made a Tailwind CSS Palette Generator that people seem to like.
🇦🇺 in 🇬🇧
2024-09-30
Style elements based on the state of their DOM attributes—instead of template logic—for more easily debuggable styles.
2024-08-30
The job of a framework is to render HTML so it makes sense to optionally bundle a way to style it with CSS
2024-05-09
In any sufficiently crowded market, there is always the opportunity to be the absolute best at your thing.
Updated 2024-09-03 | Published 2024-04-30
Posted on Sanity.io Exchange
Sanity Studio is an incredibly flexible tool with near limitless customisation. Here's how I use it.
2023-12-13
A glimpse into the context through which I create educational content and tutorials.
2023-09-18
You might not need a library to query GraphQL in Remix
Updated 2023-09-26 | Published 2023-07-21
Posted on Sanity.io Exchange
It can be useful for testing plugins, front ends, or other integrations to have a Sanity Studio populated with fake content.
Updated 2024-09-06 | Published 2023-07-03
Posted on Sanity.io Exchange
Setup interactive live preview with Presentation in a Next.js app router application
Updated 2023-04-22 | Published 2023-04-22
Posted on Sanity.io Exchange
Make repetitive content creation tasks a breeze by supplying content creators with buttons to populate complex fields.
Updated 2023-04-22 | Published 2023-04-22
Posted on Sanity.io Exchange
Summarise form progression by decorating the entire editing form for a document with a component loaded at the root level.
Updated 2023-04-22 | Published 2023-04-22
Posted on Sanity.io Exchange
Object types use a preview property to display contextual information about an item when they are inside of an array; customizing the preview component can make them even more useful for content creators.
Updated 2023-04-28 | Published 2023-04-22
Posted on Sanity.io Exchange
Save time going in-and-out of modals by moving some light interactivity to array items.
Updated 2023-04-28 | Published 2023-04-22
Posted on Sanity.io Exchange
Delight your content creators with intelligent inputs for more complex data structures
Updated 2023-04-22 | Published 2023-04-22
Posted on Sanity.io Exchange
Give content creators quick access to valid values by replacing the default number field input with a list of options.
Updated 2024-03-22 | Published 2023-04-22
Posted on Sanity.io Exchange
Go beyond a plain radio list of inputs by giving authors more contextually useful buttons to select values from.
Updated 2023-04-22 | Published 2023-04-19
Posted on Sanity.io Exchange
Take the guesswork out of creating fields with correct values and automate content creation for authors.
Updated 2023-03-23 | Published 2023-03-23
Posted on Sanity.io Exchange
In this guide, you’ll see how Sanity separates organizations, projects, datasets, and members by working through a hypothetical example of a growing company that can expand its content model as they grow – without needing a complete overhaul.
2023-02-28
Creating individual meta images can be time-consuming work. Fortunately, creating on-brand and dynamic images for link previews has never been easier.
2022-12-07
Vercel offers simple, privacy-focused analytics and web vitals data. These can be instantly set up on Next.js and other frameworks. It's a little extra work for your Remix app, but worth it.
2022-11-27
In a content-editable website project, the people involved are two separate and yet equally important groups. The developers who build websites, and the authors that populate them with content. These are their stories.
2022-10-31
I've rebuilt this blog with the same design almost half a dozen times. Here's what I learned doing it again.
Updated 2023-11-28 | Published 2022-10-03
Visually, components are unique, flexible units to compose complete layouts. For content, they can trap reusable data into single-use decorations.
Updated 2022-10-03 | Published 2022-09-24
We don’t have to sacrifice the awesomeness of GROQ for the safety of TypeScript. With Zod, we can have both.
2022-03-07
It can be tough to identify use cases for something like reduce() until you’re already comfortable using it. Consider this a gentle entry point on your path to advanced use of the Swiss Army Knife of Array Methods.
Updated 2023-07-06 | Published 2022-03-04
Posted on Sanity.io Exchange
Create common taxonomy schemas like Categories and Tags with parent/child relationships
2022-02-14
Almost all forms of communication are an "ask" of some kind. Even if you’re not asking for some "thing". At a minimum you're asking the other party for their time.
2022-01-01
Creating hand-tooled 10-color Palettes can be tough. Get a head start by rapidly generating a full suite of Swatches from a single base value.
2021-12-17
We're closing in on the end of 2021 and I'm as excited now about building websites as I've been in ~25 years.
Updated 2024-02-12 | Published 2021-11-22
Posted on Sanity.io Exchange
Combine Sanity's blazing-fast CDN with Remix's cached at the edge pages.
Updated 2023-09-13 | Published 2021-11-03
Posted on Sanity.io Exchange
Sometimes the content you need to reference lives outside of Sanity
Updated 2024-02-13 | Published 2021-08-26
Posted on Sanity.io Exchange
Setup interactive live preview with Presentation in a Next.js pages router application
Updated 2022-11-15 | Published 2021-06-17
Posted on Sanity.io Exchange
Get the best of both worlds. Tailwind-styled typography and Portable Text's markup-and-components structure.
2021-04-19
Hard coding document slugs in Sanity.io with validation rules can save you a lot of double-handling on both front and back end.
2021-01-12
To a developer, recipes represent such a complex and delicious content model. So why do so many recipe websites leave a bad taste? Let's explore cooking up a more ideal version.
2020-12-11
Headless CMS's are refreshingly "set and forget". But if the Risk Management Department needs to be satiated by having your own backup solution, it's easy to do.
2020-12-10
If you're relatively new to React, Hooks aren't new, they simply exist. And to understand the useEffect() hook is to almost entirely understand React Components.
2020-10-22
Publishing extensions is so much easier than copy/pasting project-to-project.
2020-09-28
Rounded corners don't have to be so boring.
2020-06-23
For the first time ever, WordPress has strong opinions about how your website is designed – making it a bad choice as a generic content management system.
Updated 2020-06-18 | Published 2020-06-09
Trying my hand at adding to the the Developer Experience of Sanity.
2020-05-20
Setting up the most popular content editing pattern for the component-based nature of front end frameworks and modern website design.
Updated 2020-10-07 | Published 2020-05-18
Gatsby Cloud-like live previewing for your Sanity website, but low cost with unlimited edits.