Bea 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 Biome.
- Search is powered by Meilisearch
- Error-logging with Sentry.
- Node.js and npm
Run the following command on your local environment
git clone https://github.com/prezly/theme-nextjs-bea
cd theme-nextjs-bea
npm iSet up your .env.local file by copying .env.example:
cp .env.example .env.localYou'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.
- 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 devOpen 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 and linting 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 checkCode formatting and linting is handled by Biome. You can run linting with npm run lint, auto-fix issues with npm run lint:fix, format code with npm run format, or auto-format with npm run format:fix.
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.
Prezly Bea Theme is MIT licensed.
Made with ♥ by Prezly