Gatsby Newsliner Starter (newsliner-gatsby) pairs the Gatsby static site generator with Ghost as a headless CMS to create fast news and publication websites, built by Epilocal for its NewsCloud local-news project.
What is the Gatsby Newsliner Starter?
The Gatsby Newsliner Starter is an open-source boilerplate that builds a Gatsby front-end pulling content from a headless Ghost installation. It takes a Ghost Content API key and site URL as configuration, and outputs a static Gatsby site suitable for news publishing. The template was released by Epilocal under the MIT license and builds on the gatsby-starter-ghost template, so installation and deployment steps follow that foundation.
Key Features
- Gatsby + Ghost integration — Uses Gatsby as the static site generator and Ghost as the headless CMS, fetching content via the Ghost Content API.
- Quick start via Gatsby CLI — Install with
gatsby new newsliner-gatsby https://github.com/epilocal/newsliner-gatsby.gitand rungatsby developto start a local development server. - Ghost version support — Supports Ghost installs from version 2.10.0 upward, with a
versionproperty in.ghost.jsonfor Ghost 2.x vs 3.x+. - Netlify deployment ready — Includes
netlify.toml, static_headerswith security headers, and_redirectsfor custom domain redirects. - Serverless email subscription function — A Netlify serverless function adds email subscribers to your Ghost instance via the Ghost Admin API, using Netlify ENV variables for credentials.
- Configurable posts per page —
siteConfig.jslets you set defaults likepostsPerPageand the canonical site URL. - SEO optimization guidance — Recommends making the Ghost front-end private so Gatsby becomes the source of truth for SEO, and includes security headers via Netlify.
Who is it for?
- Local news organizations — need a fast, static website with a familiar CMS for editorial teams to publish stories.
- Developers building JAMstack sites — want a ready-to-adapt Gatsby front-end connected to Ghost, with deployment already configured for Netlify.
- NewsCloud users — Epilocal's NewsCloud project supports local news, and this starter is their template for launching news sites.
What can you do with it?
- Publish editorial content — Connect a Ghost CMS with the Content API and let editors manage articles while Gatsby renders them as static pages.
- Deploy to Netlify — Use the provided
netlify.tomland one-click Deploy to Netlify button to get the site live with security headers and redirects. - Collect email subscribers — Use the built-in serverless function to add newsletter signups to a Ghost installation via the Admin API.
- Trigger rebuilds from Ghost — Pair the site with a Ghost + Netlify Integration so Ghost deploy hooks rebuild the site whenever content changes.
How does it work?
Clone the repository or use gatsby new with the template URL, then run yarn to install dependencies. Configure .ghost.json with your Ghost site's apiUrl and contentApiKey (create an integration in Ghost Admin to get a key). Finally, run gatsby develop to see the site locally, or gatsby build to produce a production build.
FAQ
Is the Gatsby Newsliner Starter free?
Yes, the template is released under the MIT license, so it is free to use and modify for personal or commercial projects.
What Ghost version is required?
The starter requires Ghost version 2.10.0 or higher. For Ghost 2.x (below 3.0) you must pass a version: "v2" property in .ghost.json; for Ghost 3.0 and above, no version property is needed.
How do I connect my own Ghost site?
Edit the .ghost.json file at the root of the project, change apiUrl to your Ghost site URL (ending in .ghost.io for Ghost(Pro)), and set contentApiKey to a key created under Ghost Admin → Integrations → Add new integration.
Does it work with Netlify?
Yes, the starter includes a netlify.toml build config, static _headers and _redirects files, and a Deploy to Netlify button. You can also use Netlify ENV variables instead of committing Content API keys.
How can I trigger a rebuild after content changes?
Set up a Ghost + Netlify Integration and use Ghost deploy hooks. Every time data changes in Ghost, the hook triggers a Netlify rebuild so your static site stays up to date.





