agility / gatsby-source-agilitycms

This is the offical Agility CMS source plugin for GatsbyJS.
MIT License
4 stars 1 forks source link

GatsbyJS Source Plugin for Agility CMS

This is the offical Agility CMS source plugin for GatsbyJS.

This uses the Agility CMS Sync SDK so that builds will only refresh nodes/content that has changed since the last build was run.

Example

For an example on how this can be used in a website see Agility CMS GatsbyJS Starter.

Documentation

Learn how to get started with Gatsby and Agility CMS

Usage

Install it:

npm install --save @agility/gatsby-source-agilitycms

Ensure you have a gatsby-config.js file in the root of your website and set the following:

/**
 * Configure your Gatsby site with this file.
 *
 * See: https://www.gatsbyjs.org/docs/gatsby-config/
 */
module.exports = {
  siteMetadata: {
    title: "Agility CMS Gatsby Starter",
  },
  plugins: [
    {
      // The name of the plugin
      resolve: "@agility/gatsby-source-agilitycms",
      options: {
        // If you are debugging content from Agility CMS, you can set this to `true`
        debug: false,
        // Your Agility Content Fetch API Guid
        guid: "046a1a87",
        // Your Agility Content Fetch API Key
        apiKey:
          "defaultlive.2b7f3a91559d794bedb688358be5e13af2b1e3ae8cd39e8ed2433bbef5d8d6ac",
        // Set this to true if you are using the preview API Key
        isPreview: agilityConfig.isPreview,
        // Your list of languages
        languages: [
          {
            // The name of the language code
            name: "English",
            // The actual language code set in Agility CMS
            code: "en-us",
            // The name to be used in the URL path that represents the current language
            path: "en",
          },
          {
            // The name of the language code
            name: "French",
            // The actual language code set in Agility CMS
            code: "fr-ca",
            // The name to be used in the URL path that represents the current language
            path: "fr",
          },
        ],
        // The channels you want to include
        channels: [
          {
            // The reference name for the website channel as it is defined in Agility CMS
            referenceName: "website",
          },
        ],
        // The master page template that will be used to render Agility CMS pages
        masterPageTemplate: "./src/templates/AgilityPage.js",
      },
    },
  ],
};