/eleventy-starter-ghost

A starter template to build websites with Ghost & Eleventy

Primary LanguageNunjucksMIT LicenseMIT

Eleventy Starter Ghost

A starter template to build completely static websites with Ghost & Eleventy

Demo: https://eleventy.ghost.org

screenshot

Installing

# From Source
git clone https://github.com/TryGhost/eleventy-starter-ghost.git
cd eleventy-starter-ghost

Then install dependencies

yarn

Running

Start the development server

yarn start

You now have a completely static site pulling content from Ghost running as a headless CMS.

By default, the starter will populate content from a default Ghost install located at https://eleventy.ghost.io.

To use your own install, edit the .env config file with your credentials. You can find your contentApiKey in the "Integrations" screen in Ghost Admin. The minimum required version for Ghost is 2.10.0 in order to use this starter without issues.

Deploying with Netlify

The starter contains three config files specifically for deploying with Netlify. A netlify.toml file for build settings, a headers.njk file with default security headers set for all routes (builds to /_headers path), and redirects.njk to set Netlify custom domain redirects (builds to /_redirects path).

To deploy to your Netlify account, hit the button below.

Deploy to Netlify

Content API Keys are generally not considered to be sensitive information, they exist so that they can be changed in the event of abuse; so most people commit it directly to their .env config file. If you prefer to keep this information out of your repository you can remove this config and set Netlify ENV variables for production builds instead.

Once deployed, you can set up a Ghost + Netlify Integration to use deploy hooks from Ghost to trigger Netlify rebuilds. That way, any time data changes in Ghost, your site will rebuild on Netlify.

Optimising

You can disable the default Ghost Handlebars Theme front-end by enabling the Make this site private flag within your Ghost settings. This enables password protection in front of the Ghost install and sets <meta name="robots" content="noindex" /> so your Eleventy front-end becomes the source of truth for SEO.

Extra options

# Build the site locally
yarn build

Copyright & License

Copyright (c) 2013-2023 Ghost Foundation - Released under the MIT license.