A personal blog built with Next.js, featuring technical content on TypeScript, Python, Fintech, Leadership, and Wellbeing.
- Framework: Next.js 13
- Styling: Tailwind CSS
- Content: Markdown files
- Deployment: GitHub Pages (static export)
- Language: JavaScript/TypeScript
- Node.js 18+
- npm or yarn
# Install dependencies
npm install# Run development server
npm run devThe site will be available at http://localhost:3000
# Generate posts JSON and build for production
npm run buildThe static site will be generated in the out/ directory.
# Build static export
npm run export├── config/ # Configuration files
│ ├── config.json # Site configuration
│ ├── menu.json # Navigation menu
│ ├── social.json # Social media links
│ └── theme.json # Theme configuration
├── content/ # Content files
│ ├── posts/ # Blog posts (Markdown)
│ ├── contact.md # Contact page
│ └── 404.md # 404 page
├── layouts/ # Layout components
│ ├── components/ # Reusable components
│ ├── partials/ # Partial layouts
│ └── shortcodes/ # Markdown shortcodes
├── lib/ # Utility functions
│ ├── jsonGenerator.js # Generates posts.json from markdown
│ └── utils/ # Helper utilities
├── pages/ # Next.js pages
│ ├── index.js # Homepage
│ ├── posts/ # Post pages
│ └── categories/ # Category pages
└── styles/ # SCSS stylesheets
- Create a new Markdown file in
content/posts/ - Add frontmatter:
---
title: "Your Post Title"
date: 2025-12-25T05:00:00Z
categories:
- TypeScript
- Fintech
draft: false
---
Your post content here...- Run
npm run devto regenerate posts.json and see your new post
Edit config/config.json to update:
- Site title and metadata
- Profile information
- Pagination settings
- Blog folder name
Edit config/menu.json to modify the navigation menu.
Edit config/social.json to update social media links and contact information.
This site is configured for GitHub Pages deployment using GitHub Actions.
- Push to the
mainbranch - GitHub Actions will automatically:
- Generate posts.json
- Build the Next.js site
- Deploy to GitHub Pages
# Build the site
npm run build
# The static files will be in the 'out' directory
# Upload these to your GitHub Pages repository- ✅ Markdown-based blog posts
- ✅ Category filtering
- ✅ Pagination
- ✅ Dark/Light theme toggle
- ✅ Responsive design
- ✅ SEO optimized
- ✅ Static site generation
- ✅ GitHub Pages compatible
Private - All rights reserved
Donato Perconti
Engineering Executive | Health, Wellness, and Fintech
- Blog: dperconti.github.io
- Email: donato.perconti@gmail.com