Skip to content
Permalink
Browse files

Feat: launch gatsby-source-wordpress v4 (#29150)

Co-authored-by: Vladimir Razuvaev <[email protected]>
Co-authored-by: Ward Peeters <[email protected]>
Co-authored-by: gatsbybot <[email protected]>
  • Loading branch information
4 people committed Feb 4, 2021
1 parent a1543bf commit 862637be84622d945ec21c72b208c0a657c0f130
Showing with 48,783 additions and 21,072 deletions.
  1. +5 −0 .eslintignore
  2. +1 −0 .prettierignore
  3. +1 −1 benchmarks/source-wordpress/gatsby-config.js
  4. +1 −1 benchmarks/source-wordpress/package.json
  5. +1 −1 benchmarks/source-wordpress/scripts/updater.js
  6. +1 −1 dictionary.txt
  7. +28 −28 docs/docs/how-to/sourcing-data/headless-cms.md
  8. +12 −12 docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md
  9. +1 −1 docs/docs/sourcing-from-woocommerce.md
  10. +1 −1 docs/tutorial/wordpress-image-tutorial.md
  11. +1 −1 docs/tutorial/wordpress-source-plugin-tutorial.md
  12. +5 −5 packages/create-gatsby/src/__tests__/plugin-options-form.ts
  13. +5 −2 packages/create-gatsby/src/cmses.json
  14. +1 −1 packages/create-gatsby/src/plugin-schemas.json
  15. +0 −93 packages/gatsby-recipes/recipes/wordpress.mdx
  16. +0 −4 packages/gatsby-recipes/src/recipes-list.js
  17. +0 −3 packages/gatsby-source-wordpress/.babelrc
  18. +42 −0 packages/gatsby-source-wordpress/.babelrc.js
  19. +3 −0 packages/gatsby-source-wordpress/.eslintignore
  20. +12 −4 packages/gatsby-source-wordpress/.gitignore
  21. +15 −0 packages/gatsby-source-wordpress/.npmignore
  22. +8 −0 packages/gatsby-source-wordpress/.prettierignore
  23. +53 −1,074 packages/gatsby-source-wordpress/README.md
  24. +59 −0 packages/gatsby-source-wordpress/docker-compose.yml
  25. +15 −0 packages/gatsby-source-wordpress/docker/rebuild.sh
  26. +6,642 −0 packages/gatsby-source-wordpress/docker/seed/backup.sql
  27. +42 −0 packages/gatsby-source-wordpress/docker/wordpress/Dockerfile
  28. +27 −0 packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh
  29. +20 −0 packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh
  30. +15 −0 packages/gatsby-source-wordpress/docker/wordpress/start.sh
  31. +16 −0 packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile
  32. +31 −0 packages/gatsby-source-wordpress/docker/wp-cli/start.sh
  33. +14 −0 packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh
  34. BIN packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png
  35. BIN packages/gatsby-source-wordpress/docs/assets/acf-graphql-settings.png
  36. BIN packages/gatsby-source-wordpress/docs/assets/acf-new-field-group.png
  37. BIN packages/gatsby-source-wordpress/docs/assets/acf-new-post-with-field.png
  38. BIN packages/gatsby-source-wordpress/docs/assets/acf-wpgraphql-post-field-query.png
  39. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png
  40. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-frontend-url.png
  41. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png
  42. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-data-fetching.png
  43. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif
  44. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-explorer.gif
  45. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-author.png
  46. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-data.png
  47. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template.png
  48. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field-gatsby.png
  49. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field.png
  50. BIN packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png
  51. BIN packages/gatsby-source-wordpress/docs/assets/menu-locations.png
  52. BIN packages/gatsby-source-wordpress/docs/assets/wordpress-nav-menu-manager.png
  53. BIN packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-by-location.png
  54. BIN packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-items-by-location.png
  55. BIN packages/gatsby-source-wordpress/docs/assets/wordpress-test-header-menu.png
  56. BIN packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png
  57. BIN packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png
  58. BIN packages/gatsby-source-wordpress/docs/assets/wpgatsby-enable-gatsby-menu-locations.png
  59. BIN packages/gatsby-source-wordpress/docs/assets/wpgatsby-nav-menu-locations.png
  60. +11 −0 packages/gatsby-source-wordpress/docs/community-and-support.md
  61. +184 −0 packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md
  62. +38 −0 packages/gatsby-source-wordpress/docs/features/caching.md
  63. +9 −0 packages/gatsby-source-wordpress/docs/features/compatibility-api.md
  64. +7 −0 packages/gatsby-source-wordpress/docs/features/gatsby-link.md
  65. +229 −0 packages/gatsby-source-wordpress/docs/features/graphql-wordpress-and-gatsby.md
  66. +21 −0 packages/gatsby-source-wordpress/docs/features/index.md
  67. +34 −0 packages/gatsby-source-wordpress/docs/features/limit-nodes-during-development.md
  68. +94 −0 packages/gatsby-source-wordpress/docs/features/media-item-processing.md
  69. +179 −0 packages/gatsby-source-wordpress/docs/features/preview.md
  70. +10 −0 packages/gatsby-source-wordpress/docs/features/security.md
  71. +60 −0 packages/gatsby-source-wordpress/docs/getting-started.md
  72. +30 −0 packages/gatsby-source-wordpress/docs/hosting.md
  73. +72 −0 packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md
  74. +1,290 −0 packages/gatsby-source-wordpress/docs/plugin-options.md
  75. +24 −0 packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md
  76. +29 −0 packages/gatsby-source-wordpress/docs/problems-with-v3.md
  77. +17 −0 packages/gatsby-source-wordpress/docs/tests.md
  78. +32 −0 packages/gatsby-source-wordpress/docs/themes-starters-examples.md
  79. +348 −0 packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md
  80. +74 −0 packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md
  81. +129 −0 packages/gatsby-source-wordpress/docs/tutorials/creating-a-new-site-from-a-starter.md
  82. +22 −0 packages/gatsby-source-wordpress/docs/tutorials/index.md
  83. +492 −0 packages/gatsby-source-wordpress/docs/tutorials/querying-data.md
  84. +106 −0 packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md
  85. +113 −0 packages/gatsby-source-wordpress/docs/tutorials/using-advanced-custom-fields.md
  86. +16 −0 packages/gatsby-source-wordpress/docs/tutorials/using-self-signed-certificates.md
  87. +229 −0 packages/gatsby-source-wordpress/docs/tutorials/using-wordpress-menus.md
  88. +27 −0 packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md
  89. +58 −0 packages/gatsby-source-wordpress/docs/why-use-this-plugin.md
  90. +1 −0 packages/gatsby-source-wordpress/gatsby-browser.js
  91. +3 −0 packages/gatsby-source-wordpress/gatsby-config.js
  92. +1 −0 packages/gatsby-source-wordpress/gatsby-node.js
  93. +175 −0 packages/gatsby-source-wordpress/generate-plugin-options-docs.js
  94. +1 −1 packages/gatsby-source-wordpress/index.js
  95. +65 −23 packages/gatsby-source-wordpress/package.json
  96. +0 −15,927 packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap
  97. +0 −1,626 packages/gatsby-source-wordpress/src/__tests__/data.json
  98. +0 −59 packages/gatsby-source-wordpress/src/__tests__/fetch.js
  99. +0 −7 packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js
  100. +0 −12 packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js
  101. +0 −161 packages/gatsby-source-wordpress/src/__tests__/normalize.js
  102. +0 −51 packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js
  103. +3 −0 packages/gatsby-source-wordpress/src/constants.ts
  104. +0 −730 packages/gatsby-source-wordpress/src/fetch.js
  105. +0 −312 packages/gatsby-source-wordpress/src/gatsby-node.js
  106. +38 −0 packages/gatsby-source-wordpress/src/gatsby-node.ts
  107. +1 −0 packages/gatsby-source-wordpress/src/hooks/index.ts
  108. +61 −0 packages/gatsby-source-wordpress/src/hooks/node-filters.ts
  109. +0 −46 packages/gatsby-source-wordpress/src/http-exception-handler.js
  110. +44 −0 packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js
  111. +44 −0 packages/gatsby-source-wordpress/src/models/develop.ts
  112. +371 −0 packages/gatsby-source-wordpress/src/models/gatsby-api.ts
  113. +34 −0 packages/gatsby-source-wordpress/src/models/image-nodes.js
  114. +17 −0 packages/gatsby-source-wordpress/src/models/index.ts
  115. +90 −0 packages/gatsby-source-wordpress/src/models/logger.ts
  116. +109 −0 packages/gatsby-source-wordpress/src/models/preview.ts
  117. +152 −0 packages/gatsby-source-wordpress/src/models/remoteSchema.ts
  118. +51 −0 packages/gatsby-source-wordpress/src/models/wp-hooks.ts
  119. +0 −13 packages/gatsby-source-wordpress/src/normalize-base-url.js
  120. +0 −693 packages/gatsby-source-wordpress/src/normalize.js
  121. +0 −45 packages/gatsby-source-wordpress/src/output-color.js
  122. +0 −60 packages/gatsby-source-wordpress/src/request-in-queue.js
  123. +0 −28 packages/gatsby-source-wordpress/src/scripts/download-test-data.js
  124. +333 −0 packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts
  125. +197 −0 packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js
  126. +146 −0 packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js
  127. +95 −0 packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js
  128. +62 −0 ...atsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js
  129. +256 −0 ...sby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js
  130. +198 −0 packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js
  131. +99 −0 ...atsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js
  132. +66 −0 ...gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js
  133. +108 −0 packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js
  134. +846 −0 packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.ts
  135. +20 −0 packages/gatsby-source-wordpress/src/steps/index.ts
  136. +42 −0 ...ordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js
  137. +38 −0 ...e-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js
  138. +232 −0 ...ress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js
  139. +350 −0 ...s/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js
  140. +730 −0 ...s/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js
  141. +11 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js
  142. +174 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js
  143. +193 −0 ...ges/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js
  144. +52 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js
  145. +93 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js
  146. +36 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js
  147. +68 −0 packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js
  148. +29 −0 packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts
  149. +91 −0 packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts
  150. +401 −0 packages/gatsby-source-wordpress/src/steps/preview/index.ts
  151. +119 −0 packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts
  152. +57 −0 packages/gatsby-source-wordpress/src/steps/preview/preview.md
  153. +90 −0 packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts
  154. +8 −0 packages/gatsby-source-wordpress/src/steps/set-error-map.ts
  155. +51 −0 packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts
  156. +21 −0 packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts
  157. +31 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js
  158. +177 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js
  159. +462 −0 ...ages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js
  160. +9 −0 ...rce-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js
  161. +360 −0 ...ages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js
  162. +95 −0 ...sby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js
  163. +904 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js
  164. +122 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js
  165. +210 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js
  166. +566 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js
  167. +35 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js
  168. +76 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts
  169. +135 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js
  170. +59 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js
  171. +62 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js
  172. +98 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js
  173. +110 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js
  174. +342 −0 packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js
  175. +26 −0 packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts
  176. +14 −0 packages/gatsby-source-wordpress/src/store.ts
  177. +16 −0 packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts
  178. +379 −0 packages/gatsby-source-wordpress/src/utils/cache.ts
  179. +719 −0 packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts
  180. +26 −0 packages/gatsby-source-wordpress/src/utils/format-log-message.ts
  181. +14 −0 packages/gatsby-source-wordpress/src/utils/gatsby-types.ts
  182. +9 −0 packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts
  183. +118 −0 packages/gatsby-source-wordpress/src/utils/graphql-queries.ts
  184. +75 −0 packages/gatsby-source-wordpress/src/utils/report.ts
  185. +96 −0 packages/gatsby-source-wordpress/src/utils/run-steps.ts
  186. +3 −0 packages/gatsby-source-wordpress/src/utils/url-to-path.ts
  187. +4 −0 packages/gatsby-source-wordpress/style.css
  188. +13 −0 packages/gatsby-source-wordpress/tsconfig.json
  189. +71 −0 starters/gatsby-starter-wordpress-blog/.gitignore
  190. +5 −0 starters/gatsby-starter-wordpress-blog/.prettierignore
  191. +4 −0 starters/gatsby-starter-wordpress-blog/.prettierrc
  192. +14 −0 starters/gatsby-starter-wordpress-blog/LICENSE
  193. +99 −0 starters/gatsby-starter-wordpress-blog/README.md
  194. BIN starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png
  195. +7 −0 starters/gatsby-starter-wordpress-blog/gatsby-browser.js
  196. +66 −0 starters/gatsby-starter-wordpress-blog/gatsby-config.js
  197. +192 −0 starters/gatsby-starter-wordpress-blog/gatsby-node.js
  198. +22,778 −0 starters/gatsby-starter-wordpress-blog/package-lock.json
  199. +51 −0 starters/gatsby-starter-wordpress-blog/package.json
  200. +54 −0 starters/gatsby-starter-wordpress-blog/src/components/bio.js
  201. +48 −0 starters/gatsby-starter-wordpress-blog/src/components/layout.js
  202. +93 −0 starters/gatsby-starter-wordpress-blog/src/components/seo.js
  203. +343 −0 starters/gatsby-starter-wordpress-blog/src/normalize.css
  204. +29 −0 starters/gatsby-starter-wordpress-blog/src/pages/404.js
  205. +335 −0 starters/gatsby-starter-wordpress-blog/src/style.css
  206. +128 −0 starters/gatsby-starter-wordpress-blog/src/templates/Page.js
  207. +129 −0 starters/gatsby-starter-wordpress-blog/src/templates/Post.js
  208. +89 −0 starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js
  209. BIN starters/gatsby-starter-wordpress-blog/static/favicon.ico
  210. +2 −0 starters/gatsby-starter-wordpress-blog/static/robots.txt
  211. +1,246 −45 yarn.lock
@@ -6,6 +6,7 @@ packages/*/dist/**
packages/*/lib/**
packages/*/scripts/**
**/dist/*
**/public/*
**/__testfixtures__/**
**/__tests__/fixtures/**
peril
@@ -24,3 +25,7 @@ packages/gatsby-image/withIEPolyfill/index.js
packages/gatsby/cache-dir/commonjs/**/*
packages/gatsby-admin/public
packages/gatsby/gatsby-admin-public

packages/gatsby-source-wordpress/test-site/**
!packages/gatsby-source-wordpress/test-site/__tests__
!packages/gatsby-source-wordpress/test-site/test-utils
@@ -23,6 +23,7 @@ packages/gatsby-plugin-mdx/node_modules/**/*.js
packages/gatsby/cache-dir/commonjs/**/*.js
packages/gatsby-admin/public/styles.*
packages/gatsby/gatsby-admin-public/styles.*
packages/gatsby-source-wordpress/test-site/**

# fixtures
**/__testfixtures__/**
@@ -18,7 +18,7 @@ module.exports = {
},
},
{
resolve: `gatsby-source-wordpress-experimental`,
resolve: `gatsby-source-wordpress`,
options: {
url: process.env.BENCHMARK_WPGRAPHQL_URL,
type: {
@@ -23,7 +23,7 @@
"gatsby-plugin-benchmark-reporting": "*",
"gatsby-plugin-sharp": "^2.6.2",
"gatsby-source-filesystem": "^2.1.48",
"gatsby-source-wordpress-experimental": "^5.0.0",
"gatsby-source-wordpress": "^4.0.0",
"gatsby-transformer-sharp": "^2.5.2",
"react": "^16.12.0",
"react-dom": "^16.12.0"
@@ -1,4 +1,4 @@
const fetchGraphql = require(`gatsby-source-wordpress-experimental/dist/utils/fetch-graphql`)
const fetchGraphql = require(`gatsby-source-wordpress/dist/utils/fetch-graphql`)
.default

const faker = require(`faker`)
@@ -407,7 +407,7 @@ gatsby-source-flotiq
gatsby-source-graphql
gatsby-source-sanity
gatsby-source-tmdb
gatsby-source-wordpress-experimental
gatsby-source-wordpress
gatsby-source-x-cms
gatsby-starter-blog
gatsby-starter-buttercms
@@ -21,34 +21,34 @@ The guides in this section will walk through the process of setting up content s

Here are more resources for guides, plugins, and starters for CMS systems you can connect to:

| CMS | Guides | Plugin Docs | Official Starter |
| --------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------- |
| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) |
| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) |
| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress-experimental) | |
| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | |
| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | |
| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) |
| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | |
| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | |
| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | |
| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) |
| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) |
| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) |
| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) |
| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) |
| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | |
| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) |
| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) |
| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | |
| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | |
| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) |
| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | |
| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | |
| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | |
| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) |
| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) |
| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | |
| CMS | Guides | Plugin Docs | Official Starter |
| --------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------- |
| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) |
| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) |
| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress) | |
| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | |
| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | |
| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) |
| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | |
| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | |
| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | |
| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) |
| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) |
| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) |
| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) |
| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) |
| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | |
| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) |
| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) |
| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | |
| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | |
| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) |
| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | |
| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | |
| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | |
| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) |
| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) |
| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | |

## How to add new guides to this section

0 comments on commit 862637b

Please sign in to comment.