personal site

My personal website - built with React, React-Router, React-Snap for Static-Export, and GitHub Pages.

632
504
SCSS

Personal Website

Welcome to my personal website! This is an MIT licensed React-based Jamstack application. It offers a simple interface, easy modifications, static export capabilities, and free automatic deployments via GitHub Pages.

πŸš€ Features

πŸ›  Adapting this Project

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 [email protected].

🀝 Contributing

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.

πŸ”§ Dependencies

Ensure you have node >= v16. Optionally, use nvm to manage node versions.

πŸš€ Setup and Running

  1. Clone the repository:

    git clone git://github.com/mldangelo/personal-site.git
    cd personal-site
    
  2. (Optional) Ensure you’re on Node v16 or higher:

    nvm install
    node --version
    
  3. Install dependencies:

    npm install
    
  4. Start the application:

    npm start
    

By default, the application should be available at http://localhost:3000/.

🚒 Deploying

Deploying to GitHub Pages

  1. Update the environment variables and Git remote URL in .github/workflows/github-pages.yml.
  2. Adjust the homepage value in package.json based on your hosting preferences.
  3. Planning on using a custom domain? Update public/CNAME. Otherwise, remove it.

After making a commit to main, simply push your changes, and the deployment will be handled automatically.

Static Export

For a static export without deploying to GitHub Pages:

  • Remove or disable .github/workflows/github-pages.yml.

  • Execute:

    npm run predeploy
    

This will generate a static version in personal-site/build/ which you can host or deploy to a CDN.

πŸ™Œ Acknowledgements