Depends on the blog-views microservice for the realtime views display.
How to run
All that's needed to run this blog is:
npm install npm run dev
Then head to
http://localhost:3000. Changes you make to
components will henceforth be reflected there in realtime.
All that's needed to deploy this blog to the cloud is to execute a single command (install it here)
When I deploy, I get a new instance of the blog at a new, immutable
URL. When I browse to it and verify it looks ok, I set up an alias
targetting the production URL
now alias <url> rauchg.com
Every stateless pure component is found under
Every component that has to do with styling the post's markup
is found under
These components make up the style guide of the application.
Every blog post is a static page hosted under
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
for practical reasons.
I set up a
server.js that boots up Next.js programatically. This
gives me complete control over the HTTP request and response cycle.
In this case, the routes structured under
pages/ are sufficient,
but I set up a few redirections to retain compatibility with my
previous WordPress based setup.
To start the custom server, I run
node server.js upon deployment.