What Is Editable In Sanity
Files: sanity.config.ts, sanity/, src/config/config.toml · Skill level: Beginner
Run npm run dev:all, open the Studio at http://localhost:3333, and log in with your Sanity account. Content has one entry per language, then Site settings. Sanity has the full guide, including npm run setup for your first project. Everything below exists in English, French, and Arabic, and each language has its own documents.
Where Each Page Is Edited
All locations are under Content, then your language. Lumio has no Sections on this page rows: each section is one document per language, under Sections, and every page that shows it uses the same content.
| Address | Studio location | Sections it shows |
|---|---|---|
/ | Homepages > Home 1 | Home banner, Features grid, About company, Marquee ticker, Our services, Numbers stats, Testimonial section, Features split, Case studies section, Customers, Get in touch, Recent blog, Contact section, Marquee section |
/home-two/ | Homepages > Home 2 | Home banner two, Features grid, About company two, Marquee ticker, Our services two, Customers, Working process, Testimonial section two, Who we are, Case studies section, Get in touch, Recent blog two, Join our community, Marquee section |
/home-three/ | Homepages > Home 3 | Home banner three, Customers, About company three, Our services three, Trust section, Testimonial section three, Experience section, Our team, Pricing section, Case studies section, Faq section, Recent blog three, Marquee section |
/about/ | Main pages > About page | About hero, About us section, Marquee section two, Fact, Testimonial section, Success section, Faq two, Customers, Get in touch, Our team, Contact section, Marquee section |
/services/ | Main pages > Services page | Marquee section two, Service work section, Fact, Testimonial section, Success section, Customers, Contact section, Marquee section |
/services/{slug}/ | Services, one document per entry | Fact, Contact section, Marquee section |
/case-studies/ | Main pages > Case studies page | Customers, Contact section, Marquee section |
/case-studies/{slug}/ | Case studies, one document per entry | Contact section, Marquee section |
/pricing/ | Main pages > Pricing page | Pricing section, Business service, Testimonial section, Fact, Customers, Contact section, Marquee section |
/team/ | Main pages > Team page. The people are its List | Testimonial section, Fact, Customers, Contact section, Marquee section |
/faq/ | Main pages > FAQ page. The questions are its List | Faq section, Business service, Testimonial section, Fact, Customers, Contact section, Marquee section |
/contact/ | Main pages > Contact page | Office locations, Contact section, Marquee section |
/blog/ | Main pages > Blog page | Blog list section, Customers, Contact section, Marquee section |
/blog/{slug}/ | Blog posts, one document per post | None |
/privacy-policy/, /terms-conditions/, /components/ | Other pages | None |
| 404 | Sections > 404 section. The title is Page Not Found under Common in Interface labels | 404 section, Marquee section |
A homepage’s document holds only its Title and Meta Description. The text you see comes from its sections. Main pages > Testimonials holds the reviews: List for Home 1 and the inner pages, List Home2, and List Home3.
Lumio has no Page options group. Each document has its own fields, such as Title, Meta Description, and Draft. Custom Slug is on blog posts, services, and case studies, and Exclude From AI is on Other pages.
New Entries
Use the + button to add a blog post, a service, a case study, an author, or another page. A post’s Author is the author’s name. A new entry appears only in that language, so make one in each other language.
A new entry with only a title won’t break the site, and it builds. Its card or page shows what you filled in, and images and other fields stay empty until you add them, so fill them in before you publish. We tested this in the bundled demo content, not on a real project.
Sections
Each section is under Sections, in each language, including the pricing packages in Pricing section, and the offices and map link in Office locations. Editing a section changes it on every page that shows it.
| Where it appears | Section |
|---|---|
/ only | Home banner, About company, Our services, Numbers stats, Features split, Recent blog |
/home-two/ only | Home banner two, About company two, Our services two, Working process, Testimonial section two, Who we are, Recent blog two, Join our community |
/home-three/ only | Home banner three, About company three, Our services three, Trust section, Testimonial section three, Experience section, Recent blog three |
/, /home-two/ | Features grid, Marquee ticker |
| All three homepages | Case studies section |
/about/ only | About hero, About us section, Faq two |
/services/ only | Service work section |
| Several pages. See the table above | Get in touch, Marquee section two, Success section, Our team, Pricing section, Faq section, Business service, Office locations, Blog list section, Testimonial section, Fact, Customers, Contact section, Marquee section |
To hide a section on every page that uses it, turn off Enable in its document. The homepage banners and the 404 section have no such field. In Office locations it hides the map and not the office cards, and in Features grid it does nothing. Case studies and Comment section show on no page, and neither does Features under Main pages.
The contact form fields are in Contact section, under Form > Inputs.
Site-Wide Content
| Location | What’s in it |
|---|---|
| Menus | Header menu, with dropdowns and the mega menu fields, Top bar links, and Footer menu, with a Column heading and Column links for each column. Each language has its own. See Menus |
| Interface labels | Buttons, labels, form messages, and Footer Block (the footer description and copyright). Each language has its own |
| Site settings | One for the whole site, below the languages: site title, Base URL, logo, SEO, AI files, contact details, forms, header button, announcement, newsletter, social links, smooth scroll, the theme credit, and analytics tags |
In Menus, Show hides an item in the header. The footer shows every link in its list, so delete a footer link to remove it.
Site settings apply when the site builds. While npm run dev:all runs, they apply when you publish them, and they don’t change as you type. Change them in their form.
A few fields do nothing, because no page reads them: Title under Subscription in Site settings, Subscription > Title and Description, Comment Form, Contact Info, Integration, and Social in Interface labels, and Description on mega menu columns and links. The comment count on a post comes from its Comments field, and there is no form behind it.
Plans And Attributes
At the time of writing, Sanity’s free plan allows 2,000 attributes, one for each distinct field path in your content. Lumio’s demo content, with its images, measured 965 on a real project, so it fits well inside the limit. New fields use more. Sanity’s pricing page has the current limits.
Online Preview
Click-to-edit and draft preview are made for your own computer, with npm run dev:all. To use them online, your editors need a second copy of the site running as a small Node.js server, because drafts can’t be shown from static files. A static host can’t do this. See Sanity for the steps. Without a preview server, editors online can still edit in the Studio’s forms and publish.
What We Tested
With no Sanity project: installing from a clean copy, the site running and building from the bundled demo content in all three languages, with the same pages as the Astro edition, the Studio’s schema check and its build, the steps npm run setup -- --dry-run would take, and adding and removing a language in the bundled demo content.
With a real Sanity project, in Chromium, on localhost:
npm run setupcreating the project, its dataset,.env, and the CORS origins. Its token and import steps were skipped in that run: the tokens were made with Sanity’s own command, and the import ran on its own.npm run import-seedwith all the demo content and images: all 256 documents matched it, and the schema check passes.- A static build from the project: all 149 pages, and their Markdown and text copies, matched the build from the demo content, apart from the images themselves. Every image answered from Sanity’s CDN.
- The Studio and Live preview, with
npm run dev:all, logged in with a test token and not a person’s login. Clicking the heading on six inner pages opens its field. A title on the about page was changed in English and in Arabic, where the field runs right to left. It showed as a draft in the preview only and went live on Publish. Both titles were then restored the same way. npm run build:previewandnpm run start:preview: the server started, answered four pages with no draft content, and refused a wrong preview secret. Drafts were not opened through it.
Give a field a moment after it opens. In our test, the first keys typed straight after the click on a heading were lost. After a pause of a few seconds, every key arrived.
Not tested on Lumio: npm run setup making the read token and importing the content in one run; a person’s own login to the Studio; clicking an image, editing menus, labels, or Site settings, and adding a document in the Studio; adding or removing a language in a real project; and drafts through the preview server.
Not tested at all: any online host for the preview server, a deployed Studio, and webhooks.
Try these on your own project before you rely on them.
What Stays In Code
These change how the site is built, not what it says:
- The page routes and the order of sections on a page.
- Which header and footer a page uses, and which version of a section it shows: the page’s file in
src/pages/[...lang]/. - Layout choices a page gives a section, such as its spacing.
- Section and component design, reveal animations, colors, type scale, and fonts.
- A few fixed graphics, such as the slider arrows and quote marks.
- The list of languages:
src/config/language.json. - Favicons, and the language settings, the address format, and the collection folder names in
config.toml. - Which sections and fields exist. To add one, see
SKILLS.md.
Do It With AI
I use the Sanity edition. Tell me where to edit [TEXT OR SETTING] in the Studio: the language entry,the document, and the field. If it comes from a section document, say which pages will change.Don't change any files, and don't print anything from .env.