[
  {
    "path": ".gitattributes",
    "content": "* text=auto\nreadme.md merge=union\n"
  },
  {
    "path": "LICENSE",
    "content": "Unlicense (Public Domain)\n============================\n\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any\nmeans.\n\nIn jurisdictions that recognize copyright laws, the author or authors\nof this software dedicate any and all copyright interest in the\nsoftware to the public domain. We make this dedication for the benefit\nof the public at large and to the detriment of our heirs and\nsuccessors. We intend this dedication to be an overt act of\nrelinquishment in perpetuity of all present and future rights to this\nsoftware under copyright law.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\nFor more information, please refer to &lt;<http://unlicense.org/>&gt;\n"
  },
  {
    "path": "code-of-conduct.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, gender identity and expression, level of experience,\nnationality, personal appearance, race, religion, or sexual identity and\norientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\nadvances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n  address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at oss@passionatepeople.nl. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": "contributing.md",
    "content": "# Contribution Guidelines\n\nPlease note that this project is released with a\n[Contributor Code of Conduct](code-of-conduct.md). By participating in this\nproject you agree to abide by its terms.\n\n---\n\nEnsure your pull request adheres to the following guidelines:\n\n- Make sure you take care of this\n- And this as well\n- And don't forget to check this\n\nThank you for your suggestions!\n\n\n## Updating your PR\n\nA lot of times, making a PR adhere to the standards above can be difficult.\nIf the maintainers notice anything that we'd like changed, we'll ask you to\nedit your PR before we merge it. There's no need to open a new PR, just edit\nthe existing one. If you're not sure how to do that,\n[here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md)\non the different ways you can update your PR so that we can merge it.\n"
  },
  {
    "path": "readme.md",
    "content": "# awesome-sanity [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n> A curated list of awesome resources related to [Sanity.io](https://sanity.io/), the Platform for Structured Content.\n\n## Contents\n\n- [Official Resources](#official-resources)\n- [Plugins](#plugins)\n- [Integrations](#integrations)\n- [Sample Projects](#sample-projects)\n    - [Sanity.io/create templates](#sanity.io%2Fcreate-templates)\n    - [Other examples](#other-examples)\n    - [How to's](#how-to's)\n    - [Studio inspiration](#studio-inspiration)\n- [Related Projects](#related-projects)\n- [Media](#media)\n    - [Articles and blogs](#articles-and-blogs)\n    - [Podcasts](#podcasts)\n    - [Videos](#videos)\n\n\n## Official Resources\n\nOfficial resources posted by the Sanity.io team.\n\n- [Sanity.io](http://sanity.io/) - Project website\n- [Docs](https://www.sanity.io/docs/) - Official documentation\n- [Sanity.io/create](https://www.sanity.io/create) - Have a Sanity powered site up and running in minutes\n- [Roadmap](https://www.sanity.io/docs/misc/roadmap) - The project roadmap.\n- [Sanity.io Blog](https://www.sanity.io/blog) - Great articles written by the Sanity.io team\n- [Status page](https://status.sanity.io/) - Check if all systems are operational\n- [`sanity-recipes`](https://github.com/sanity-io/sanity-recipes) - Collection of recipies / snippets / frequently asked questions about Sanity.\n- [Slack community](https://slack.sanity.io/) - Essential Slack community with more than a thousand Sanity.io users. The core team hangs out there too!  \n\n## Plugins\n\nSanity is built in React.js and plugins allow you to create and include components that compose or override existing functionality.  \nUse `sanity install {plugin-name}` to install a plugin.\n\n- [`@sanity/code-input`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/code-input) - Adds a new `type: 'code'` field type.\n- [`@sanity/color-input`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/color-input) - Adds a new `type: 'color'` field type. \n- [`@sanity/dashboard`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/dashboard) - Add the [dashboard tool](https://www.sanity.io/docs/content-studio/dashboard) to your studio.\n- [`@sanity/google-maps-input`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/google-maps-input) - Provides a more visual way to input the coordinates of a geopoint field.\n- [`@sanity/production-preview`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/production-preview) - Add a link from the content studio to a preview path on your site. ([Read more](https://www.sanity.io/docs/content-studio/preview-content-on-site))\n- [`@sanity/rich-date-input`](https://github.com/sanity-io/sanity/tree/next/packages/%40sanity/rich-date-input) - A richer date/time type and input component for Sanity form builder\n- [`@sanity/vision`](https://github.com/sanity-io/sanity/tree/master/packages/@sanity/vision) - A tool that allows you to quickly query data from your studio. ([Read more](https://www.sanity.io/docs/front-ends/the-vision-plugin))\n- [`dark-theme`](https://github.com/sanity-io/dark-theme) - Dark theme for the sanity studio\n- [`sanity-plugin-datatable`](https://www.npmjs.com/package/sanity-plugin-datatable) - Adds a new `type: 'table'` field type.\n- [`sanity-plugin-highcharts-editor`](https://github.com/nilsnh/sanity-plugin-highcharts-editor) - This plugin let's you embed the Highcharts Editor within Sanity.\n- [`sanity-plugin-inline-svg-upload-preview`](https://github.com/artemartemov/sanity-plugin-inline-svg-upload-preview/) - Adds a new `type: 'svgUploadPreview'` field type. Inline SVG Upload and Preview.\n- [`sanity-plugin-intercom`](https://www.npmjs.com/package/sanity-plugin-intercom) - This plugin adds a new tool in your Sanity Content Studio with the Intercom-widget.\n- [`sanity-plugin-json-input`](https://www.npmjs.com/package/sanity-plugin-json-input) - Adds a new `type: 'json'` field.\n- [`sanity-plugin-latex-input`](https://github.com/sanity-io/latex-input) - Enables LaTeX math forumla input with preview capabilities\n- [`sanity-plugin-markdown`](https://github.com/rexxars/sanity-plugin-markdown) - Adds a new `type: 'markdown'` field type. \n- [`sanity-plugin-mapbox-input`](https://github.com/Grsmto/sanity-plugin-mapbox-input) - Sanity plugin providing input handlers for geo-related input types using Mapbox.\n- [`sanity-plugin-mux-input`](https://github.com/sanity-io/sanity-plugin-mux-input) - Adds a new `type: 'mux.video'` field type.\n- [`sanity-plugin-nyancat-spinner`](https://github.com/rexxars/sanity-plugin-nyancat-spinner) - Replace default spinners with NYANCAT SPINNERS OMG\n- [`sanity-plugin-podcast`](https://www.npmjs.com/package/sanity-plugin-podcast) - Podcast plugin for Sanity that creates schemas for podcasts and episodes with necessary iTunes data.\n- [`sanity-plugin-sanity-datatable`](https://www.npmjs.com/package/sanity-plugin-sanity-datatable) - Adds a new `type: 'table'` field type.\n- [`sanity-plugin-table`](https://github.com/rdunk/sanity-plugin-table) - Adds a new `type: 'table'` field type.\n- [`sanity-plugin-timelinejs`](https://github.com/kmelve/sanity-plugin-timelinejs) - This plugin installs schemas for hosting content for Timeline.js. ([Example](https://codesandbox.io/s/5w2xv3moox))\n- [`sanity-plugin-url-metadata-input`](https://github.com/sanity-io/sanity-plugin-url-metadata-input) - URL input for Sanity that retrieves metadata (title, description) along with OpenGraph information\n- [`sanity-plugin-webamp`](https://www.npmjs.com/package/sanity-plugin-webamp) - This plugin adds [Webamp](https://webamp.org/) as a tool in your Sanity Studio.\n- [`unicorn-slider`](https://github.com/sanity-io/unicorn-slider) - Sample input plugin implemented in the [Custom input widget guide](https://www.sanity.io/docs/extending/custom-input-widgets)\n\nThe following plugins are not yet production ready, use at your own risk:\n- [`sanity-plugin-draft-review`](https://github.com/gustavorino/sanity-plugin-draft-review) - Sanity draft review plugin\n- [`sanity-plugin-search-groq-filter`](https://github.com/sanity-io/sanity-plugin-search-groq-filter) - Adds support for GROQ filters in search queries in Sanity\n\n### Plugins as source code\nThese plugins are not directly installable using `sanity install` but you can check the source code and include them as local plugins\n\n- [`barcode-input`](https://github.com/sanity-io/sanity/tree/next/packages/ecommerce-studio/plugins/barcode-input) - Originally part of the [ecommerce-studio](https://github.com/sanity-io/sanity/tree/next/packages/ecommerce-studio) this input field allows you to enter a barcode you can scan\n\n### Plugin templates\n\n- [`plugin-template-chess-input`](https://github.com/sanity-io/plugin-template-chess-input) - Plugin template for input component modelling a chess board, including preview\n- [`plugin-template-logo`](https://github.com/sanity-io/plugin-template-logo) - Plugin template for a studio logo\n- [`plugin-template-tool-with-routing`](https://github.com/sanity-io/plugin-template-tool-with-routing) - Plugin template for a tool that includes basic routing.\n\n### Dashboard plugins\nThese plugins add widgets or functionality to your dashboard tool.\n- [`minesweeper`](https://github.com/tkalve/minesweeper) - Dashboard widget for the Sanity Content Studio which gives you a minesweeper game.\n- [`sanity-plugin-dashboard-widget-document-chart`](https://github.com/thomax/sanity-dashboard-widget-document-chart) - Sanity dashboard widget which graphs out count of doctypes\n- [`sanity-plugin-dashboard-widget-gatsby`](https://github.com/gatsby-inc/sanity-plugin-dashboard-widget-gatsby) - A dashboard widget plugin for Gatsby Preview and Sanity\n- [`sanity-plugin-dashboard-widget-notes`](https://github.com/mrkolby/sanity-plugin-dashboard-widget-notes) - Dashboard widget for the Sanity Content Studio which lets you write simple \"post-it\" notes\n- [`sanity-plugin-dashboard-widget-netlify`](https://github.com/sanity-io/sanity-plugin-dashboard-widget-netlify) - Sanity Studio Dashboard Widget for triggering Netlify builds\n- [`sanity-plugin-dashboard-widget-feed`](https://github.com/readeral/sanity-plugin-dashboard-widget-feed) - A dashboard widget plugin for outputting a feed of links and videos from your own or a configured project.\n\n## Integrations\n\n- [`gatsby-source-sanity`](https://github.com/sanity-io/gatsby-source-sanity) - Easy way to pull data from Sanity into Gatsby websites.\n- [Sane Shopify](https://github.com/good-idea/sane-shopify) - Integration between Sanity and the Shopify Storefront API.\n- [MDX-deck with Sanity](https://github.com/kmelve/sanity-with-mdx-deck) - Generate an [mdx-deck](https://github.com/jxnblk/mdx-deck) from Sanity.io\n- [`contentful-to-sanity`](https://www.npmjs.com/package/contentful-to-sanity) - This package liberates Contentful spaces, creating Sanity projects and schemas as it goes.\n\n## Sample projects\n\n### Sanity.io/create templates\n- [Gatsby blog powered by Sanity](https://github.com/sanity-io/sanity-template-gatsby-blog)\n- [Gatsby portfolio site powered by Sanity](https://github.com/sanity-io/sanity-template-gatsby-portfolio)\n- [Landing page builder in Next.js](https://github.com/sanity-io/sanity-template-nextjs-landing-pages)\n- [Conference site in Vue / Nuxt](https://github.com/sanity-io/sanity-template-nuxt-events)\n- [Blog template with a Svelte front-end](https://github.com/sanity-io/sanity-template-sapper-blog)\n\n### Other examples\n- [The Transglobal Candy Store](https://github.com/sanity-io/example-ecommerce-snipcart-vue) - Sample front-end for the Sanity.io e-commerce schema with vue.js, nuxt.js, and snipcart\n- [Microservice for transcribing audio files](https://github.com/sanity-io/sanity-microservice-transcription) - Microservice for transcribing audio files uploaded to sanity.io\n- [Cats dashboard widget](https://github.com/sanity-io/example-dashboard-widget-cats) - A dashboard widget for Sanity Content Studio\n\n### How-to's\n- [Netlify from Sanity](https://github.com/sanity-io/netlify-form-sanity) - How to use Netlify Forms and Functions to submit data to Sanity.io\n- [Auth0 authentication and Sanity](https://github.com/fredjens/auth0-sanity-poc) - Authenticate with Auth0 and use Sanity for userdata\n\n### Studio Inspiration\nOther people's approach to structuring the studio\n- [Movie CMS](https://github.com/mornir/movie-cms) - Movie CMS using Sanity.io\n- [Hikawa.studio CMS](https://github.com/good-idea/hikawa.studio) - React+SSR for hikawa.studio via Sanity.io + Shopify GraphQL API \n- [Rendah Mag CMS](https://github.com/danjonesdev/rendah-mag-sanity-cli) - Sanity.io dashboard for Rendah Mag\n- [byteconf-sanity-schema](https://github.com/byteconf/byteconf-sanity-schema) - The sanity.io schema for byteconf.com\n- [perezperret.com CMS](https://github.com/perezperret/perezperret.com-cms) - sanity.io headless CMS for perezperret.com\n- [SeedTribe CMS](https://github.com/harrycresswell/seedtribe-api) - An API for SeedTribe content built using Sanity.io\n- [Itinerary studio](https://github.com/thomax/itinerary-studio) - Studio for planning a journey\n\n## Related projects\n\n- [Official: GROQ](https://sanity-io.github.io/GROQ/) - **G**raph-**R**elational **O**bject **Q**ueries, the query language and execution engine for filtering and projecting JSON documents.\n- [Official: Portable Text](https://portabletext.org/) - Portable Text is a JSON based rich text specification for modern content editing platforms.\n- [Official: `vscode-sanity`](https://github.com/sanity-io/vscode-sanity) - Visual Studio Code extension for developing applications powered by Sanity.io\n- [Sanity Query Helper](https://github.com/staccx/sanity-query-helper) - Helper for using Sanity.io and generating GROQ\n- [`dumbo-ears`](https://github.com/rexxars/dumbo-ears) - Small(ish) listener implementation for Sanity. Useful if you only need listeners.\n- [`picosanity`](https://github.com/rexxars/picosanity) - Tiny Sanity client alternative, if you only need to do queries and only need to support modern browsers.\n- [`podcast-to-sanity`](https://github.com/sanity-io/podcast-to-sanity) - This CLI lets you import podcasts into Sanity via their RSS-feed.\n- [`react-sanity-pagination`](https://github.com/dane-brown/react-sanity-pagination) - React pagination for Sanity.io\n- [`reflector-client`](https://www.npmjs.com/package/reflector-client) - Implements the messaging protocol that supports the Sanity real time presence exprience.\n\n## Media\n\n### Articles and blogs\n- [Strategies For Headless Projects With Structured Content Management Systems](https://www.smashingmagazine.com/2018/11/structured-content-done-right/) - Knut Melvær\n- [Make a Serverless Slack Notification Service – “A post was updated in Sanity”](https://dev.to/sanity-io/someone-created-a-post-in-sanity-make-a-serverless-slack-notification-service-373i) - Knut Melvær \n- [Make your own podcasting platform!](https://dev.to/kmelve/make-your-own-podcasting-platform-e5o) - Knut Melvær \n- [My brand new blog powered by Sanity.io](https://staticfirst.dev/blog/2019/04/my-brand-new-blog-powered-by-sanity-io-gatsby/) - Markus Schork\n- [Norwegian CMS startup Sanity - The New Kid in Town](https://www.cms-connected.com/News-Archive/June-2018/Norwegian-CMS-startup-Sanity-The-New-Kid-in-Town) - CMS Connected\n\n### Podcasts\n- [Structured Content Done Right with Sanity.io](https://devmode.fm/episodes/structured-content-done-right-with-sanity-io) - devMode.fm\n- [Headless CMS - Interview with Simen Svale Skogsrud](https://cherryleaf.podbean.com/e/48-headless-cms-interview-with-simen-svale-skogsrud/) - The Cherryleaf Podcast\n- [Structuring Content with Simen Svale Skogsrud and Knut Melvær of Sanity.io](https://www.heavybit.com/library/podcasts/jamstack-radio/ep-42-structuring-content-with-simen-svale-skogsrud-and-knut-melvaer-of-sanity-io/) - JAMStack Radio\n- [Sanity.io w/ Knut Melvær](https://www.htmlallthethings.com/Podcast/5d41e97d6a070d0011eb656d) - HTML All The Things\n- [Syntax.fm](https://syntax.fm/) - Sanity is a regular sponsor of Syntax.fm\n\n### Videos\n- [Official Youtube Channel](https://www.youtube.com/channel/UCGz69JwGRptteFAaX8hSKCQ)\n- [Sanity | ReactJS Norway](https://www.youtube.com/watch?v=oIECLhOpAns) - One of the very first public presentations about Sanity\n- [Build a Portfolio Site with Sanity.io and Gatsby - Learn with Jason](https://github.com/jlengstorf/sanity-gatsby-portfolio) - [Espen Hovlandsdal](https://twitter.com/rexxars) teaches [Jason Lengstorf](https://twitter.com/jlengstorf) how to build a portfolio site using Sanity.io and Gatsby. (Repos: [Site](https://github.com/jlengstorf/sanity-gatsby-portfolio), [Studio](https://github.com/jlengstorf/sanity-portfolio-studio))\n\n## Contribute\n\nContributions welcome! Read the [contribution guidelines](contributing.md) first.\n\n\n## License\n\n[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0)\n\nTo the extent possible under law, Passionate People has waived all copyright and\nrelated or neighboring rights to this work.\n\n[//]: # (Original author: Israel Roldan)\n"
  }
]