npm promotes metadefinitions

    @jamesdanylik/gatsby-source-goodreads

    0.1.0 • Public • Published

    gatsby-source-goodreads

    Build Status npm package npm package

    This is a source plugin for GatsbyJS to pull information from the GoodReads API. It is an alternative to gatsby-source-goodreads by Daniel Oliver, which predates it. While the original pulls these books in under a single node type, the goal in my version is to grabs all the books, author, and shelf information for a single user while preserving the links between data.

    Notes on GoodReads API Structure

    Note that good reads keeps the books and ratings as seperate data objects; these reviews are what are placed on shelves, not books, and I preserve this relation to provide the most transparant access possible. In short, your data is in the reviews nodes; data on the book itself is in the book node.

    Install

    npm install --save @jamesdanylik/gatsby-source-goodreads

    Configuration

    // In your gatsby-config.js
    plugins: [
    	{
    	      resolve: "@jamesdanylik/gatsby-source-goodreads",
    	      options: {
    						key: '<<YOUR GOODREADS API KEY>>',
    						id: '<<USER ID TO TRACK>>'
    	      },
    	},
    	...
    ]

    Provided Queries

    Reviews

      allGoodreadsReview {
        edges {
          node {
            id
            rating
            votes
            spoiler_flag
            spoilers_state
            recommended_by
            recommended_for
            started_at
            read_at
            date_added
            date_updated
            read_count
            body
            comments_count
            url
            link
            owned
            book {
              id
              # book node here!
              # see book query for all fields
            }
            shelves {
              id
              # shelf nodes here!
              # see shelf query for all fields
            }
          }
        }
      }
      

    Shelves

      allGoodreadsShelf {
        edges {
          node {
            id
            name
            exclusive
            review_shelf_id
            reviews {
              id
              # reviews nodes here!
              # see review query for all fields
            }
          }
        }
      }

    Books

      allGoodreadsBook {
        edges {
          node {
            id, 
            isbn, 
            isbn13, 
            text_reviews_count, 
            uri, 
            title, 
            title_without_series, 
            image_url, 
            small_image_url, 
            large_image_url, 
            link, 
            num_pages, 
            format, 
            edition_information, 
            publisher, 
            publication_day, 
            publication_month, 
            publication_year, 
            average_rating, 
            ratings_count, 
            description,
            published,
            work {
              id
              uri
            }
            authors {
              id
              # author nodes here!
              # see author query for all fields
            }
            reviews {
              id
              # review nodes here!
              # see review query for all fields
            }
          }
        }
      }

    Authors

      allGoodreadsAuthor {
        edges {
          node {
            id
            name
            role
            image_url
            small_image_url
            link
            average_rating
            ratings_count
            text_reviews_count
            books {
              id
              # book nodes here!
              # see book query for all available fields
            }
          }
        }
      }

    Install

    npm i @jamesdanylik/gatsby-source-goodreads

    DownloadsWeekly Downloads

    1

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    9.67 kB

    Total Files

    6

    Last publish

    Collaborators

    • jamesdanylik