diff --git a/.changeset/config.json b/.changeset/config.json
index 9892c9b114..9dcf4038ea 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -10,7 +10,6 @@
"onlyUpdatePeerDependentsWhenOutOfRange": true
},
"ignore": [
- "@examples/*",
- "@experimental-examples/*"
+ "@examples/*"
]
}
diff --git a/AGENTS.md b/AGENTS.md
index 2a070ba6d7..824efe0609 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -16,7 +16,6 @@ examples/ # Framework example apps
hugo/kitchen-sink/ # Hugo kitchen-sink
react/kitchen-sink/ # React kitchen-sink
shared/ # Shared content and public assets across kitchen-sink examples
-experimental-examples/ # Experimental/prototype examples
playwright/ # Playwright test infrastructure
scripts/ # Repo maintenance scripts
tests/ # Build verification tests
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c78f65c556..7b8c54d291 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -99,7 +99,7 @@ Run `git checkout -- .` This will clear out the versioning changes.
### Local
-If the changes affect local use of the packages (i.e. not the ContentAPI), use one of the example apps (e.g. `examples/next/kitchen-sink`) or the tina-cloud-starter in the `experimental-examples` directory.
+If the changes affect local use of the packages (i.e. not the ContentAPI), use one of the example apps (e.g. `examples/next/kitchen-sink`).
To use a **tinacms** repository cloned locally, when running your application, use the `--rootPath` flag:
diff --git a/experimental-examples/kitchen-sink/README.md b/experimental-examples/kitchen-sink/README.md
deleted file mode 100644
index dc7e7ca6bf..0000000000
--- a/experimental-examples/kitchen-sink/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-This is a [Tina CMS](https://tina.io/) project.
-
-## Getting Started
-
-First, run the development server:
-
-```bash
-npm run dev
-# or
-yarn dev
-```
-
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-
-## Learn More
-
-To learn more about Tina, take a look at the following resources:
-
-- [Tina Docs](https://tina.io/docs)
-- [Getting starter guide](https://tina.io/guides/tina-cloud/starter/overview/)
-
-You can check out [Tina GitHub repository](https://github.com/tinacms/tinacms) - your feedback and contributions are welcome!
-
-## [Deploy on Vercel](https://tina.io/guides/tina-cloud/add-tinacms-to-existing-site/deployment/)
-
-## Note
-
-This example project is also use to demo [custom reference field selector](https://tina.io/docs/reference/types/reference/#search-reference)
diff --git a/experimental-examples/kitchen-sink/app/[...filename]/client-page.tsx b/experimental-examples/kitchen-sink/app/[...filename]/client-page.tsx
deleted file mode 100644
index 576e72872d..0000000000
--- a/experimental-examples/kitchen-sink/app/[...filename]/client-page.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-'use client'
-import { TinaMarkdown } from 'tinacms/dist/rich-text'
-import { tinaField, useTina } from 'tinacms/dist/react'
-import { PageQuery } from '../../tina/__generated__/types'
-import React from 'react'
-
-interface ClientPageProps {
- query: string
- variables: {
- relativePath: string
- }
- data: { page: PageQuery['page'] }
-}
-
-export default function ClientPage(props: ClientPageProps) {
- const { data } = useTina({ ...props })
- const { heading, subtitle, body } = data.page
-
- return (
-
-
{heading}
-
{subtitle}
-
-
-
{JSON.stringify(props)}
,
- component2: (props) =>
{JSON.stringify(props)}
,
- }}
- />
-
-
- )
-}
diff --git a/experimental-examples/kitchen-sink/app/[...filename]/page.tsx b/experimental-examples/kitchen-sink/app/[...filename]/page.tsx
deleted file mode 100644
index 7c7ddd0654..0000000000
--- a/experimental-examples/kitchen-sink/app/[...filename]/page.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import ClientPage from './client-page'
-import client from '../../tina/__generated__/client'
-import React from 'react'
-
-export async function generateStaticParams() {
- const pages = await client.queries.pageConnection()
- const paths = pages.data?.pageConnection?.edges?.map((edge) => ({
- filename: edge?.node?._sys.breadcrumbs,
- }))
-
- return paths || []
-}
-
-export default async function Page({
- params,
-}: {
- params: { filename: string[] }
-}) {
- const data = await client.queries.page({
- relativePath: `${params.filename}.mdx`,
- })
-
- return
-}
diff --git a/experimental-examples/kitchen-sink/app/layout.tsx b/experimental-examples/kitchen-sink/app/layout.tsx
deleted file mode 100644
index 88d9ab99ba..0000000000
--- a/experimental-examples/kitchen-sink/app/layout.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import Link from 'next/link'
-import React from 'react'
-
-export default function RootLayout({ children }) {
- return (
-
-
-
- Home
- {' | '}
- Posts
-
- {children}
-
-
- )
-}
diff --git a/experimental-examples/kitchen-sink/app/posts/[...filename]/client-page.tsx b/experimental-examples/kitchen-sink/app/posts/[...filename]/client-page.tsx
deleted file mode 100644
index 32d41692cc..0000000000
--- a/experimental-examples/kitchen-sink/app/posts/[...filename]/client-page.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-'use client'
-import { useTina } from 'tinacms/dist/react'
-import { PostQuery } from '../../../tina/__generated__/types'
-
-interface ClientPageProps {
- query: string
- variables: {
- relativePath: string
- }
- data: PostQuery
-}
-
-export default function Post(props: ClientPageProps) {
- // data passes though in production mode and data is updated to the sidebar data in edit-mode
- const { data } = useTina({
- query: props.query,
- variables: props.variables,
- data: props.data,
- })
- return (
-
-
- )
-}
-
-export default PostCollectionCustomReference
diff --git a/experimental-examples/kitchen-sink/content/author/Napolean.md b/experimental-examples/kitchen-sink/content/author/Napolean.md
deleted file mode 100644
index 5e079d225a..0000000000
--- a/experimental-examples/kitchen-sink/content/author/Napolean.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Melbourne - Napoleon
-description: Napolean is the first author
-location: melbourne
----
diff --git a/experimental-examples/kitchen-sink/content/author/Napolean2.md b/experimental-examples/kitchen-sink/content/author/Napolean2.md
deleted file mode 100644
index 2982fe6c61..0000000000
--- a/experimental-examples/kitchen-sink/content/author/Napolean2.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Melbourne - Napoleon2
-description: This is Napolean 2 description
-location: melbourne
----
diff --git a/experimental-examples/kitchen-sink/content/author/napolean 3.md b/experimental-examples/kitchen-sink/content/author/napolean 3.md
deleted file mode 100644
index 8a06ebe381..0000000000
--- a/experimental-examples/kitchen-sink/content/author/napolean 3.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Sydney - Napolean
-description: test
-location: sydney
----
diff --git a/experimental-examples/kitchen-sink/content/author/napolean 4.md b/experimental-examples/kitchen-sink/content/author/napolean 4.md
deleted file mode 100644
index d44f84ce5a..0000000000
--- a/experimental-examples/kitchen-sink/content/author/napolean 4.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Sydney - Napoleon
-description: test
-location: sydney
----
diff --git a/experimental-examples/kitchen-sink/content/page/home.mdx b/experimental-examples/kitchen-sink/content/page/home.mdx
deleted file mode 100644
index eabcacb040..0000000000
--- a/experimental-examples/kitchen-sink/content/page/home.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-heading: 'test-reference field '
-subtitle: test reference filed
-author: content/author/Napolean2.md
----
-
-test
diff --git a/experimental-examples/kitchen-sink/content/post/HelloWorld.md b/experimental-examples/kitchen-sink/content/post/HelloWorld.md
deleted file mode 100644
index 299d45e32a..0000000000
--- a/experimental-examples/kitchen-sink/content/post/HelloWorld.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: hello world
-author: content/author/test-author.md
----
-
-Hello s
-
-How are you doing?
diff --git a/experimental-examples/kitchen-sink/content/post/test.md b/experimental-examples/kitchen-sink/content/post/test.md
deleted file mode 100644
index 32b22d4211..0000000000
--- a/experimental-examples/kitchen-sink/content/post/test.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: test
-author: ''
----
diff --git a/experimental-examples/kitchen-sink/next-env.d.ts b/experimental-examples/kitchen-sink/next-env.d.ts
deleted file mode 100644
index 40c3d68096..0000000000
--- a/experimental-examples/kitchen-sink/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
diff --git a/experimental-examples/kitchen-sink/next.config.js b/experimental-examples/kitchen-sink/next.config.js
deleted file mode 100644
index 4ba52ba2c8..0000000000
--- a/experimental-examples/kitchen-sink/next.config.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = {}
diff --git a/experimental-examples/kitchen-sink/package.json b/experimental-examples/kitchen-sink/package.json
deleted file mode 100644
index 6aba18039c..0000000000
--- a/experimental-examples/kitchen-sink/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "@experimental-examples/kitchen-sink-starter",
- "private": true,
- "scripts": {
- "dev": "tinacms dev -c \"next dev\"",
- "build": "tinacms dev -c \"NODE_ENV=production next build\"",
- "start": "tinacms dev -c \"next start\"",
- "lint": "next lint",
- "diff-tina-lock": "tinacms-scripts diff-tina-lock",
- "update-tina-lock": "tinacms dev --no-server"
- },
- "dependencies": {
- "next": "14.2.35",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "react-is": "^18.3.1",
- "tinacms": "workspace:*"
- },
- "devDependencies": {
- "@tinacms/cli": "workspace:*",
- "@tinacms/scripts": "workspace:*",
- "eslint": "^9.20.1",
- "eslint-config-next": "^14.2.24",
- "typescript": "^5.7.3"
- },
- "version": "0.1"
-}
diff --git a/experimental-examples/kitchen-sink/public/admin/.gitignore b/experimental-examples/kitchen-sink/public/admin/.gitignore
deleted file mode 100644
index c6a8f8ff67..0000000000
--- a/experimental-examples/kitchen-sink/public/admin/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-index.html
-assets/
\ No newline at end of file
diff --git a/experimental-examples/kitchen-sink/public/favicon.ico b/experimental-examples/kitchen-sink/public/favicon.ico
deleted file mode 100644
index 718d6fea48..0000000000
Binary files a/experimental-examples/kitchen-sink/public/favicon.ico and /dev/null differ
diff --git a/experimental-examples/kitchen-sink/public/vercel.svg b/experimental-examples/kitchen-sink/public/vercel.svg
deleted file mode 100644
index fbf0e25a65..0000000000
--- a/experimental-examples/kitchen-sink/public/vercel.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/kitchen-sink/tina/.gitignore b/experimental-examples/kitchen-sink/tina/.gitignore
deleted file mode 100644
index ef208df956..0000000000
--- a/experimental-examples/kitchen-sink/tina/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-__generated__
\ No newline at end of file
diff --git a/experimental-examples/kitchen-sink/tina/config.ts b/experimental-examples/kitchen-sink/tina/config.ts
deleted file mode 100644
index 9724afcebc..0000000000
--- a/experimental-examples/kitchen-sink/tina/config.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineConfig } from 'tinacms'
-import schema from './schema'
-
-export default defineConfig({
- schema,
- branch: 'main',
- build: { outputFolder: 'admin', publicFolder: 'public' },
- clientId: '***',
- token: '***',
-})
diff --git a/experimental-examples/kitchen-sink/tina/custom-component-reference-select/model.ts b/experimental-examples/kitchen-sink/tina/custom-component-reference-select/model.ts
deleted file mode 100644
index 8850f02046..0000000000
--- a/experimental-examples/kitchen-sink/tina/custom-component-reference-select/model.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-// You should define the types for the fields in the author collection for typesafety
-export type AuthorProps = {
- name: string
- description: string
- _collection: 'author'
-}
-
-// You should define the types for the fields in the post collection for typesafety
-export type PostProps = {
- title: string
- excerpt: string
- _collection: 'post'
-}
-
-// You should define the list of collection used in the reference for typesafety
-export enum COLLECTIONS {
- AUTHOR = 'author',
- POST = 'post',
-}
-
-// InternalSys is from tinacms where it gives a lot of useful information for user to customize their custom component
-export interface InternalSys {
- filename: string
- path: string
-}
-
-export type CollectionProps = AuthorProps | PostProps
diff --git a/experimental-examples/kitchen-sink/tina/custom-component-reference-select/reference-field-schema.tsx b/experimental-examples/kitchen-sink/tina/custom-component-reference-select/reference-field-schema.tsx
deleted file mode 100644
index 33956a3cf9..0000000000
--- a/experimental-examples/kitchen-sink/tina/custom-component-reference-select/reference-field-schema.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import React from 'react'
-import AuthorCollectionCustomReference from '../../component/custom-reference-select-author'
-import PostCollectionCustomReference from '../../component/custom-reference-select-post'
-import { type CollectionProps, COLLECTIONS, type InternalSys } from './model'
-import { LocationEnum } from '../model/location-enum'
-
-const referenceField = {
- label: 'Author',
- name: 'author',
- type: 'reference',
- ui: {
- optionComponent: (values: CollectionProps, s: InternalSys) => {
- switch (values._collection) {
- case COLLECTIONS.AUTHOR:
- return (
-
- )
-
- case COLLECTIONS.POST:
- return
-
- default:
- return s.path
- }
- },
- //Static example - user can define which field and value they want to filter
- // collectionFilter: {
- // author: {
- // location: 'melbourne',
- // },
- // post: {
- // title: 'hello world',
- // },
- // },
- //Dynamic example - user can define the function they want here but need to make sure the return type match the schema
- // collectionFilter: () => {
- // const url = new URL('https://bob-northwind-sydney.com')
- // const hostname = url.hostname
- //
- // let location: LocationEnum
- // switch (hostname) {
- // case 'bob-northwind-melbourne.com':
- // location = LocationEnum.Melbourne
- // break
- // case 'bob-northwind-sydney.com':
- // location = LocationEnum.Sydney
- // break
- // default:
- // location = LocationEnum.Default
- // break
- // }
- //
- // return {
- // author: {
- // location,
- // },
- // }
- // },
- },
- collections: ['author', 'post'],
-}
-
-export default referenceField
diff --git a/experimental-examples/kitchen-sink/tina/model/location-enum.ts b/experimental-examples/kitchen-sink/tina/model/location-enum.ts
deleted file mode 100644
index b9dd29b943..0000000000
--- a/experimental-examples/kitchen-sink/tina/model/location-enum.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Define an enum for location
-export enum LocationEnum {
- Melbourne = 'melbourne',
- Sydney = 'sydney',
- Default = 'Default',
-}
diff --git a/experimental-examples/kitchen-sink/tina/schema.ts b/experimental-examples/kitchen-sink/tina/schema.ts
deleted file mode 100644
index fd42021b48..0000000000
--- a/experimental-examples/kitchen-sink/tina/schema.ts
+++ /dev/null
@@ -1,111 +0,0 @@
-import { defineSchema } from 'tinacms'
-import referenceField from './custom-component-reference-select/reference-field-schema'
-
-export default defineSchema({
- collections: [
- {
- label: 'Page Content',
- name: 'page',
- path: 'content/page',
- format: 'mdx',
- fields: [
- {
- name: 'heading',
- label: 'Heading',
- type: 'string',
- },
- {
- name: 'subtitle',
- label: 'Subtitle',
- type: 'string',
- ui: {
- component: 'textarea',
- },
- },
- {
- name: 'body',
- label: 'Main Content',
- type: 'rich-text',
- isBody: true,
- templates: [
- {
- name: 'component1',
- label: 'Component Asdf',
- fields: [
- { label: 'Prop 1', name: 'prop1', type: 'string' },
- { label: 'Prop 2', name: 'prop2', type: 'string' },
- ],
- },
- {
- name: 'component2',
- label: 'I adding something new!!!!',
- fields: [
- { label: 'Prop 1', name: 'prop1', type: 'string' },
- { label: 'Prop 2', name: 'prop2', type: 'string' },
- ],
- },
- ],
- },
- referenceField,
- ],
- },
- {
- label: 'Blog Posts',
- name: 'post',
- path: 'content/post',
- format: 'md',
- fields: [
- {
- type: 'string',
- label: 'Title',
- name: 'title',
- required: true,
- },
- {
- type: 'string',
- label: 'Excerpt',
- name: 'excerpt',
- required: false,
- },
- {
- type: 'rich-text',
- label: 'Blog Post Body',
- name: 'body',
- isBody: true,
- },
- {
- label: 'Author',
- name: 'author',
- type: 'reference',
- collections: ['author'],
- },
- ],
- },
- {
- label: 'Authors',
- name: 'author',
- path: 'content/author',
- format: 'md',
- fields: [
- {
- type: 'string',
- label: 'Name',
- name: 'name',
- required: true,
- },
- {
- type: 'string',
- label: 'description',
- name: 'description',
- required: true,
- },
- {
- type: 'string',
- label: 'Location',
- name: 'location',
- required: true,
- },
- ],
- },
- ],
-})
diff --git a/experimental-examples/kitchen-sink/tina/tina-lock.json b/experimental-examples/kitchen-sink/tina/tina-lock.json
deleted file mode 100644
index b716f29065..0000000000
--- a/experimental-examples/kitchen-sink/tina/tina-lock.json
+++ /dev/null
@@ -1 +0,0 @@
-{"schema":{"version":{"fullVersion":"1.6.2","major":"1","minor":"6","patch":"2"},"meta":{"flags":["experimentalData"]},"collections":[{"label":"Page Content","name":"page","path":"content/page","format":"mdx","fields":[{"name":"heading","label":"Heading","type":"string","namespace":["page","heading"],"searchable":true,"uid":false},{"name":"subtitle","label":"Subtitle","type":"string","ui":{"component":"textarea"},"namespace":["page","subtitle"],"searchable":true,"uid":false},{"name":"body","label":"Main Content","type":"rich-text","isBody":true,"templates":[{"name":"component1","label":"Component Asdf","fields":[{"label":"Prop 1","name":"prop1","type":"string","namespace":["page","body","component1","prop1"],"searchable":true,"uid":false},{"label":"Prop 2","name":"prop2","type":"string","namespace":["page","body","component1","prop2"],"searchable":true,"uid":false}],"namespace":["page","body","component1"]},{"name":"component2","label":"I adding something new!!!!","fields":[{"label":"Prop 1","name":"prop1","type":"string","namespace":["page","body","component2","prop1"],"searchable":true,"uid":false},{"label":"Prop 2","name":"prop2","type":"string","namespace":["page","body","component2","prop2"],"searchable":true,"uid":false}],"namespace":["page","body","component2"]}],"namespace":["page","body"],"searchable":true,"parser":{"type":"mdx"},"uid":false},{"label":"Author","name":"author","type":"reference","ui":{},"collections":["author","post"],"namespace":["page","author"],"searchable":true,"uid":false}],"namespace":["page"]},{"label":"Blog Posts","name":"post","path":"content/post","format":"md","fields":[{"type":"string","label":"Title","name":"title","required":true,"namespace":["post","title"],"searchable":true,"uid":false},{"type":"string","label":"Excerpt","name":"excerpt","required":false,"namespace":["post","excerpt"],"searchable":true,"uid":false},{"type":"rich-text","label":"Blog Post Body","name":"body","isBody":true,"namespace":["post","body"],"searchable":true,"parser":{"type":"markdown"},"uid":false},{"label":"Author","name":"author","type":"reference","collections":["author"],"namespace":["post","author"],"searchable":true,"uid":false}],"namespace":["post"]},{"label":"Authors","name":"author","path":"content/author","format":"md","fields":[{"type":"string","label":"Name","name":"name","required":true,"namespace":["author","name"],"searchable":true,"uid":false},{"type":"string","label":"description","name":"description","required":true,"namespace":["author","description"],"searchable":true,"uid":false},{"type":"string","label":"Location","name":"location","required":true,"namespace":["author","location"],"searchable":true,"uid":false}],"namespace":["author"]}],"config":{}},"lookup":{"DocumentConnection":{"type":"DocumentConnection","resolveType":"multiCollectionDocumentList","collections":["page","post","author"]},"Node":{"type":"Node","resolveType":"nodeDocument"},"DocumentNode":{"type":"DocumentNode","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"PageAuthor":{"type":"PageAuthor","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"Page":{"type":"Page","resolveType":"collectionDocument","collection":"page","createPage":"create","updatePage":"update"},"PageConnection":{"type":"PageConnection","resolveType":"collectionDocumentList","collection":"page"},"PostAuthor":{"type":"PostAuthor","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"Post":{"type":"Post","resolveType":"collectionDocument","collection":"post","createPost":"create","updatePost":"update"},"PostConnection":{"type":"PostConnection","resolveType":"collectionDocumentList","collection":"post"},"Author":{"type":"Author","resolveType":"collectionDocument","collection":"author","createAuthor":"create","updateAuthor":"update"},"AuthorConnection":{"type":"AuthorConnection","resolveType":"collectionDocumentList","collection":"author"}},"graphql":{"kind":"Document","definitions":[{"kind":"ScalarTypeDefinition","name":{"kind":"Name","value":"Reference"},"description":{"kind":"StringValue","value":"References another document, used as a foreign key"},"directives":[]},{"kind":"ScalarTypeDefinition","name":{"kind":"Name","value":"JSON"},"description":{"kind":"StringValue","value":""},"directives":[]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"SystemInfo"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"filename"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"title"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"basename"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"hasReferences"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"breadcrumbs"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"excludeExtension"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"path"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"relativePath"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"extension"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"template"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"collection"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"Folder"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"name"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"path"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"PageInfo"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"hasPreviousPage"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"hasNextPage"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"startCursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"endCursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}]},{"kind":"InterfaceTypeDefinition","description":{"kind":"StringValue","value":""},"name":{"kind":"Name","value":"Node"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"id"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}]},{"kind":"InterfaceTypeDefinition","description":{"kind":"StringValue","value":""},"name":{"kind":"Name","value":"Document"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"id"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_sys"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"SystemInfo"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_values"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}]},{"kind":"InterfaceTypeDefinition","description":{"kind":"StringValue","value":"A relay-compliant pagination connection"},"name":{"kind":"Name","value":"Connection"},"interfaces":[],"directives":[],"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"totalCount"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageInfo"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageInfo"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"Query"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"getOptimizedQuery"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"queryString"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"collection"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"collections"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}}}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"node"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"id"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Node"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"document"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"page"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Page"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageConnection"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"before"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"after"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"first"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"last"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"sort"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"filter"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageFilter"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageConnection"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"post"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"postConnection"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"before"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"after"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"first"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"last"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"sort"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"filter"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostFilter"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PostConnection"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"author"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"authorConnection"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"before"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"after"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"first"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"last"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"sort"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"filter"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorFilter"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorConnection"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"DocumentFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"page"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"post"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorFilter"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"DocumentConnectionEdges"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"cursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"node"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Connection"}}],"directives":[],"name":{"kind":"Name","value":"DocumentConnection"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageInfo"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"totalCount"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"edges"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentConnectionEdges"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"Collection"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"name"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"slug"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"label"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"path"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"format"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"matches"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"templates"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"fields"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"documents"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"before"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"after"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"first"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"last"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"sort"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"filter"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"folder"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentConnection"}}}}]},{"kind":"UnionTypeDefinition","name":{"kind":"Name","value":"DocumentNode"},"directives":[],"types":[{"kind":"NamedType","name":{"kind":"Name","value":"Page"}},{"kind":"NamedType","name":{"kind":"Name","value":"Post"}},{"kind":"NamedType","name":{"kind":"Name","value":"Author"}},{"kind":"NamedType","name":{"kind":"Name","value":"Folder"}}]},{"kind":"UnionTypeDefinition","name":{"kind":"Name","value":"PageAuthor"},"directives":[],"types":[{"kind":"NamedType","name":{"kind":"Name","value":"Post"}},{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Node"}},{"kind":"NamedType","name":{"kind":"Name","value":"Document"}}],"directives":[],"name":{"kind":"Name","value":"Page"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"heading"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"subtitle"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"body"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"author"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageAuthor"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"id"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_sys"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SystemInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_values"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"StringFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"startsWith"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"eq"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"exists"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"in"},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageBodyComponent1Filter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"prop1"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"prop2"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageBodyComponent2Filter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"prop1"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"prop2"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageBodyFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"component1"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageBodyComponent1Filter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"component2"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageBodyComponent2Filter"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageAuthorFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"post"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorFilter"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"heading"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"subtitle"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"body"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageBodyFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageAuthorFilter"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"PageConnectionEdges"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"cursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"node"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Page"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Connection"}}],"directives":[],"name":{"kind":"Name","value":"PageConnection"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageInfo"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"totalCount"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"edges"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageConnectionEdges"}}}}]},{"kind":"UnionTypeDefinition","name":{"kind":"Name","value":"PostAuthor"},"directives":[],"types":[{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Node"}},{"kind":"NamedType","name":{"kind":"Name","value":"Document"}}],"directives":[],"name":{"kind":"Name","value":"Post"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"title"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"excerpt"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"body"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"author"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostAuthor"}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"id"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_sys"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SystemInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_values"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"RichTextFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"startsWith"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"eq"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"exists"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PostAuthorFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorFilter"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PostFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"title"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"excerpt"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"body"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"RichTextFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostAuthorFilter"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"PostConnectionEdges"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"cursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"node"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Connection"}}],"directives":[],"name":{"kind":"Name","value":"PostConnection"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageInfo"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"totalCount"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"edges"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PostConnectionEdges"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Node"}},{"kind":"NamedType","name":{"kind":"Name","value":"Document"}}],"directives":[],"name":{"kind":"Name","value":"Author"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"name"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"description"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"location"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"id"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_sys"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SystemInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"_values"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"AuthorFilter"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"name"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"description"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"location"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"StringFilter"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"AuthorConnectionEdges"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"cursor"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"node"},"arguments":[],"type":{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}}]},{"kind":"ObjectTypeDefinition","interfaces":[{"kind":"NamedType","name":{"kind":"Name","value":"Connection"}}],"directives":[],"name":{"kind":"Name","value":"AuthorConnection"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"pageInfo"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageInfo"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"totalCount"},"arguments":[],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"edges"},"arguments":[],"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorConnectionEdges"}}}}]},{"kind":"ObjectTypeDefinition","interfaces":[],"directives":[],"name":{"kind":"Name","value":"Mutation"},"fields":[{"kind":"FieldDefinition","name":{"kind":"Name","value":"addPendingDocument"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"template"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"updateDocument"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentUpdateMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"deleteDocument"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"createDocument"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"createFolder"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"collection"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"DocumentNode"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"updatePage"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Page"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"createPage"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PageMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Page"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"updatePost"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PostMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"createPost"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PostMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Post"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"updateAuthor"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}}},{"kind":"FieldDefinition","name":{"kind":"Name","value":"createAuthor"},"arguments":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"params"},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorMutation"}}}}],"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Author"}}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"DocumentUpdateMutation"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"page"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageMutation"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"post"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostMutation"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorMutation"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"relativePath"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"DocumentMutation"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"page"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PageMutation"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"post"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"PostMutation"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AuthorMutation"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PageMutation"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"heading"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"subtitle"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"body"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"PostMutation"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"title"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"excerpt"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"body"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"author"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}]},{"kind":"InputObjectTypeDefinition","name":{"kind":"Name","value":"AuthorMutation"},"fields":[{"kind":"InputValueDefinition","name":{"kind":"Name","value":"name"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"description"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"InputValueDefinition","name":{"kind":"Name","value":"location"},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}]}]}}
\ No newline at end of file
diff --git a/experimental-examples/kitchen-sink/tsconfig.json b/experimental-examples/kitchen-sink/tsconfig.json
deleted file mode 100644
index ccb2ed95d8..0000000000
--- a/experimental-examples/kitchen-sink/tsconfig.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "compilerOptions": {
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": false,
- "noEmit": true,
- "incremental": true,
- "module": "esnext",
- "esModuleInterop": true,
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "plugins": [
- {
- "name": "next"
- }
- ]
- },
- "include": [
- "next-env.d.ts",
- ".next/types/**/*.ts",
- "**/*.ts",
- "**/*.tsx"
- ],
- "exclude": [
- "node_modules"
- ]
-}
diff --git a/experimental-examples/tina-cloud-starter/LICENSE b/experimental-examples/tina-cloud-starter/LICENSE
deleted file mode 100644
index 261eeb9e9f..0000000000
--- a/experimental-examples/tina-cloud-starter/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/experimental-examples/tina-cloud-starter/NOTICE b/experimental-examples/tina-cloud-starter/NOTICE
deleted file mode 100644
index c1a5188da9..0000000000
--- a/experimental-examples/tina-cloud-starter/NOTICE
+++ /dev/null
@@ -1,4 +0,0 @@
-TinaCloud Starter
-Copyright 2021 Forestry.io Holdings, Inc.
-
-This product includes software developed at Forestry.io Holdings, Inc. (http://www.forestry.io/).
diff --git a/experimental-examples/tina-cloud-starter/README.md b/experimental-examples/tina-cloud-starter/README.md
deleted file mode 100644
index ab1c469909..0000000000
--- a/experimental-examples/tina-cloud-starter/README.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Tina Starter 🦙
-
-
-
-This Next.js starter is powered by [TinaCMS](https://app.tina.io) for you and your team to visually live edit the structured content of your website. ✨
-
-The content is managed through Markdown and JSON files stored in your GitHub repository, and queried through Tina GraphQL API.
-
-### Features
-
-- [Tina Headless CMS](https://app.tina.io) for authentication, content modeling, visual editing and team management.
-- [Vercel](https://vercel.com) deployment to visually edit your site from the `/admin` route.
-- Local development workflow from the filesystem with a local GraqhQL server.
-
-## Requirements
-
-- Git, [Node.js Active LTS](https://nodejs.org/en/about/releases/), Yarn installed for local development.
-- A [TinaCMS](https://app.tina.io) account for live editing.
-
-## Local Development
-
-Install the project's dependencies:
-
-```
-yarn install
-```
-
-Run the project locally:
-
-```
-yarn dev
-```
-
-### Local URLs
-
-- http://localhost:3000 : browse the website
-- http://localhost:3000/admin : connect to TinaCloud and go in edit mode
-- http://localhost:3000/exit-admin : log out of TinaCloud
-- http://localhost:4001/altair/ : GraphQL playground to test queries and browse the API documentation
-
-### Building the Starter Locally (Using the hosted content API)
-
-Replace the `.env.example`, with `.env`
-
-```
-NEXT_PUBLIC_TINA_CLIENT_ID=
-TINA_TOKEN=
-NEXT_PUBLIC_TINA_BRANCH=
-```
-
-Build the project:
-
-```bash
-yarn build
-```
-
-## Getting Help
-
-To get help with any TinaCMS challenges you may have:
-
-- Visit the [documentation](https://tina.io/docs/) to learn about Tina.
-- [Join our Discord](https://discord.gg/zumN63Ybpf) to share feedback.
-- Visit the [community forum](https://community.tinacms.org/) to ask questions.
-- Get support through the chat widget on the TinaCMS Dashboard
-- [Email us](mailto:support@tina.io) to schedule a call with our team and share more about your context and what you're trying to achieve.
-- [Search or open an issue](https://github.com/tinacms/tinacms/issues) if something is not working.
-- Reach out on Twitter at [@tina_cms](https://twitter.com/tina_cms).
-
-## Development tips
-
-### Visual Studio Code GraphQL extension
-
-[Install the GraphQL extension](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) to benefit from type auto-completion.
-
-### Typescript
-
-A good way to ensure your components match the shape of your data is to leverage the auto-generated TypeScript types.
-These are rebuilt when your `tina` config changes.
-
-## LICENSE
-
-Licensed under the [Apache 2.0 license](./LICENSE).
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse.svg
deleted file mode 100644
index 8b661f2781..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_accessibility.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_accessibility.svg
deleted file mode 100644
index f869c8d844..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_accessibility.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_best-practices.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_best-practices.svg
deleted file mode 100644
index a65fba4c0a..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_best-practices.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_performance.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_performance.svg
deleted file mode 100644
index 1268e55a6a..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_performance.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_pwa.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_pwa.svg
deleted file mode 100644
index 65b27c459c..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_pwa.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_seo.svg b/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_seo.svg
deleted file mode 100644
index 4d30d4e104..0000000000
--- a/experimental-examples/tina-cloud-starter/assets/img/scores/lighthouse_seo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/components/blocks-renderer.tsx b/experimental-examples/tina-cloud-starter/components/blocks-renderer.tsx
deleted file mode 100644
index f9aa24d6b6..0000000000
--- a/experimental-examples/tina-cloud-starter/components/blocks-renderer.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import type { Page, PageBlocks } from '../tina/__generated__/types'
-import { Content } from './blocks/content'
-import { Features } from './blocks/features'
-import { Hero } from './blocks/hero'
-import { Testimonial } from './blocks/testimonial'
-import { tinaField } from 'tinacms/dist/react'
-
-export const Blocks = (props: Omit) => {
- return (
- <>
- {props.blocks
- ? props.blocks.map(function (block, i) {
- return (
-
- )
- } else {
- const iconColorClasses =
- iconColorClass[
- parentColor === 'primary' &&
- (iconColor === theme.color || iconColor === 'primary')
- ? 'white'
- : iconColor
- ].regular
- return (
-
- )
- }
-}
-
-export const iconSchema = {
- type: 'object',
- label: 'Icon',
- name: 'icon',
- fields: [
- {
- type: 'string',
- label: 'Icon',
- name: 'name',
- ui: {
- component: IconPickerInput,
- },
- },
- {
- type: 'string',
- label: 'Color',
- name: 'color',
- ui: {
- component: ColorPickerInput,
- },
- },
- {
- name: 'style',
- label: 'Style',
- type: 'string',
- options: [
- {
- label: 'Circle',
- value: 'circle',
- },
- {
- label: 'Float',
- value: 'float',
- },
- ],
- },
- ],
-}
diff --git a/experimental-examples/tina-cloud-starter/components/util/section.tsx b/experimental-examples/tina-cloud-starter/components/util/section.tsx
deleted file mode 100644
index 599c36f51e..0000000000
--- a/experimental-examples/tina-cloud-starter/components/util/section.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import React from 'react'
-import { useTheme } from '../layout'
-
-export const Section = ({ children, color = '', className = '' }) => {
- const theme = useTheme()
- const sectionColor = {
- default:
- 'text-gray-800 dark:text-gray-50 bg-gradient-to-tl from-gray-50 dark:from-gray-900 via-transparent to-transparent',
- tint: 'text-gray-900 dark:text-gray-100 bg-gradient-to-br from-gray-100 dark:from-gray-1000 to-transparent',
- primary: {
- blue: 'text-white bg-blue-500 bg-gradient-to-br from-blue-500 to-blue-600',
- teal: 'text-white bg-teal-500 bg-gradient-to-br from-teal-500 to-teal-600',
- green:
- 'text-white bg-green-600 bg-gradient-to-br from-green-600 to-green-700',
- red: 'text-white bg-red-500 bg-gradient-to-br from-red-500 to-red-600',
- pink: 'text-white bg-pink-500 bg-gradient-to-br from-pink-500 to-pink-600',
- purple:
- 'text-white bg-purple-500 bg-gradient-to-br from-purple-500 to-purple-600',
- orange:
- 'text-white bg-orange-500 bg-gradient-to-br from-orange-500 to-orange-600',
- yellow:
- 'text-white bg-yellow-500 bg-gradient-to-br from-yellow-500 to-yellow-600',
- },
- }
- const sectionColorCss =
- color === 'primary'
- ? sectionColor.primary[theme.color]
- : sectionColor[color]
- ? sectionColor[color]
- : sectionColor.default
-
- return (
-
- {children}
-
- )
-}
diff --git a/experimental-examples/tina-cloud-starter/content/authors/napolean.md b/experimental-examples/tina-cloud-starter/content/authors/napolean.md
deleted file mode 100644
index 5e05cbc0a1..0000000000
--- a/experimental-examples/tina-cloud-starter/content/authors/napolean.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: Napolean
-avatar: /uploads/llama-2.avif
----
-
-
-
diff --git a/experimental-examples/tina-cloud-starter/content/authors/pedro.md b/experimental-examples/tina-cloud-starter/content/authors/pedro.md
deleted file mode 100644
index be8dd1209b..0000000000
--- a/experimental-examples/tina-cloud-starter/content/authors/pedro.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-name: Pedro
-avatar: /uploads/llama-6.avif
----
-
diff --git a/experimental-examples/tina-cloud-starter/content/global/index.json b/experimental-examples/tina-cloud-starter/content/global/index.json
deleted file mode 100644
index bd543ebeaa..0000000000
--- a/experimental-examples/tina-cloud-starter/content/global/index.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "header": {
- "icon": {
- "name": "Tina",
- "color": "orange",
- "style": "float"
- },
- "name": "Tina Starter",
- "color": "default",
- "nav": [
- {
- "href": "",
- "label": "Home"
- },
- {
- "href": "about",
- "label": "About"
- },
- {
- "href": "posts",
- "label": "Blog"
- }
- ]
- },
- "footer": {
- "color": "default",
- "social": {
- "facebook": "/",
- "twitter": "/",
- "instagram": "/"
- }
- },
- "theme": {
- "color": "blue",
- "font": "sans",
- "darkMode": "system"
- }
-}
\ No newline at end of file
diff --git a/experimental-examples/tina-cloud-starter/content/pages/about.md b/experimental-examples/tina-cloud-starter/content/pages/about.md
deleted file mode 100644
index 35302e45b9..0000000000
--- a/experimental-examples/tina-cloud-starter/content/pages/about.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: "About"
-blocks:
- - body: "## What is this?\n\nThis is a [TinaCMS](https://tina.io)-enabled Next.js app, so you can edit your content on a live page. In this project the Tina file-based CMS is used via GraphQL: it's powered by a schema that *you* define. It not only serves content from Markdown files in your repository, but it also generates TinaCMS forms for you automatically ✨.\n\n### Scope\n\n* Run this project locally using local content within this repository.\n* Connect to TinaCloud to benefit from its GraphQL Content API.\n* Deploy the site to visually edit your site.\n* Invite collaborators.\n\n## Requirements\n\n* Git\n* [Node.js Active LTS](https://nodejs.org/en/about/releases/)\n* Yarn\n\n## Fork this repository\n\n⚠️⚠️ Start by **forking** the repository and then pull it down to your computer. ⚠️⚠️\n\n## Install\n\n> ℹ️ This project uses `yarn` as a package manager, if `yarn` isn't installed on your machine, open a terminal and run `npm install -g yarn`\n\nInstall the project's dependencies:\n\n```\nyarn install\n```\n\n> ⚠️ If you'd like to use `npm` beware that there is no `package-lock.json` so we can't guarantee the dependencies are the same for you.\n\n## Run the project locally\n\nTo run the local development server:\n\n```\nyarn dev\n```\n\nThis command starts the GraphQL server and the Next.js application in development mode. It also regenerates your schema types for TypeScript and GraphQL so changes to your `.tina` config are reflected immediately.\n\nOne of the most interesting aspects of the TinaCloud Content API is that it doesn't actually require anything from the Cloud to work locally. Since Tina is by default a Git-backed CMS, everything can be run from your local filesystem via the CLI. :sunglasses:\n\nThis is ideal for development workflows and the API is identical to the one used in the cloud, so once you're ready to deploy your application you won't face any challenges there.\n\nOpen [`http://localhost:3000`](http://localhost:3000) in your browser to see your file-based content being loaded from the GraphQL API.\n\n## Edit content locally\n\nWe need to define some local environment variables in order to edit content with Tina.\n\nCopy `.env.example` to `.env`:\n\n```sh\ncp .env.example .env\n\n```\n\n`NEXT_PUBLIC_USE_LOCAL_CLIENT` should be set to `1`, other values can be ignored for now.\n\nRestart your server and visit [`http://localhost:3000/`](http://localhost:3000/`), and click \"enter edit mode\" in the top right hand corner, the same page is displayed but you can notice a pencil icon at the bottom left corner.\n\nClick to open Tina's sidebar which displays a form with fields you can edit and see update live on the page.\nSince we're working locally, saving results in changes to your local filesystem.\n\nFrom here, you're ready to start building your own project, to read a little bit about how this project is structured, and how to modify it to make it your own,\nread the [folder structure](#starter-structure) section below.\n\nWhen you're ready to deploy your site, read on about how you can connect to TinaCloud and make authenticated changes via our Cloud API.\n\n> **NOTE:** In this project there are two way to enter edit mode. You can click the \"enter edit mode button\" or visit [`/admin`](http://localhost/admin). You can also disable the edit button by setting `NEXT_PUBLIC_SHOW_EDIT_BTN=0` in `.env`\n\n## Connect to TinaCloud\n\nWhile the fully-local development workflow is the recommended way for developers to work,\nyou'll obviously want other editors and collaborators to be able to make changes on a hosted website with authentication.\n\n> ℹ️ Changes in edit mode show up on your home page after your site finishes a rebuild.\n\n## Register your local application with TinaCloud\n\n1. Visit [auth.tina.io](https://auth.tina.io/register), create an organization, and sign in. Make a note of your organization name.\n2. Create a TinaCloud app which connects to the GitHub repository you've just forked. Once your app is created, click on the app to get to the app settings and copy the client ID.\n\n## Connect your local project with TinaCloud\n\nIn the `env.local` file set:\n\n* `NEXT_PUBLIC_USE_LOCAL_CLIENT` to `0`.\n* `NEXT_PUBLIC_ORGANIZATION_NAME` to your TinaCloud organization name\n* `NEXT_PUBLIC_TINA_CLIENT_ID` to the Client ID displayed in your TinaCloud App.\n* `NEXT_PUBLIC_SHOW_EDIT_BTN` to `0` or `1`, `0` means there is no \"enter edit mode\" and you will have to visit [`/admin`](http://localhost/admin) to enter edit mode.\n\nRestart your server and run `yarn dev` again.\n\nOpen [`http://localhost:3000/`](http://localhost:3000/`) and click \"enter edit mode\"\n\n\n\nThis time a modal asks you to authenticate through TinaCloud. Upon success, your edits will be sent to the cloud server (and subsequently to GitHub).\n\n#### Edit content\n\nMake some edits through the sidebar and click save.\nChanges are saved in your GitHub repository.\n\nNow that TinaCloud editing is working correctly, we can deploy the site so that other team members can make edits too.\n\n> ℹ️ Gotcha: since your changes are being synced directly to GitHub, you'll notice that when your in non-\"edit\" mode your page still receive the unedited data from your local filesystem. This is mostly fine since editing with TinaCloud is designed for hosted environments. But beware that changes to your schema may result in a mismatch between the TinaCloud API and your local client.\n\n## Deploy\n\n### Vercel\n\n[](https://vercel.com/new/)\n\nConnect to your GitHub repository and set the same environment variables as the ones in your `env.local` file:\n\n```\nNEXT_PUBLIC_ORGANIZATION_NAME= \nNEXT_PUBLIC_TINA_CLIENT_ID= \n```\n\n\n\n\U0001F389 Congratulations, your site is now live!\n\nYou can test that everything is configured correctly by navigating to `[your deployment URL]/`, click \"edit this site\",\nlog in to TinaCloud, and making some edits. Your changes should be saved to your GitHub repository.\n\n### Netlify\n\n[](https://app.netlify.com/start/)\n\nConnect to your GitHub repository, then:\n\n* set the **build command** to `yarn build`,\n* set the **publish directory**. To `.next/` .\n\n\n\nClick on **advanced** to add the same environment variables as the ones in your `env.local` file:\n\n```\nNEXT_PUBLIC_ORGANIZATION_NAME= \nNEXT_PUBLIC_TINA_CLIENT_ID= \n```\n\n\n\nCopy-paste your Organization ID and Client ID.\n\nOnce you're done, click \"Deploy site\".\n\nInstall the [\"Next on Netlify\" plugin](https://www.netlify.com/blog/2020/12/07/announcing-one-click-install-next.js-build-plugin-on-netlify/)\nin order to take advantage of server-side rendering and Next.js preview features.\n\nTrigger a new deploy for changes to take effect.\n\nYou can test that everything is configured correctly by navigating to `[your deployment URL]/`, click \"edit this site\",\nlog in to TinaCloud, and making some edits. Your changes should be saved to your GitHub repository.\n\n***\n\n## Starter structure\n\nTinaCloud Starter is a [Next.js](https://nextjs.org) application. The file-based routing happens through the `pages` directory. To edit this site, navigate to the `/admin` route. This will cause you to go into edit mode where Tina is loaded. Tina is only loaded in edit mode so it will not effect the production bundle size.\n\n### `tina/schema.ts`\n\nThis is where your schema is defined, when you make changes here you'll notice that the generated GraphQL API changes too. It's a good idea to run your GraphQL server while editing so you can see any breakages.\n\n> Tip: Visit the GraphQL GUI at `http://localhost:4001/altair` so you can see how changes to the schema are updated in GraphQL.\n\n### `pages/[filename].tsx`\n\nThis page can be seen at `http://localhost:3000/`, it loads the content from a markdown file which can be found in this repository at `/content/pages/home.md`. You can edit this page at by navigating to `http://localhost:3000/admin`.\n\nHead over to the [reference](/docs/tinacms-reference/) documentation to learn more about [defining a schema](/docs/schema/) or [querying with GraphQL](/docs/graphql/)\n\n### `pages/posts/[filename].tsx`\n\nThe posts are stored in the `content/posts` directory of this repository, and their routes are built with `getStaticPaths` dynamically at build time.\n\n### The `content` folder\n\nHere's where your actual content lives, you can control how content is stored from the `defineSchema` function, by default we use `markdown`.\n\n### `components`\n\nMost of the components in this project are very basic and are for demonstration purposes, feel free to replace them with something of your own!\n\n### `pages/_app.js`\n\nThe `_app.js` file is a feature in Next.js that allows you to wrap all of your routes in some specific logic which will be applied to every page. We're using it to wrap your site content in TinaCMS context. We do this so when data passes through, we can *hydrate* it so that it's editable in real time. You may notice that it's being loaded dynamically based on something called `EditState`, when you're in edit mode we'll load `TinaCMS` and all that it provides. When you're not in edit mode Tina stays out of the way so your builds stay lean.\n\nBy default we've toggle the `showEditButton` to `true`. You'll likely want to remove that option as it'll show for visitors to your site.\n\n### `pages/posts/[filename].tsx`\n\nThe posts are stored in the `content/posts` directory of this repository, and their routes are built with `getStaticPaths` dynamically at build time. You'll notice a couple of helper functions like `getStaticPropsForTina` and `staticRequest`. These are helper functions to make sure you're returning data from the local GraphQL server in a shape that Tina understands. Feel free to bring your own http client if you'd like. Read more about these helpers in the [Next.JS APIs documentation](/docs/tinacms-context/)\n\n### Creating your own pages\n\nFor now, TinaCMS works best when you:\n\n1. Use `getStaticProps` for data\n2. Return data from `getStaticProps` with `data`, `query`, and `variables` properties.\n3. Wrap your `_app.js` in TinaCMS dynamically.\n\nAfter that, you're on your own. Go build something and share it with us on [Twitter](https://twitter.com/tina_cms).\nTo browse the docs and query our GraphQL API, run `yarn dev` in your Tina project and go to `http://localhost:4001/altair`.\n\n## Getting Help\n\nTinaCloud is in public alpha, you might face issues, to provide feedback or get help with any challenges you may have:\n\n* Read the [TinaCloud documentation](https://tina.io/docs/tinacloud/).\n* [Join our Discord](https://discord.gg/zumN63Ybpf).\n* Visit the [community forum](https://community.tinacms.org/) to ask questions.\n* Reach out to us on Twitter at [@tina\\_cms](https://twitter.com/tina_cms).\n* [Email us](mailto:support@tina.io) to schedule a call with our team and share more about your context and what you're trying to achieve.\n* Get support through the chat widget on the TinaCloud Dashboard\n\n## LICENSE\n\nLicensed under the [Apache 2.0 license](./LICENSE).\n"
- color: default
- _template: content
----
diff --git a/experimental-examples/tina-cloud-starter/content/pages/home.md b/experimental-examples/tina-cloud-starter/content/pages/home.md
deleted file mode 100644
index 720246455f..0000000000
--- a/experimental-examples/tina-cloud-starter/content/pages/home.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: TinaCloud Starter
-blocks:
- - headline: Welcome to the Tina Starter
- text: >
- This project is set up to show you the basics of working with Tina. You're
- looking at the landing page, which pulls content from
- `content/pages/home.md`, components from components/blocks, and
- puts them all together in `pages/[filename].tsx`, all based on a config
- `tina/config.tsx`.
- actions:
- - label: Get Started
- type: button
- icon: true
- link: /posts
- - label: Read Blog
- type: link
- icon: false
- link: /posts
- image:
- src: /uploads/unsplash-75EFpyXu3Wg.jpg
- alt: >-
- Photo of palm trees at sunset by Adam Birkett -
- unsplash.com/photos/75EFpyXu3Wg
- color: default
- _template: hero
- - items:
- - icon:
- name: BiCodeBlock
- color: red
- style: float
- title: Amazing Feature
- text: >-
- Aliquam blandit felis rhoncus, eleifend ipsum in, condimentum nibh.
- Praesent ac faucibus risus, eu lacinia enim.
- - icon:
- name: BiLike
- color: primary
- style: float
- title: This Is a Feature
- text: Vestibulum ante ipsum primis in faucibus orci luctus et ultrices.
- - icon:
- name: BiPalette
- color: green
- style: float
- title: Configurable Theme
- text: >-
- Edit global theme configuration with Tina. Change your theme's primary
- color, font, or icon set.
- color: tint
- _template: features
- - quote: >-
- There are only two hard things in Computer Science: cache invalidation and
- naming things.
- author: Phil Karlton
- color: primary
- _template: testimonial
----
diff --git a/experimental-examples/tina-cloud-starter/content/posts/anotherPost.mdx b/experimental-examples/tina-cloud-starter/content/posts/anotherPost.mdx
deleted file mode 100644
index ef50f33fab..0000000000
--- a/experimental-examples/tina-cloud-starter/content/posts/anotherPost.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: 'Just Another Blog Post '
-heroImg: /uploads/unsplash-lylCw4zcA7I.jpg
-excerpt: >
- Lorem markdownum evinctus ut cape adhaeret gravis licet progenies ut haesit
- maxima ille. Est scorpius, mori vel in visaeque Haemoniis viperei furoris e ad
- vasti, distulit. Crudus sub coniuge iam: dea propera sive
-author: content/authors/napolean.md
-date: 2021-07-12T07:00:00.000Z
----
-
-Hello, world!
-
-Here is my table:
-
-| Starting here! | And moving here |
-| -------------- | ---------------------- |
-| And then here | And moving here, again |
-
-sd
-
-Thanks.
-
-| Syntax | Description | Test Text |
-| :-------- | :---------- | ----------: |
-| Header | Title | Here's this |
-| Paragraph | Text | And more |
diff --git a/experimental-examples/tina-cloud-starter/content/posts/voteForPedro.mdx b/experimental-examples/tina-cloud-starter/content/posts/voteForPedro.mdx
deleted file mode 100644
index 7ee4e2806d..0000000000
--- a/experimental-examples/tina-cloud-starter/content/posts/voteForPedro.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Vote For Pedro
-heroImg: /uploads/unsplash-lylCw4zcA7I.jpg
-excerpt: >
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
- incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo
- vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla
- facilities morbi tempus.
-author: content/authors/pedro.md
-date: "2021-07-03T20:30:00.000Z"
----
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus.
diff --git a/experimental-examples/tina-cloud-starter/next-env.d.ts b/experimental-examples/tina-cloud-starter/next-env.d.ts
deleted file mode 100644
index a4a7b3f5cf..0000000000
--- a/experimental-examples/tina-cloud-starter/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.
diff --git a/experimental-examples/tina-cloud-starter/next.config.js b/experimental-examples/tina-cloud-starter/next.config.js
deleted file mode 100644
index 1b0a7429c1..0000000000
--- a/experimental-examples/tina-cloud-starter/next.config.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const path = require('path')
-module.exports = {
- webpack(config) {
- config.module.rules.push({
- test: /\.svg$/i,
- issuer: /\.[jt]sx?$/,
- use: ['@svgr/webpack'],
- })
- // This app is using React 18 (and Next 13). This shouldn't be an issue outside
- // of the monorepo, but since `tinacms` has a devDependency on React, it loads the wrong version
- config.resolve.alias['react'] = path.resolve('./node_modules/react')
-
- return config
- },
- async rewrites() {
- return [
- {
- source: '/',
- destination: '/home',
- },
- {
- source: '/admin',
- destination: '/admin/index.html',
- },
- ]
- },
-}
diff --git a/experimental-examples/tina-cloud-starter/package.json b/experimental-examples/tina-cloud-starter/package.json
deleted file mode 100644
index 01b10cea2c..0000000000
--- a/experimental-examples/tina-cloud-starter/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "@experimental-examples/starter",
- "version": "0.1.64",
- "private": true,
- "scripts": {
- "dev": "tinacms dev -c \"next dev\"",
- "build": "tinacms build && next build",
- "build:local": "tinacms build --local --skip-cloud-checks -c \"next build\"",
- "start": "tinacms build && next start",
- "export": "npm run build && next export",
- "lint": "eslint . --ext .ts,.tsx",
- "diff-tina-lock": "tinacms-scripts diff-tina-lock",
- "update-tina-lock": "tinacms dev --no-server"
- },
- "devDependencies": {
- "@svgr/webpack": "catalog:",
- "@tinacms/cli": "workspace:*",
- "@tinacms/scripts": "workspace:*",
- "@types/js-cookie": "^3.0.6",
- "@types/node": "^22.13.1",
- "@types/react": "^18.3.18",
- "@types/styled-components": "catalog:",
- "@typescript-eslint/eslint-plugin": "catalog:",
- "@typescript-eslint/parser": "catalog:",
- "autoprefixer": "catalog:",
- "eslint": "^8.57.1",
- "postcss": "^8.5.2",
- "postcss-import": "catalog:",
- "postcss-nesting": "catalog:",
- "tailwindcss": "^3.4.17"
- },
- "dependencies": {
- "@headlessui/react": "2.1.8",
- "@tailwindcss/typography": "catalog:",
- "@tinacms/mdx": "workspace:*",
- "@tinacms/vercel-previews": "workspace:*",
- "date-fns": "^2.30.0",
- "graphql": "15.8.0",
- "mongodb-level": "^0.0.3",
- "next": "14.2.35",
- "react": "^18.3.1",
- "react-dom": "^18.3.1",
- "react-icons": "^4.12.0",
- "tinacms": "workspace:*",
- "typescript": "^5.7.3"
- }
-}
diff --git a/experimental-examples/tina-cloud-starter/pages/404.js b/experimental-examples/tina-cloud-starter/pages/404.js
deleted file mode 100644
index 8ce912516f..0000000000
--- a/experimental-examples/tina-cloud-starter/pages/404.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Hero } from '../components/blocks/hero'
-import { Layout } from '../components/layout'
-
-export default function FourOhFour() {
- return (
-
-
-
- )
-}
diff --git a/experimental-examples/tina-cloud-starter/pages/[filename].tsx b/experimental-examples/tina-cloud-starter/pages/[filename].tsx
deleted file mode 100644
index 76308362df..0000000000
--- a/experimental-examples/tina-cloud-starter/pages/[filename].tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { InferGetStaticPropsType } from 'next'
-import { Blocks } from '../components/blocks-renderer'
-import { useTina } from 'tinacms/dist/react'
-import { Layout } from '../components/layout'
-import { client } from '../tina/__generated__/client'
-import React from 'react'
-
-export default function HomePage(
- props: InferGetStaticPropsType
-) {
- const { data } = useTina(props)
-
- return (
-
-
-
- )
-}
-
-export const getStaticProps = async ({ params }) => {
- const tinaProps = await client.queries.contentQuery({
- relativePath: `${params.filename}.md`,
- })
- return {
- props: {
- data: tinaProps.data,
- query: tinaProps.query,
- variables: tinaProps.variables,
- },
- }
-}
-
-export const getStaticPaths = async () => {
- const pagesListData = await client.queries.pageConnection()
- return {
- paths: pagesListData.data.pageConnection.edges.map((page) => ({
- params: { filename: page.node._sys.filename },
- })),
- fallback: false,
- }
-}
diff --git a/experimental-examples/tina-cloud-starter/pages/_app.tsx b/experimental-examples/tina-cloud-starter/pages/_app.tsx
deleted file mode 100644
index 44612f053a..0000000000
--- a/experimental-examples/tina-cloud-starter/pages/_app.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import '../styles.css'
-
-const App = ({ Component, pageProps }) => {
- return
-}
-
-export default App
diff --git a/experimental-examples/tina-cloud-starter/pages/posts.tsx b/experimental-examples/tina-cloud-starter/pages/posts.tsx
deleted file mode 100644
index b96b7b267f..0000000000
--- a/experimental-examples/tina-cloud-starter/pages/posts.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Container } from '../components/util/container'
-import { Section } from '../components/util/section'
-import { Posts } from '../components/posts'
-import { client } from '../tina/__generated__/client'
-import { Layout } from '../components/layout'
-import { InferGetStaticPropsType } from 'next'
-
-export default function HomePage(
- props: InferGetStaticPropsType
-) {
- const posts = props.data.postConnection.edges
-
- return (
-
-
-
-
-
-
-
- )
-}
-
-export const getStaticProps = async () => {
- const tinaProps = await client.queries.pageQuery()
- return {
- props: {
- ...tinaProps,
- },
- }
-}
-
-export type PostsType = InferGetStaticPropsType<
- typeof getStaticProps
->['data']['postConnection']['edges'][number]
diff --git a/experimental-examples/tina-cloud-starter/pages/posts/[filename].tsx b/experimental-examples/tina-cloud-starter/pages/posts/[filename].tsx
deleted file mode 100644
index b5b4bd0aac..0000000000
--- a/experimental-examples/tina-cloud-starter/pages/posts/[filename].tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Post } from '../../components/posts/post'
-import { client } from '../../tina/__generated__/client'
-import { useTina } from 'tinacms/dist/react'
-import { Layout } from '../../components/layout'
-import { InferGetStaticPropsType } from 'next'
-
-// Use the props returned by get static props
-export default function BlogPostPage(
- props: InferGetStaticPropsType
-) {
- const { data } = useTina({
- query: props.query,
- variables: props.variables,
- data: props.data,
- })
- if (data && data.post) {
- return (
-
-
-
- )
- }
- return (
-
-