Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub

Gatsby Plugin Source AEM

Source data from Adobe Experience Manager (AEM) to build Gatsby sites using content managed in AEM with this plugin.

🚀 Installation

Install the plugin using npm or yarn:

npm install gatsby-plugin-source-aem


yarn add gatsby-plugin-source-aem

🛠 Configuration

module.exports = {
  plugins: [
      resolve: 'gatsby-plugin-source-aem',
      options: {
        serviceURL: 'https://publish-XXXXXX-XXXXXXX.adobeaemcloud.com', // Your AEM instance URL
        endpoint: '/content/cq:graphql/{YOUR-SITE}/endpoint', // GraphQL endpoint for your AEM instance
        path: 'your-site-project-folder', // The destination path/folder in AEM
        persistedQueries: ['your-persisted-query-name'], // GraphQL persisted query names published in AEM
        graphqlSchema: 'path/to/schema.graphql', // Path to the GraphQL schema file

📚 Plugin Options

  • serviceURL: The URL of your AEM instance.
  • endpoint: The GraphQL endpoint for your AEM instance.
  • path: The destination path/folder in AEM.
  • persistedQueries: Array of GraphQL persisted query names published in AEM.
  • graphqlSchema: The file path for your GraphQL schema customization.

⚠️ Union Types Limitation

Currently, union types work only with content fragments that have a prefix of “Component” in their name. For example, a valid content fragment name would be Component: Hero. This limitation applies specifically to union types, and improvements are welcome.

Union types will only apply to those prefixed with “Component,” which can then be referenced as a unionType in the schema.graphql files like this:

type Model implements Node {
  components: [Components]!

🤝 Contributing

Contributions are welcome! If you’d like to contribute to this plugin’s development, please submit a pull request or open an issue on the GitHub repository.

© 2023 Gatsby, Inc.