My blog site build with Next.js and styled with SCSS.
This blog makes use of a CMS (Content Management System) to deliver the content. I went with Storyblok for its easy to use UI, and API.
This website makes use of multiple custom components that I built in place of using pre-built JS libraries. Namely:
This component accepts a list of content and breaks it up into multiple pages. It accepts several props which it uses to determine which items to display on which page.
This component is a full-fledged comments section complete with liking, replying and deleting comments.
It uses Firebase for authentication which allows for signing in with Google as well as signing in anonymously.
It uses Firebase's Firestore for storing comment data as well as user data.
Copy .env.example to .env.local. The listed values are browser SDK
identifiers, so their NEXT_PUBLIC_ names make that exposure explicit. Do not
add database credentials, mail account passwords, private API keys, or personal
Storyblok tokens to next.config.js.
next.config.js temporarily accepts the legacy deployment names for these same
browser-safe identifiers so existing Vercel environments keep building while
they are renamed. The compatibility mapping must not be used for secrets.
Verify changes with yarn type-check and yarn build.