Gatsby uses React to render static pages that follow the PRPL pattern for exceptional loading speed. The static pages can be sourced from a huge variety of data, translated into GraphQL, then queried to produce a collection of pages that are generated at build time.
This means that there is HTML markup that's fully machine-readable - making it SEO/indie/webmention/js;dr friendly.
At the moment it supports many data sources:
These data sources can then be transformed:
(Note that these are only read during build time - so you must re-build to get new content out)
Gatsby officially began supporting incremental builds in April 2020: 2020-04-22 : From static to real-time: introducing incremental builds in Gatsby Cloud
- 2020-04-23 : Enable Gatsby incremental builds on Netlify
The Gatsby community has come up with two possible solutions to this issue:
When it comes to "incoming" data to this site generator, it would have to push the data to one of the connected data sources then trigger a rebuild. Even without access to incremental builds the performance is pretty good for small-ish sites to do a complete rebuild.
You could probably handle incoming webmentions by having a small app on another subdomain that pushes the webmentions into MongoDB, then triggers a rebuild of the site to include new mentions.
- Christopher Biscardi has developed a Webmention plugin available on Github.
- Gatsby provide a first-party RSS feed plugin: gatsby-plugin-feed
IndieWeb community members using Gatsby on their own primary sites:
- Murray - Murray uses Gatsby on his personal site, including displaying webmentions and providing microformats feeds.
- Add yourself here… (see this for more details)
Other independents that are using it on their primary self-identifying site:
- Josh W Comeau — Josh previously worked for Gatsby and continues to use the platform for his personal site.
- static site generator
- Criticism: https://twitter.com/sonniesedge/status/1124443028545056768
- "Have been trying out @gatsbyjs. It's very nice component based stuff. I like it! But it assumes that your next step is building an SPA, so it tries to load a metric crapton of JS that I simply don't need or want on my page. Pages are 150x bigger than they should be. 😭" @sonniesedge May 3, 2019
- Long criticism with many facets: https://threadreaderapp.com/thread/1293649007739191296.html Original Twitter thread: https://twitter.com/tesseralis/status/1293649007739191296
- "now that I've gotten to play with NextJS for a bit I can go back and honestly say, boy, Gatsby is such an over-engineered mess." @tesseralis June 5, 2021