Giter VIP home page Giter VIP logo

next-cms-ghost's Introduction

next-cms-ghost

next-cms-ghost

PRs welcome!

Create and publish flaring fast blogs with this Jamify blogging system. Powered by the React framework Next.js and content fed by headless Ghost, you'll get a production ready hybrid static & server-rendered website that you can easily distribute globally. At the same time your content creators can continue to work with the Ghost authoring system they are used to.

ย 

๐ŸŽ‰ Demo

Play with the Demo to get a first impression.

ย 

โœจ Features

Ghost CMS integration
Ghost Casper look & feel
  • Infinite scroll
  • Fully responsive
  • Sticky navigation headers
  • Hover on author avatar
  • Styled 404 page
  • Preview Section in posts
  • Sitemap
  • RSS feed
  • SEO optimized
Extened Casper Styles โœจ
  • Dark Mode
  • Featured posts pinned on top
  • Customizable navigation headers
Images with Next/Images ๐Ÿš€
  • Feature and inline images
  • Auto-optimized images
  • No content shifts due to consistent placeholders
Advanced Routing
  • Auto-detects custom paths
  • Configurable collections
Developer friendly
  • MIT licenced
  • Truly open-source
  • Easy to contribute
  • Made typesafe with TypeScript
Integrated Plugins
  • Member Subscriptions
  • Commenting with Commento
  • Syntax highlighting with PrismJS
  • Table Of Contents
  • Contact Page with built-in notification service
NextJS Features
  • Incremental Regeneration
  • Support for Preview

ย 

๐Ÿš€ Performance

Lighthouse Score

Scores calculated with Lighthouse 6.4.0.

ย 

๐Ÿ Getting Started

git clone https://github.com/styxlab/next-cms-ghost.git
cd next-cms-ghost
yarn

# Development
yarn dev

# Production
yarn build

ย 

๐ŸŒ€ NextJS image optimizations

You must add all domains that you use for in-sourcing images in the next.config.js file, for example:

module.exports = {
  images: {
    domains: ['images.unsplash.com', 'static.gotsby.org'],
  },
}

Note that image optimization does not work with Netlify. Therefore, image optimization is automatically turned off when deploying to Netlify.

ย 

๐ŸŒŽ Domain Settings

The SITE_URL environment variable should be set to the public facing URL of your site, in most cases to your custom domain.

Key Value (example)
SITE_URL https://www.your-blog.org

If you don't specify SITE_URL, it will get populated according to the following defaults:

Platform System Value Conditions
Vercel VERCEL_URL Automatically expose System Environment Variables must be checked
Netlify URL

In all other cases SITE_URL is set to http://localhost:3000.

ย 

๐Ÿ”‘ Ghost Content API keys

All content is sourced from a Ghost CMS. Choose the method according to your build scenario.

Building locally

Create a new text file .env.local in the project root folder:

CMS_GHOST_API_URL=http://localhost:2368
CMS_GHOST_API_KEY=9fccdb0e4ea5b572e2e5b92942

Building with cloud providers

If you build your project with a cloud provider, the best option is to provide the keys with environment variables:

Key Value (example)
CMS_GHOST_API_URL https://cms.your-blog.org
CMS_GHOST_API_KEY 9fccdb0e4ea5b572e2e5b92942

ย 

๐Ÿ’ซ Deploy

For best results, deploying to Vercel is recommended. As an alternative, you can also deploy to Netlify.

Deploy with Vercel

Deploy to Netlify

ย 

๐Ÿคฏ Ensure headless mode of Ghost CMS

For best SEO results it is strongly recommended to disable the default Ghost Handlebars theme front-end by selecting the Make this site private flag within your Ghost admin settings.

ย 

๐Ÿ’ฃ Reporting issues

Please report all bugs and issues at next-cms-ghost/issues.

ย 

๐ŸŽˆ Contributions

Special thanks go to the following contributors: Vince Fulco and Akshat Mittal.

PRs are welcome! Consider contributing to this project if you want to make a better web.

ย 

๐Ÿง Disclaimer

This project is not affiliated with NextJS or Ghost.

ย 

Copyright & License

Copyright (c) 2020 styxlab - Released under the MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.