Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 2.33 KB

README.md

File metadata and controls

81 lines (56 loc) · 2.33 KB

Personal website

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.

Development and deployment

Testing and building for this system is pretty easy, just follow the instructions below.

🔧 Development

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

🔨 Building

To build for production, run:

gatsby build

To test the build locally, run:

gatsby serve

🚀 Deployment

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.

🦾 Automation via actions

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

License

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).