blog

This is the blog that powers rauchg.com, built on next.js and deployed to the cloud via Vercel.

How to run

First, install Vercel CLI.

Development

vc dev

Deployment

Staging

vc

This is the equivalent of submitting a PR with the GitHub integration

Production

vc --prod

This is the equivalent of git push to master (or merging a PR to master)

Architecture

Pure components

Every stateless pure component is found under ./components.

Every component that has to do with styling the post's markup is found under ./components/post/

These components make up the style guide of the application.

Blog posts

Every blog post is a static page hosted under pages/$year/.

This allows every post to load arbitrary modules, have custom layouts and take advantage of automatic code splitting and lazy loading.

This means that the bloat of a single post doesn't "rub off on" the rest of the site.

An index of all posts is maintained in JSON format as ./posts.json for practical reasons.