Awesome Open Source
Awesome Open Source

Personal Website

See: mldangelo.com.

My personal website. An MIT licensed, simple, easily modifiable, statically-exportable React, Jamstack application that deploys automatically for free using github pages. Built using modern javascript, based on create-react-app with React-Router, SCSS, github actions, and many other useful technologies.

Adapting this Project

Building your own personal website from this project can take as little as 30 minutes. Follow the setup instructions below and review detailed notes and a checklist on adapting this project here. Please feel free to reach out to me by filing an issue or emailing me at [email protected] for help configuring your project.

Contributing

Contributions are actively encouraged. Please review the design goals, roadmap, and contributing guidelines. If you find a bug, please email me, submit a pull request (I'll buy you a coffee as a thank you), or submit an issue.

Dependencies

Tested with: node >= v12 and optional nvm for managing node versions.

Set up

To download the repository and install dependencies, run the following commands:

git clone git://github.com/mldangelo/personal-site.git # replace [mldangelo] with your github username if you fork first.
cd personal-site
nvm install # this is optional - make sure you're running >= node 12 with `node --version`
npm install

Running

Run the following command to build the react application and serve it with fast refresh:

npm start

Your web browser should automatically open to <ip>:<port>:<path> default: http://localhost:3000/.

Deploying

Deploying to Github Pages

  1. Modify the environmental variables and git remote url in .github/workflows/github-pages.yml.
  2. Modify homepage in package.json to point to where you plan to host your site. If you do not plan on using a custom domain name, it should look like https://[your-gh-username].github.io/[repository-name - default:personal-site]/
  3. If you plan on using a custom domain, modify public/CNAME. If you don't, delete public/CNAME.

Make a commit to main and push your changes. That's it.

Static Export

To statically export the site without deploying to github pages, delete or disable .github/workflows/github-pages.yml and run npm run predeploy. This generates a static export of the website as personal-site/build/. Copy this and self-host or deploy to a CDN.

Acknowledgements


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,557,240
Reactjs (73,124
Scss (17,145
Webpack (9,769
Serverless (4,797
Portfolio (4,400
Github Pages (2,669
Personal Website (2,249
Portfolio Website (2,188
Resume (1,573
Resume Website (224
Related Projects