This is a personal website created using GatsbyJS (current) and React. I have a blog that is updated very sporadically, and a portfolio on research and work projects.
It is a pretty simple system, powered off markdown files, pulling remote images occasionally and using a few plugins to render maps and iframed content.
I use:
- LeafletJS for maps
- Sketchfab embeds for 3d models
- Bootstrap 5.3 for styling
- Graphql for querying the markdown files
Text and image content is stored within the content
folder, with each section having its own folder.
Images are stored in the content/images
folder, with each year having its own folder. Some video is rendered
directly, but most is embedded from YouTube.
Testing and building for this system is pretty easy, just follow the instructions below.
To run this system locally for development, you will need to have NodeJS installed.
Once you have that, you can run:
npm install
gatsby develop
To build for production, run:
gatsby build
To test the build locally, run:
gatsby serve
To deploy to github pages, I use the following command:
npm run deploy
This aliases to gh-pages -d public
and will deploy the site to the gh-pages
branch of the repository.
This site is automatically built and deployed using GitHub actions. The workflow is in .github/workflows/deploy-on-commit.yml
and
is triggered on push to the main
branch. Recently this started to fail with this error, which I found hard to track down:
ERR! npm ERR! command sh -c husky install
I have added an extra step to install husky and correct permissions.
- name: Set up Gatsby
run: |
npm install husky -g
npx husky install
chmod +x .husky/*
npm install -D @playwright/test@latest
npx playwright install
npm install --verbose
The code for this site is licensed under the MIT license, which you can find in the LICENSE file. The content for this site is CC0 licensed, unless otherwise stated (some images will have stronger licenses, but I will try to make this clear in the post itself).