See: https://cloudsofsushi.github.io/.
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.
To download the repository and install dependencies, run the following commands:
git clone https://github.com/cloudsofsushi/cloudsofsushi.github.io.git # replace [cloudsofsushi] with your github username if you fork first.
cd cloudsofsushi.github.io
nvm install # this is optional - make sure you're running >= node 12 with `node --version`
npm install
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/.
This website has been created in such a way that one doesn’t encounter any trouble adapting this website. But there are still bugs. I am sorry. So if you find a bug, please email me (sushmita7988@gmail.com), submit a pull request (I’ll buy you a coffee as a thank you), or submit an issue.
You may wish to fork this repository or remove my remote origin and add your own. Go here for more information on how to change remotes.
src/App.js
. This file contains all of our route definitions. If you wish to add or remove a page, you should do so here.homepage
in package.json
to reflect where you plan to host the site. This is important for static exporting via react-snap. This also changes your path when developing locally. For example, a homepage of cloudsofsushi.github.io
places the site at localhost:3000
and a homepage of https://cloudsofsushi.github.io/personal-site/
places the site at localhost:3000/personal-site/
. If you plan to host at on a path such as https://[your-github-username].github.io/[your-repo-name]
, you should set this now so that your development environment mirrors your production environment.Create a .env
file. To do this, run:
cp sample.env .env
and set values as appropriate. Most people will not need to modify this file.
I recommend keeping the project running as you go (with npm start
) to help correct mistakes quickly.
src/components/Template/SideBar.js
.public/images/me.jpg
. Your image should be approximately 256 x 256 pixels. Larger and smaller is ok, but avoid very large images to save bandwidth. If you need help resizing your image, Adobe makes a great online tool here.src/pages/Index.js
.src/data/resume/
next.src/data/
directory.Nirmal Singh
and change values to your name.public/index.html
. This website may be helpful..github/workflows/github-pages.yml
.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]/
public/CNAME
. If you don’t, delete public/CNAME
.Make a commit to main
and push your changes. That’s it.
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.
This project is a major derivative of Michael d’Angelo work personal-site. You should check it out.