Building This Blog

Published on May 5, 2025

In this post, I'll walk through the technical decisions and architecture behind this blog.

Tech Stack

I chose to build this blog with:

  • Next.js - For the React framework and static site generation
  • MDX - To write blog posts in Markdown with React component support
  • Docker - For consistent deployment and containerization
  • Plain CSS - Keeping it simple and fast

Why These Choices?

Next.js with Pages Router

I went with the Pages Router over the newer App Router because it's mature, well-documented, and perfect for a blog use case. The static generation capabilities are exactly what I need for optimal performance.

MDX Over Pure Markdown

While I could have used pure Markdown, MDX gives me the flexibility to embed React components directly in my posts when needed. This opens up possibilities for interactive content, code examples, and custom styling.

Docker for Deployment

Containerizing the application makes deployment consistent across different environments. Whether I'm running this locally or on my server, Docker ensures it works the same way.

File Structure

Project Structure

├── content/
│   └── blog/
│       ├── theology/              # Dedicated theology section
│       │   ├── moral-law-evolutionary-theory-vs-divine-law.mdx
│       │   └── the-appearance-of-age.mdx
│       ├── first-post.mdx
│       └── second-post.mdx
├── pages/
│   ├── index.js
│   ├── blog/
│   │   ├── theology/              # Theology routing
│   │   │   ├── index.js
│   │   │   └── [slug].js
│   │   ├── index.js
│   │   └── [slug].js
└── styles/
  └── globals.css

This structure keeps content separate from code, making it easy to manage and scale. I've also added a dedicated theology section for Christian faith, theological discussions, and philosophy content.

Current Status & What's Next

Recently Completed

  • Theology Section: Added dedicated routing and content for theological discussions
  • Enhanced Project Structure: Organized content with category-based routing
  • Docker Hub Integration: Implemented professional deployment strategy
  • 🔄 CI/CD Pipeline: Implemented automated deployment with GitHub Actions and Docker Hub. Authentication and deployment automation for a seamless development workflow.

Future Improvements

  1. Adding tags and categories across all sections
  2. Implementing a search feature
  3. Adding comments (maybe with GitHub Discussions)
  4. RSS feed generation
  5. Enhanced SEO optimization

The goal is to create a robust, automatically deployable platform for both technical and theological content. Stay tuned for more updates!


Updated on January 27, 2025