/theme-nextjs-greta

News site built with NextJS, Typescript and Prezly SDK

Primary LanguageTypeScriptMIT LicenseMIT

Prezly Greta Theme

Greta Prezly Theme is based on Next.js 12+ framework.

Requirements

  • Node.js and npm

Quick Start

Getting Started

Run the following command on your local environment

git clone https://github.com/prezly/theme-nextjs-greta
cd theme-nextjs-greta
npm i

Set up your .env.local file by copying .env.example:

cp .env.example .env.local

You'll need to populate it with your Prezly Access Token and your newsroom's UUID. Additionally, you'll need to provide:

  • Sitekey for HCaptcha if you want HCaptcha to work on the Subscribe form.
  • Algolia API key for Prezly's search index (you can contact Prezly support to issue a token for you)

After that you can run locally in development mode with live reload:

npm run dev

Open http://localhost:3000 with your favorite browser to see your project.

Deploy your own

Deploy the example using Vercel or Netlify:

Vercel Netlify
Deploy with Vercel Netlify Deploy button

Scripts in package.json

In addition to regular Next scripts, we provide some scripts to help with code-styling checks. This repo is configured with GitHub workflows to run linter checks on every push, but you can also run these checks locally, along with TypeScript checks, by running this script:

npm run check

Prettier is configured to be managed by ESLint, but you can always run it separately with npm run prettier to check code-style, or with npm run prettier:fix to auto-fix code-style issues in the project.

Documentation

Business logic

The data layer is abstracted by Prezly Theme Kit. You can get more info on it in the repo README.

Logic for content display is based heavily on Prezly Theme Starter. Check it out if you only want to see the bare minimum required to display data from Prezly newsrooms.

Testing/Token

To ease with development we have created a few sample newsrooms in different categories:

A list of tokens/newsroom uuids that can be used to kickstart the theme.

Name API Token Newsroom UUID
Good Newsroom HKcab_nEbab_a7b2fe3a3465d3729772fa5381800ab5a0c30d8d 578e78e9-9a5b-44ad-bda2-5214895ee036
Cookbook TKcab_nEbab_28432b75d3a85a826e51cd0b502a3d76acf98d19 9d90b2c1-aed9-4415-a9fb-82dd3a2a1b52
Anonymous Photographer SKcab_nEbab_0b63a6dd0b09286cc99fab93e6e80bfd9aecfbb5 ce8299f6-a293-41df-8ffc-1c064d4401bc

Contributions

Everyone is welcome to contribute to this project. Feel free to open an issue if you have question or found a bug.

License

Prezly Greta Theme is MIT licensed.


Made with ♥ by Prezly