Welcome to my personal website! This is an MIT licensed Next.js-based Jamstack application. It offers a simple interface, easy modifications, static export capabilities, and free automatic deployments via GitHub Pages.
Want to create your own personal website based on this project? You can set it up in as little as 30 minutes! Follow the setup instructions below and check out the detailed guide and checklist on adapting this project to your needs. If you encounter any challenges, donβt hesitate to contact me through an issue or email at help@mldangelo.com.
Your contributions are warmly welcomed! If you wish to contribute, please review the design goals, roadmap, and contributing guidelines. For any bugs or suggestions, you can reach out via email, submit a pull request (Iβd be happy to get you a coffee as a thank-you!), or open an issue.
Ensure you have node >= v20. Optionally, use nvm to manage node versions.
Clone the repository:
git clone git://github.com/mldangelo/personal-site.git
cd personal-site
(Optional) Ensure youβre on Node v20 or higher:
nvm install
node --version
Install dependencies:
npm install
Start the development server:
npm run dev
By default, the application will be available at http://localhost:3000/.
Build the static export:
npm run build
The build process automatically creates a static export in the out/
directory.
Preview the production build locally:
npm run start
Update the environment variables and Git remote URL in .github/workflows/github-pages.yml
.
Enable GitHub Actions and Pages for your repository.
Push to the main
branch to trigger automatic deployment.
git add .
git commit -m "Deploy to GitHub Pages"
git push origin main
You can export the site as static HTML to host anywhere:
npm run build
The static files will be automatically generated in the out/
directory.
npm run lint # Run ESLint
npm run type-check # Run TypeScript type checking
npm run format # Format code with Prettier
npm run format:check # Check code formatting
npm test # Run Jest tests
src/data/
with your information.public/images/
with your own.src/static/css/libs/_vars.scss
.