[{"data":1,"prerenderedAt":581},["ShallowReactive",2],{"sanity-LevEgKvCUg3Ul3GKyhTsfZIfaGswLQ-qsmdjo9-lWe4":3,"sanity-O65ifvqsQEjKXZcqEvwLY2j_XU0C4G08n7HdnHmqZXY":42,"sanity-PULLJoeNHok88_Oa93P7EfbdFErJt9Q6qQ3Nql2lXms":46},{"data":4},{"_createdAt":5,"_id":6,"_rev":7,"_type":6,"_updatedAt":8,"acceptAllLink":9,"acceptNecessaryLink":18,"bannerColorSource":23,"bannerDescription":24,"bannerTitle":25,"categories":26,"declineAllLink":27,"managePreferencesLink":31,"modalColorSource":23,"modalTitle":35,"preferencesIconColorSource":23,"provider":36,"savePreferencesLink":37,"thirdPartyEmbedCode":26,"title":41},"2026-08-29T18:46:18Z","cookieSettings","6nvKuEL9zc4dBn99tbDSIo","2026-09-15T23:28:13Z",{"_type":10,"style":11,"title":16,"type":17},"link",{"_type":12,"stylePreset":13},"link.style",{"_ref":14,"_type":15},"link-style-primary","reference","Accept all","button",{"_type":10,"style":19,"title":22,"type":17},{"_type":12,"stylePreset":20},{"_ref":21,"_type":15},"link-style-tertiary-outline","Accept necessary","inherit","We use cookies to enhance your browsing experience and analyse our traffic. Please choose your cookie preferences below.","We use cookies",null,{"_type":10,"style":28,"title":30,"type":17},{"_type":12,"stylePreset":29},{"_ref":21,"_type":15},"Decline all",{"_type":10,"style":32,"title":34,"type":17},{"_type":12,"stylePreset":33},{"_ref":21,"_type":15},"Manage preferences","Cookie Preferences","custom",{"_type":10,"style":38,"title":40,"type":17},{"_type":12,"stylePreset":39},{"_ref":14,"_type":15},"Save preferences","Cookie Settings",{"data":43,"sourceMap":-1},{"frontpage":44},{"_ref":45,"_type":15},"page-home",{"data":47,"sourceMap":-1},{"_createdAt":5,"_id":45,"_rev":7,"_type":48,"_updatedAt":8,"components":49,"footer":26,"isPublished":55,"navigation":26,"path":575,"routeOptions":576,"seo":26,"showFooter":55,"showNav":55,"slug":108,"title":580},"page",[50,130,150,206,213,235,241,263,269,336,342,365,437,442,463,531,536],{"_key":51,"_type":52,"announcement":53,"content":64,"ctas":96,"height":120,"options":123,"useCustomHeight":55},"hero-component","hero.simple",{"_type":54,"colorSource":23,"enabled":55,"label":56,"link":57,"showIndicator":55,"text":63},"announcement.options",true,"New",{"_type":10,"internal":58,"newTab":60,"title":61,"type":62},{"_ref":59,"_type":15},"page-blog",false,"Read the latest posts","internal","Blog listing, search and paging",[65,87],{"_key":66,"_type":67,"children":68,"markDefs":80,"style":86},"hero-heading","block",[69,75],{"_key":70,"_type":71,"marks":72,"text":74},"hero-text","span",[73],"strong","Build a website your ",{"_key":76,"_type":71,"marks":77,"text":79},"9970a4603fac",[78,73],"e1b75e5d9767","whole team can manage",[81],{"_key":78,"_type":82,"colorSource":23,"direction":83,"gradientType":84,"radialPosition":85},"gradientText","to-r","linear","at-center","h1",{"_key":88,"_type":67,"children":89,"markDefs":94,"style":95},"hero-para",[90],{"_key":91,"_type":71,"marks":92,"text":93},"hero-para-text",[],"Nuxion pairs a fast Nuxt frontend with a fully editable Sanity Studio — flexible sections, built-in theming, and zero rebuilds needed to update content.",[],"normal",{"_type":97,"groupOptions":98,"links":104},"link.group",{"_type":99,"alignment":100,"gap":102,"orientation":103},"link.group.options",{"mobile":101},"justify-center",16,"horizontal",[105,113],{"_key":106,"_type":10,"components":26,"file":26,"internal":107,"newTab":60,"params":109,"style":110,"title":112,"type":62},"hero-cta-primary",{"_id":45,"_type":48,"url":108},"home","#get-started",{"_type":12,"stylePreset":111},{"_ref":14,"_type":15},"Get Started",{"_key":114,"_type":10,"components":26,"file":26,"internal":115,"params":116,"style":117,"title":119,"type":62},"hero-cta-secondary",{"_id":45,"_type":48,"url":108},"#features",{"_type":12,"stylePreset":118},{"_ref":21,"_type":15},"See Features",{"_type":121,"preset":122},"responsive.height.options","small",{"_type":124,"container":125,"padding":126},"section.options","contained",{"_type":127,"bottom":128,"top":129},"padding.options",46,96,{"_key":131,"_type":132,"alignment":133,"content":134,"options":145,"width":149},"demo-stack-heading","text-block","mx-auto",[135],{"_key":136,"_type":67,"children":137,"markDefs":144,"style":95},"sh-p",[138],{"_key":139,"_type":71,"marks":140,"text":143},"sh-ps",[141,142,73],"uppercase","align-center","Built with",[],{"_type":124,"colorSource":23,"container":125,"padding":146},{"_type":127,"bottom":147,"top":148},8,56,"max-w-3xl",{"_key":151,"_type":152,"direction":153,"grayscale":55,"logoHeight":154,"logos":155,"options":202,"pauseOnHover":55,"perView":147,"speed":204,"title":205},"demo-stack-logos","carousel.logos","left","md",[156,162,167,172,177,182,187,192,197],{"_key":157,"_type":158,"alt":159,"asset":160},"stack-nuxt","image","Nuxt",{"_ref":161,"_type":15},"image-9864cfa3fca330ca37ad8fb2ee50b62c9af5fce2-24x24-svg",{"_key":163,"_type":158,"alt":164,"asset":165},"stack-vue","Vue.js",{"_ref":166,"_type":15},"image-d32c00343a7dbebe8e0470bae3468ad92ee89c26-24x24-svg",{"_key":168,"_type":158,"alt":169,"asset":170},"stack-sanity","Sanity",{"_ref":171,"_type":15},"image-e7c5b2b772939f06b6b55c101ce0872bdd57e09c-24x24-svg",{"_key":173,"_type":158,"alt":174,"asset":175},"stack-typescript","TypeScript",{"_ref":176,"_type":15},"image-f26f86abf0d597532f1b45c309eafacae1e21669-24x24-svg",{"_key":178,"_type":158,"alt":179,"asset":180},"stack-tailwindcss","Tailwind CSS",{"_ref":181,"_type":15},"image-a8e13bf0e867f5b354f04e81fd37e78c71a5c6b6-24x24-svg",{"_key":183,"_type":158,"alt":184,"asset":185},"stack-vite","Vite",{"_ref":186,"_type":15},"image-382fc6b2fef8077847555df20d47a7bf7c9d0bff-24x24-svg",{"_key":188,"_type":158,"alt":189,"asset":190},"stack-pinia","Pinia",{"_ref":191,"_type":15},"image-8b02e964b1ff381f182b392cf18423157fd2700f-24x24-svg",{"_key":193,"_type":158,"alt":194,"asset":195},"stack-vitest","Vitest",{"_ref":196,"_type":15},"image-3b0fc519f033f531d6c9ca7157e51137a2b2d85b-24x24-svg",{"_key":198,"_type":158,"alt":199,"asset":200},"stack-nodejs","Node.js",{"_ref":201,"_type":15},"image-11ae50edbaaa9161d6f02c64acc87b24a5d341ca-24x24-svg",{"_type":124,"colorSource":23,"container":125,"padding":203},{"_type":127,"bottom":148,"top":147},"medium","Tech stack",{"_key":207,"_type":208,"divider":55,"dividerColor":209,"dividerStyle":210,"height":129,"options":211,"title":212},"ea69222189b7","spacer","accent","circuit",{"_type":124,"colorSource":23,"container":125},"Divider · Circuit",{"_key":214,"_type":215,"accentSource":23,"columns":216,"features":217,"heading":231,"intro":232,"options":233},"demo-feature-grid","feature-grid","3",[218,223,227],{"_key":219,"_type":220,"description":221,"title":222},"demo-feature-1","feature","Compose pages from 20+ ready-made blocks — heroes, galleries, forms, FAQs, testimonials and more.","Page Builder",{"_key":224,"_type":220,"description":225,"title":226},"demo-feature-2","Colours, fonts and button styles are managed in Sanity and applied instantly as CSS variables — no redeploy needed.","Live Theming",{"_key":228,"_type":220,"description":229,"title":230},"demo-feature-3","Auto-generated TypeScript types keep your schemas and components in sync, catching mistakes before they ship.","Type-Safe by Design","Everything you need to launch","A component-driven starter with real theming, accessible forms, built-in SEO, and a full blog — every section editable from the Studio.",{"_type":124,"container":125,"sectionId":234},"features",{"_key":236,"_type":208,"divider":55,"dividerColor":237,"dividerStyle":238,"height":129,"options":239,"title":240},"2fa04123048b","subtle","nodes",{"_type":124,"colorSource":23,"container":125},"Divider · Nodes",{"_key":242,"_type":243,"accentSource":23,"heading":244,"options":245,"testimonials":246},"demo-testimonials","testimonials","What people say",{"_type":124,"container":125},[247,253,258],{"_key":248,"_type":249,"name":250,"quote":251,"role":252},"demo-testimonial-1","testimonial","Alex Morgan","We shipped our marketing site in days, not weeks — and our editors actually enjoy using the Studio.","Founder, Acme Studio",{"_key":254,"_type":249,"name":255,"quote":256,"role":257},"demo-testimonial-2","Sam Carter","The built-in theming meant a full rebrand without touching a line of code.","Marketing Lead, Northwind",{"_key":259,"_type":249,"name":260,"quote":261,"role":262},"demo-testimonial-3","Jordan Lee","Clean architecture, real test coverage, and documentation that actually answers our questions.","Independent Developer",{"_key":264,"_type":208,"divider":55,"dividerColor":237,"dividerStyle":265,"height":266,"options":267,"title":268},"b581ece091da","wave",80,{"_type":124,"colorSource":23,"container":125},"Divider · Waves",{"_key":270,"_type":271,"accentSource":23,"heading":272,"items":273,"options":335},"demo-faq","faq","Frequently asked questions",[274,287,299,311,323],{"_key":275,"_type":276,"answer":277,"question":286},"demo-faq-1","faqItem",[278],{"_key":279,"_type":67,"children":280,"markDefs":285,"style":95},"demo-faq-1-a",[281],{"_key":282,"_type":71,"marks":283,"text":284},"demo-faq-1-s",[],"Yes — run `npm run scaffold:component -- custom.my-block` and the schema, Vue component and registrations are generated for you automatically.",[],"Can I add my own components?",{"_key":288,"_type":276,"answer":289,"question":298},"demo-faq-2",[290],{"_key":291,"_type":67,"children":292,"markDefs":297,"style":95},"demo-faq-2-a",[293],{"_key":294,"_type":71,"marks":295,"text":296},"demo-faq-2-s",[],"Yes — full static generation is the default, with Netlify and Vercel deployment presets included out of the box.",[],"Does it work as a static site?",{"_key":300,"_type":276,"answer":301,"question":310},"demo-faq-3",[302],{"_key":303,"_type":67,"children":304,"markDefs":309,"style":95},"demo-faq-3-a",[305],{"_key":306,"_type":71,"marks":307,"text":308},"demo-faq-3-s",[],"Run `npm run setup:project` for a guided one-command setup — it installs dependencies, walks you through your environment variables, and can import this demo content so you have something to work from right away.",[],"How do I get started after purchasing?",{"_key":312,"_type":276,"answer":313,"question":322},"demo-faq-4",[314],{"_key":315,"_type":67,"children":316,"markDefs":321,"style":95},"demo-faq-4-a",[317],{"_key":318,"_type":71,"marks":319,"text":320},"demo-faq-4-s",[],"The README covers quick start and common commands, `docs\u002FCOMPONENT_CREATION_GUIDE.md` walks through building new blocks, and `docs\u002FTYPESCRIPT_GUIDE.md` explains the generated-types workflow.",[],"Where can I find documentation?",{"_key":324,"_type":276,"answer":325,"question":334},"demo-faq-5",[326],{"_key":327,"_type":67,"children":328,"markDefs":333,"style":95},"demo-faq-5-a",[329],{"_key":330,"_type":71,"marks":331,"text":332},"demo-faq-5-s",[],"Run `npm run generate:apache` for a full static build, or deploy directly — Netlify and Vercel presets are already configured in the repo.",[],"How do I deploy my site?",{"_type":124,"container":125,"sectionId":271},{"_key":337,"_type":208,"divider":55,"dividerColor":237,"dividerStyle":338,"height":339,"options":340,"title":341},"9ec68a09ced5","bars",88,{"_type":124,"colorSource":23,"container":125},"Divider · Spectrum",{"_key":343,"_type":132,"alignment":133,"content":344,"options":362,"width":149},"demo-form-heading",[345,354],{"_key":346,"_type":67,"children":347,"markDefs":352,"style":353},"fh-h",[348],{"_key":349,"_type":71,"marks":350,"text":351},"fh-hs",[73,142],"Get in touch",[],"h2",{"_key":355,"_type":67,"children":356,"markDefs":361,"style":95},"fh-p",[357],{"_key":358,"_type":71,"marks":359,"text":360},"fh-ps",[142],"Have a question or want to work together? Send us a message and we'll get back to you.",[],{"_type":124,"colorSource":23,"container":125,"padding":363,"sectionId":364},{"_type":127,"bottom":102,"top":266},"contact",{"_key":366,"_type":367,"form":368,"formAlignment":101,"inputStyle":427,"maxWidth":428,"options":429,"submitButton":432,"widthSetting":36},"demo-form","form.block",{"_createdAt":5,"_id":369,"_rev":370,"_type":371,"_updatedAt":372,"columns":373,"formBuilder":374,"title":351,"type":427},"form-contact","fb4cU9w5jE41W7xStm8DMV","form","2026-09-15T23:28:10Z","2x2",[375,383,388,395,400,416,422],{"_key":376,"_type":377,"columnSpan":378,"label":379,"modelId":380,"placeholder":381,"required":55,"type":382},"field-name","input.field",1,"Name","name","Your name","text",{"_key":384,"_type":377,"columnSpan":378,"label":385,"modelId":386,"placeholder":387,"required":55,"type":386},"field-email","Email","email","you@example.com",{"_key":389,"_type":377,"columnSpan":390,"label":391,"modelId":392,"required":55,"selectOptions":393,"type":394},"field-enquiry",2,"What can we help with?","enquiryType","General enquiry|Sales|Support|Partnership","select",{"_key":396,"_type":377,"columnSpan":390,"label":397,"modelId":398,"required":60,"type":399},"field-date","Preferred callback date","preferredDate","date",{"_key":401,"_type":377,"columnSpan":390,"label":402,"modelId":403,"radioDisplay":103,"radioName":403,"radioOptions":404,"required":55,"type":415},"field-contact-method","How should we reply?","contactMethod",[405,407,411],{"_key":406,"label":385,"value":386},"opt-email",{"_key":408,"label":409,"value":410},"opt-phone","Phone","phone",{"_key":412,"label":413,"value":414},"opt-either","Either is fine","either","radio-group",{"_key":417,"_type":377,"columnSpan":390,"label":418,"modelId":419,"placeholder":420,"required":55,"type":421},"field-message","Message","message","Tell us a bit more…","textarea",{"_key":423,"_type":377,"columnSpan":390,"label":424,"modelId":425,"required":55,"type":426},"field-consent","I am happy to be contacted about this enquiry","consent","checkbox","default",510,{"_type":124,"colorSource":23,"container":125,"padding":430},{"_type":127,"bottom":266,"top":431},0,{"_type":433,"fullWidth":55,"style":434,"title":436},"form.button",{"_type":12,"stylePreset":435},{"_ref":14,"_type":15},"Send message",{"_key":438,"_type":208,"divider":55,"dividerColor":237,"dividerStyle":439,"height":129,"options":440,"title":441},"demo-form-spacer","grid",{"_type":124,"colorSource":23,"container":125},"Divider · Dot matrix",{"_key":443,"_type":132,"alignment":133,"content":444,"options":461,"width":149},"demo-blog-heading",[445,453],{"_key":446,"_type":67,"children":447,"markDefs":452,"style":353},"bh-h",[448],{"_key":449,"_type":71,"marks":450,"text":451},"bh-hs",[73,142],"From the blog",[],{"_key":454,"_type":67,"children":455,"markDefs":460,"style":95},"bh-p",[456],{"_key":457,"_type":71,"marks":458,"text":459},"bh-ps",[142],"Notes on content modelling, performance and theming — written while building this starter.",[],{"_type":124,"colorSource":23,"container":125,"padding":462},{"_type":127,"bottom":102,"top":266},{"_key":464,"_type":465,"options":466,"posts":469,"title":530},"demo-blog-collection","post.collection",{"_type":124,"colorSource":23,"container":125,"padding":467,"sectionId":468},{"_type":127,"bottom":266,"top":431},"blog",[470,491,512],{"_id":471,"authorProfile":472,"categories":479,"excerpt":483,"mainImage":484,"publishedAt":488,"readTime":390,"slug":489,"title":490},"post-structured-content",{"avatar":473,"name":477,"role":478},{"_type":158,"alt":474,"asset":475},"Portrait of Avery Lin",{"_ref":476,"_type":15},"image-7d9d32f0d8cbaa44274ac31144c4acd3b6256c53-512x512-jpg","Avery Lin","Content Architect",[480],{"slug":481,"title":482},"content-modelling","Content Modelling","Page-shaped content models feel productive for about six weeks. Here is what to model instead, and how to tell when a field is describing meaning rather than layout.",{"_type":158,"alt":485,"asset":486},"Abstract blue gradient representing structured content layers",{"_ref":487,"_type":15},"image-dd16abed87c4fcb58e0c410eb2451fe86bd707e2-1600x900-jpg","2026-05-14T09:00:00.000Z","structured-content-over-page-builders","Why your CMS should not know what a hero section is",{"_id":492,"authorProfile":493,"categories":500,"excerpt":504,"mainImage":505,"publishedAt":509,"readTime":378,"slug":510,"title":511},"post-static-generation",{"avatar":494,"name":498,"role":499},{"_type":158,"alt":495,"asset":496},"Portrait of Jordan Hale",{"_ref":497,"_type":15},"image-3a10e41064c69525bf602e7eb0d241fe88c6c9f7-512x512-jpg","Jordan Hale","Front-end Engineer",[501],{"slug":502,"title":503},"performance","Performance","Prerendering makes a site fast and cheap. It also quietly bakes every assumption your code makes about the request into the HTML you ship.",{"_type":158,"alt":506,"asset":507},"Abstract green gradient suggesting speed and layered caching",{"_ref":508,"_type":15},"image-e6a24a7111f8dd00b29b9257b2a3ed4cd8d1352d-1600x900-jpg","2026-06-02T09:00:00.000Z","static-generation-is-a-caching-strategy","Static generation is a caching strategy, not an architecture",{"_id":513,"authorProfile":514,"categories":517,"excerpt":522,"mainImage":523,"publishedAt":527,"readTime":378,"slug":528,"title":529},"post-design-tokens",{"avatar":515,"name":477,"role":478},{"_type":158,"alt":474,"asset":516},{"_ref":476,"_type":15},[518,521],{"slug":519,"title":520},"design-systems","Design Systems",{"slug":481,"title":482},"When an editor picks a brand colour, half a dozen derived values have to stay legible. Here is how to derive them once instead of hard-coding them everywhere.",{"_type":158,"alt":524,"asset":525},"Abstract magenta gradient representing a derived colour palette",{"_ref":526,"_type":15},"image-c96efd6b55a465dcb615ad80af90714207b25dbc-1600x900-jpg","2026-06-21T09:00:00.000Z","theme-colours-belong-to-the-content","Theme colours belong to the content, not the stylesheet","Latest posts",{"_key":532,"_type":208,"divider":55,"dividerColor":209,"dividerStyle":533,"height":339,"options":534,"title":535},"demo-blog-spacer","pulse",{"_type":124,"colorSource":23,"container":125},"Divider · Pulse",{"_key":537,"_type":538,"accentSource":23,"content":539,"ctas":548,"heading":571,"options":572},"demo-cta","cta-banner",[540],{"_key":541,"_type":67,"children":542,"markDefs":547,"style":95},"demo-cta-b",[543],{"_key":544,"_type":71,"marks":545,"text":546},"demo-cta-s",[],"Open the Studio, start editing this page, and make it your own — every section here is just a block.",[],{"_type":97,"groupOptions":549,"links":551},{"_type":99,"alignment":550},{"mobile":101},[552,564],{"_key":553,"_type":554,"action":555,"components":26,"file":556,"internal":26,"style":561,"title":563},"cta-download-overview","action-button","download-file",{"asset":557},{"mimeType":558,"originalFilename":559,"url":560},"application\u002Fpdf","nuxion-overview.pdf","https:\u002F\u002Fcdn.sanity.io\u002Ffiles\u002F813mug5x\u002Fproduction\u002F19d19834227913f28d5d4703da8fe9ec80455933.pdf",{"_type":12,"stylePreset":562},{"_ref":14,"_type":15},"Download Overview",{"_key":565,"_type":10,"components":26,"file":26,"internal":26,"newTab":55,"style":566,"title":568,"type":569,"url":570},"cta-studio-link",{"_type":12,"stylePreset":567},{"_ref":21,"_type":15},"Check out sanity.io","external","https:\u002F\u002Fsanity.io","Ready to build something great?",{"_type":124,"container":125,"padding":573,"sectionId":574},{"_type":127,"bottom":266,"top":266},"get-started","\u002Fhome",{"_type":577,"includeInSitemap":55,"slug":578},"page.routing.options",{"_type":579,"current":108},"slug","Home",1790674593092]