gatsby-source-notionso
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.6 • Public • Published

    npm version

    gatsby-source-notionso

    A Gatsby source plugin for sourcing data into your Gatsby application using Notion.so as a backend.

    There is not yet an official API to retrieve data for your pages, so this plugin reverse engineered the current API to get access to the content of a page.

    You can find a detailed description about this plugin at: http://www.gatsbyplugins.com

    Screenshot

    notion.so web side by side

    Demo site

    Netlify Status

    A demo site is available at: http://www.gatsbyplugins.com

    This demo site contain detailed information about how to use the plugin.

    Installation

    $ npm install --save gatsby-source-notionso

    or

    $ yarn add gatsby-source-notionso

    Options

    export interface NotionsoPluginOptions extends PluginOptions {
      rootPageUrl: string; // the notion page URL of the root page
      name: string; // name of your data set to identify the data for the instance of this plugin
      tokenv2?: string; // not used yet (the page needs to be public)
      debug?: boolean; // set to true to enable debugging information
    }

    The plugin will load the page identified by the rootPageUrl but this page will not be rendered: the root page is supposed to contain references to all the pages you want to retrieve data for.

    How to use?

    In your gatsby-config.js file:

      plugins: [
        {
          resolve: 'gatsby-source-notionso',
          options: {
            name: "<name of your data set>",
            rootPageUrl: "<your page url>",
            debug: false,
          },
        },
        {
          resolve: `gatsby-source-filesystem`,
          options: {
            name: `pages`,
            path: `${__dirname}/src/pages`,
          },
        },
      ],
    
    

    How to query

    Get all posts

    If the name of your data set is blog, the following request will allow you to retrieve your data.

    query {
      allNotionPageBlog(
        filter: { isDraft: { eq: false } }
        sort: { fields: [indexPage], order: DESC }
      ) {
        edges {
          node {
            title
            slug
            excerpt
            pageIcon
          }
        }
      }
    }
    

    References

    gatsby source plugin development

    Notion API

    Various Notion API implementations:

    Install

    npm i gatsby-source-notionso

    DownloadsWeekly Downloads

    10

    Version

    1.1.6

    License

    BSD-3-Clause

    Unpacked Size

    256 kB

    Total Files

    78

    Last publish

    Collaborators

    • pcarion