Lena Prezly Theme is based on Next.js 12+ framework.
- Made with TypeScript, Prezly SDK and Prezly Content React Renderer.
- Data-fetching is handled by Prezly Theme Kit and Prezly SDK.
- Multi-language is powered by React Intl and Prezly Themes Translations.
- Analytics powered by Prezly Analytics.
- Code-style is ensured by ESLint, StyleLint and Prettier.
- Search is powered by Algolia
- Error-logging with Sentry.
- Node.js and npm
Run the following command on your local environment
git clone https://github.com/prezly/theme-nextjs-lena
cd theme-nextjs-lena
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 the example using Vercel or Netlify:
Vercel | Netlify |
---|---|
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.
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.
To ease with development we have created a few sample newsrooms in different categories:
- The Good Newsroom (preview on vercel): A newsroom filled with good news
- Cookbook (preview on vercel): Recipes shared by the Prezly team
- Anonymous Photographer (preview on vercel): Pictures from a photographer. Combination of albums and imagery
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 |
Everyone is welcome to contribute to this project. Feel free to open an issue if you have question or found a bug.
Made with ♥ by Prezly