Sanity is a real-time content infrastructure. The editor, built in JavaScript and React.js, lives in this repo. It connects to a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches.
Table of contents
Getting started
If you are running Node the commands below install the Sanity CLI tooling and boostraps a new project for you. Not running Node? Have a look at this.
npm install -g @sanity/cli
sanity init
Then check out the schema documentation and customize your data structure. When you're happy, just sanity deploy
to host the editor with us and head over to sanity.io to invite editors.
As they're merrily content managing you can start setting up a front-end to render your data based on one of the demos we have available.
Feel totally free to ping us on Gitter for a chat should you have questions along the way!
Key Features
Content Studio
- Efficient editing
- Open source, MIT license
- Real-time
- Plug-in architecture
- Block editor for structured content
Hosted Backend
- Secure, scalable and compliant
- Zero config Graph Oriented Query Language (GROQ)
- Hard references for integrity
- API & asset CDNs
- Capable image pipeline
Useful links and resources
Documentation
The documentation covers how to work with content in Sanity, schema types, extending the content studio, how to query the API, importing data and useful tips for presenting your content in a frontend.
Content Studio plugins
Input types
- Google Maps input (
sanity install @sanity/google-maps-input
) - Color input (
sanity install @sanity/color-input
) - Code input (syntax highlighted blocks) (
sanity install @sanity/code-input
)
Tools
- Vision - GROQ sandbox tool (
sanity install @sanity/vision
)
Schema plugins
- Podcast schema (
sanity install podcast
)
Migration tools
- Tools for processing Sanity block content (
npm i @sanity/block-tools
) - Convert Sanity block content into a genereic tree (
npm i @sanity/block-content-to-tree
) - Migrate from Contentful to Sanity (
npm install -g contentful-to-sanity
)
API Clients
Community contributed
- C# /.NET (Thanks @onybo!)
- Laravel (PHP) (Thanks @eastslopestudio!)
Sample frontends
Frontend rendering
- Block content to HTML (
npm i @sanity/block-content-to-html
) - Block content to Hyperscript (
npm i @sanity/block-content-to-hyperscript
) - Block content to Markdown (
npm i @sanity/block-content-to-markdown
) - Block content to React (
npm i @sanity/block-content-to-react
) - Quickly generate image urls from Sanity image records (
npm i @sanity/image-url
)
Blogs, tutorials and other reads
Stay up to date
- Follow @sanity_io on Twitter
- Subscribe to our newsletter
Code of Conduct
We aim to be an inclusive, welcoming community for everyone. To make that explicit, we have a code of conduct that applies to communication around the project.
Want to contribute?
Found a bug, or want to contribute code? Pull requests and issues are most welcome. You might want to take a look at our Contributing guidelines also.
License
The Sanity Content Studio is available under the MIT License