A modern, static resume site built with Next.js 14, React, TypeScript, and Tailwind CSS. Deploys to GitHub Pages.
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build.
├── app/ # Next.js App Router
│ ├── globals.css # Global styles with CSS variables
│ ├── layout.tsx # Root layout with dark mode toggle
│ └── page.tsx # Main resume page
├── components/ # React components
│ ├── Header.tsx # Name, title, social links
│ ├── About.tsx # Profile image and bio
│ ├── Experience.tsx # Work history
│ ├── Footer.tsx # Contact footer
│ └── ThemeToggle.tsx # Dark mode toggle button
├── lib/ # Utilities and data
│ ├── data.ts # Resume content (edit this!)
│ └── types.ts # TypeScript types
├── public/ # Static assets
│ └── assets/ # Images (dan.jpg)
└── dist/ # Build output (GitHub Pages)
All resume content is in lib/data.ts. Edit this file to update:
- Personal info (name, title, email, social links)
- About section content
- Work experience
- Colors: Edit CSS variables in
app/globals.css - Typography: Space Grotesk (display) and Plus Jakarta Sans (body), loaded from Google Fonts in
app/layout.tsx - Dark mode: Automatic via CSS variables + localStorage
Dark mode is automatically enabled based on:
- Saved user preference (localStorage)
- System preference (prefers-color-scheme)
Toggle with the sun/moon button in the top-right corner.
- Push to GitHub
- Go to Settings > Pages
- Set source to "GitHub Actions"
- Push to
masterormodern-rewrite— the workflow in.github/workflows/deploy.ymlbuilds the site and deploys it automatically
The dist/ folder contains the static export ready for deployment:
npm run build
# Output goes to dist/| Feature | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Icons | Lucide React |
| Markdown | react-markdown |
This is a complete rewrite of the original Jekyll-based modern-resume-theme:
- No Ruby/Jekyll: Pure JavaScript/TypeScript
- Modern tooling: Next.js 14, React 18, Tailwind CSS
- Better dev experience: Fast HMR, TypeScript support
- Cleaner build: Single
npm run buildcommand - Smaller output: Optimized static export
- Same visual design and layout
- Dark mode support
- Print-friendly styles
- Responsive design
- All original content migrated
| Jekyll (Old) | Next.js (New) |
|---|---|
_config.yml |
lib/data.ts |
_data/experience.yml |
lib/data.ts - getExperience() |
_layouts/default.html |
app/layout.tsx |
_includes/*.html |
components/*.tsx |
_sass/*.scss |
app/globals.css (Tailwind) |
assets/main.scss |
app/globals.css |
MIT