gatsby-config.js
file and adds pre-configured functionality, data sourcing, and/or UI code to Gatsby sites. Since they are plugins, themes can be packaged and distributed through a registry like npm or yarn, and versions can be updated through a site’s package.json
file.gatsby-config
. Starters can be set up with documented options for customization, but there are no officially supported options for starters apart from what the author of the starter decides to write.gatsby-config
so the plugin knows where to build pages from, but the user wouldn’t be able adjust how those pages are built, only from what path. Theme shadowing allows users to replace a file with their own version of it, allowing them to rewrite that logic to use the path in a different way.gatsby-plugin-theme-ui
which allows you to shadow a theme file to use in your own theme.gatsby-config
that a Gatsby site will run along with its own config. Starters can also be configured with multiple plugins so someone can get up and running without worrying about configuring too many loose ends.gatsby-config
’s plugin array. This is the case with gatsby-image
which is a React component. It doesn’t need to be included in the plugins array because it is merely a component.<OutboundLink />
component fromgatsby-plugin-google-analytics
. Other plugins, like gatsby-plugin-react-helmet
, require you to install components from other libraries.