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

1.2.0 • Public • Published

gatsby-source-trakt-tmdb

This source plugin for Gatsby fetches personal statistics from Trakt.tv and optionally enhances them with metadata from TMDB. This can be used to display a list of watched movies and series with their respective posters.

gatsby-source-trakt-tmdb is compatible with gatsby-image so you can easily optimize posters and backdrop images during build time.

Sample Query

query {
  allTraktWatchedMovie(
    limit: 6
    sort: { fields: last_watched_at, order: DESC }
  ) {
    edges {
      node {
        last_watched_at
        movie {
          ids {
            slug
          }
        }
        tmdb_metadata {
          title
          poster {
            localFile {
              childImageSharp {
                fluid(maxWidth: 300, maxHeight: 450, quality: 90) {
                  ...GatsbyImageSharpFluid_withWebp
                }
              }
            }
          }
        }
      }
    }
  }
}

If a Trakt.tv movie or show doesn't have a TMDb id yet, which could be the case when a show or movie is new, tmdb_metadata will be null, so make sure to check it before using it.

Configuration

To use this plugin, you have to obtain API keys for Trakt.tv and TMDB:

{
  resolve: `gatsby-source-trakt-tmdb`,
  options: {
    traktApiKey: "TRAKT_API_KEY",
    username: "YOUR_TRAKT_USERNAME",
    tmdbApiKey: "TMDB_API_KEY", // optional, to fetch metadata
    language: "en-US" // optional, language for metadata (e.g. titles)
    limit: 10 // optional, number of items to fetch per category
  },
},

Try to keep the limit below or at 10 items per category (40 items in total) to avoid rate-limits by TMDb. Limit can also be an object providing individual limits for each Trakt category:

{
  limit: {
    watchedMovies: 6,
    watchedShows: 6,
    watchlistMovies: 6,
    watchlistShows: 6,
  },
}

Contributing

As this is my first source plugin for Gatsby, I think it has room for improvement. If you're interested in contributing, please feel free to open a pull request.

Package Sidebar

Install

npm i gatsby-source-trakt-tmdb

Weekly Downloads

4

Version

1.2.0

License

MIT

Unpacked Size

29.3 kB

Total Files

13

Last publish

Collaborators

  • leolabs