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.
- Built with modern JavaScript, using tools and frameworks like create-react-app, React-Router, and SCSS.
- Automated workflows via GitHub Actions.
- And more!
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].
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 >= v16. 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 v16 or higher:
nvm install node --version
-
Install dependencies:
npm install
-
Start the application:
npm start
By default, the application should be available at http://localhost:3000/.
- Update the environment variables and Git remote URL in
.github/workflows/github-pages.yml
. - Adjust the
homepage
value inpackage.json
based on your hosting preferences. - 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.
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.
- Initial template from Future Imperfect by @ajlkn for HTML5 UP.
- Special thanks to @typpo for tirelessly answering all of my node.js and react questions.
- Kudos to @notrueblood[1] and @sjhsieh[2] for their constructive feedback.
- add youtube channel tag in src/data/contact.js