A blog frontend that recreates the default Ghost theme in Next.js
nextjs-ghost-starter — Next.js Blog Template
By tewarig
A blog starter that ports the default Ghost theme style to Next.js, fetching content via the Ghost Content API and supporting Netlify deployment.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Content comes from the Ghost Content API, connecting to your own Ghost site via apiUrl and contentkey
Defaults to a public Ghost demo installation, allowing you to see it in action immediately
The README provides a one-click Netlify deploy button and instructions for Ghost + Netlify integration
Licensed under MIT, free to use, modify, commercialize, and distribute
Template Details
This is a blog starter template that recreates the look of the default Ghost theme in Next.js; the project describes itself as a "Simple Ghost default theme for next.js". It does not include a content management system; instead, it acts as a frontend that reads content from a Ghost site. By default, it pulls data from the Ghost installation at https://next-ghost-blog.herokuapp.com/. To connect your own site, you need to modify the site-config configuration file.
Configuration involves three steps: change apiUrl to your Ghost site address (for Ghost(Pro) users, an address ending in .ghost.io; for self-hosted users, the same address used to access the site); replace contentkey with the Content API Key for that Ghost site, which can be obtained by creating a new integration in the Ghost admin under Integrations; finally, configure the desired site URL in site-config.js so that canonical and other links are generated correctly. The README states that the starter uses Ghost version 3.x by default and provides configuration examples for Ghost <=3.0.0.
For deployment, the README offers a one-click deploy button for Netlify and notes that the Content API Key is generally not considered sensitive information, with most people committing it directly to the configuration file; if you prefer not to store it in the repository, you can use Netlify environment variables instead. After deployment, you can also set up a Ghost and Netlify integration to trigger a Netlify rebuild via a deploy hook when Ghost data changes. The repository does not provide further details on page structure, component breakdown, or style customization.
Is it right for your project?
Use Cases
- You already have a Ghost site and want to rebuild the frontend presentation layer with Next.js
- You want to see how the default Ghost theme is implemented in Next.js
- You need a blog frontend that can be deployed to Netlify and rebuilt when Ghost data changes
Suitable For
- Developers using Ghost as a content backend
- Teams familiar with Next.js and React who are willing to modify configuration files themselves
- Projects that need freely modifiable blog frontend code under the MIT license
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Change apiUrl in site-config to your Ghost site address; for Ghost(Pro) it ends with .ghost.io, for self-hosted it is the address used to access the site
- 2
Create a new integration in the Ghost admin, obtain the Content API Key, and fill it into contentkey
- 3
Configure the site URL in site-config.js so that canonical and other links are generated correctly
- 4
The README states that the default Ghost version used is 3.x and provides configuration examples for Ghost <=3.0.0
- 5
To deploy to Netlify, you can use the deploy button in the repository; if you do not want to commit the key to the repository, you can use Netlify environment variables instead, and you can trigger rebuilds via a Ghost deploy hook
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license from the public repository; the free scope applies to that version's code and does not imply that external services or third-party assets are free.
Must comply with when using
- You are allowed to use, modify, commercialize, and distribute this version's code for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone cannot be used to judge them.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- By default, content is pulled from the author's public Ghost demo site; you must modify the configuration yourself to connect your own site.
- Using your own Ghost site requires modifying the site-config configuration file and entering your own credentials.
- You must have a Ghost site and create an integration in the Ghost admin to obtain a Content API Key; this is an external service dependency.
- The starter is adapted for Ghost 3.x by default; other versions may be incompatible.
- The README only provides configuration examples for Ghost 3.0.0 and earlier, so the applicable version range is limited.
- The deployment process depends on a Netlify account, which is an external hosting service requirement.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
By default, the starter will populate content from a default Ghost install located at https://next-ghost-blog.herokuapp.com/ .
Original README
To use your own install, you will need to edit the `site-config` config file with your credentials.
Original README
Next, update the `contentkey` value to a key associated with the Ghost site. A key can be provided by creating an integration within Ghost Admin.
Original README
The default Ghost version that is used for this starter is `3.x`.
Original README
**Ghost <=3.0.0**
Original README
https://github.com/tewarig/nextjs-ghost-starter/blob/master/LICENSEhttps://github.com/tewarig/nextjs-ghost-starter/blob/master/README.mdTo deploy to your Netlify account, hit the button below.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-12. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- Partly documented · 73 / 100
- Technologies
- Next.js · React
- Website type
- Blog · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2021-02-18
- Screenshot last checked
- 2026-10-12
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-13
Inspect the recorded source material
SHA-256: 28a2c3ff792738e15134401a59937734d66e905c5ce215b4518f234055c8d160
2026-10-12T16:07:32.423Z
Source file / repository# Nextjs-ghost-starter Simple Ghost default theme for next.js # Mobile and desktop preview <img src = "./ss/d1.png" > <hr /> <div class="row"> <img src = "./ss/m1.jpeg" height="300" width = "150" > <img src = "./ss/m2.jpeg" height="300" width = "150" > <img src = "./ss/m3.jpeg" height="300" width = "150" > </div> ## Getting Started By default, the starter will populate content from a default Ghost install located at https://next-ghost-blog.herokuapp.com/ . To use your own install, you will need to edit the `site-config` config file with your credentials. Change the `apiUrl` value to the URL of your Ghost site. For Ghost(Pro) customers, this is the Ghost URL ending in `.ghost.io`, and for people using the self-hosted version of Ghost, it's the same URL used to access your site. Next, update the `contentkey` value to a key associated with the Ghost site. A key can be provided by creating an integration within Ghost Admin. Navigate to Integrations and click "Add new integration". Name the integration appropriately and click create. Finally, configure your desired URL in `site-config.js`, so links (e. g. canonical links) are generated correctly. Y The default Ghost version that is used for this starter is `3.x`. **Ghost <=3.0.0** ``` const appUrl = "https://next-ghost-blog.herokuapp.com/"; const contentKey = "382362c8a9a611d23db0adefc1"; ``` # Deploying with Netlify To deploy to your Netlify account, hit the button below. [](https://app.netlify.com/start/deploy?repository=https://github.com/tewarig/nextjs-ghost-starter) 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 config file. If you prefer to keep this information out of your repository you can remove this config and set [Netlify ENV variables](https://www.netlify.com/docs/continuous-deployment/#build-environment-variables) for production builds instead. Once deployed, you can set up a [Ghost + Netlify Integration](https://docs.ghost.org/integrations/netlify/) to use deploy hooks from Ghost to trigger Netlify rebuilds. That way, any time data changes in Ghost, your site will rebuild on Netlify.
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
