Personal website and blog built with Next.js and deployed to GitHub Pages.
- 🚀 Static site generation with Next.js App Router
- 📝 MDX support for rich blog content
- 🎨 Light/dark theme with system preference detection
- ♿ Accessible and semantic HTML
- 📱 Fully responsive design
- 🔧 GitHub Pages deployment via GitHub Actions
- Bun 1.0+ (or Node.js 18+ with npm)
- Git
# Clone the repository
git clone https://github.com/jensbodal/bodal.dev.git
cd bodal.dev
# Install dependencies
bun install# Start development server
bun run dev
# Build for production
bun run build
# Run type checking
bun run typecheck
# Run linting
bun run lintThe development server runs at http://localhost:3000
bodal.dev/
├── app/ # Next.js App Router pages
│ ├── about/ # About page
│ ├── blog/ # Blog listing page
│ ├── contact/ # Contact page
│ ├── projects/ # Projects page
│ └── layout.tsx # Root layout with navigation
├── content/ # Markdown/MDX content
│ └── blog/ # Blog posts
├── lib/ # Utility functions
│ └── blog.ts # Blog post utilities
├── public/ # Static assets
│ └── CNAME # GitHub Pages custom domain
└── .github/
└── workflows/ # GitHub Actions deployment
- Create a new markdown file in
content/blog/ - Add frontmatter with required fields:
---
title: Your Post Title
date: 2024-08-02
excerpt: A brief description of your post
---
Your content here...- The post will automatically appear in the blog listing
- Markdown (.md) files
- MDX (.mdx) files for interactive content
- Code syntax highlighting
- Images and media
The site automatically deploys to GitHub Pages when changes are pushed to the main branch.
# Build the static site
bun run build
# The output will be in the 'out' directory- Ensure GitHub Pages is enabled in your repository settings
- Set source to "GitHub Actions"
- The custom domain is configured via
public/CNAME
Edit CSS variables in app/globals.css:
- Light theme:
:root - Dark theme:
@media (prefers-color-scheme: dark)
Update the navigation in app/layout.tsx
Site metadata is configured in app/layout.tsx
See CONTRIBUTING.md for contribution guidelines.
This project is open source and available under the MIT License.# Test Bun Workflow