This repository contains the code that powers my personal webpage.
You can see the production version live at
www.bengodfrey.net, which is built from the
master
branch.
The site is built upon modern web technologies, built upon software from these awesome open source projects:
- Jekyll – static site builder
- Liquid – templating engine
- Bootstrap 4 – interface framework
- PrefixFree – client side CSS vendor prefixing
The site is powered by these services:
- GitHub Pages – hosting provider
- GitHub Actions – continuous integration
- Disqus – comment platform provider
Perform the following steps to set up a machine for local development.
-
Install Docker Desktop.
-
Install Python dependencies.
pip3 install -r scripts/requirements.txt
This is required for the pre-commit hooks to run.
-
Install Node
brew install node
This is required for Prettier to work.
-
Configure Git hooks.
pre-commit install
-
Configure VSCode editor
-
Install Extensions
editorconfig.editorconfig
esbenp.prettier-vscode
davidanson.vscode-markdownlint
timonwong.shellcheck
-
Use these settings to enable automatic formatting of project files:
"[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode", }, "[json]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "python.formatting.provider": "black", "editor.formatOnSave": true
-
Since the local webserver will run inside a Docker container, it is no longer necessary to install Ruby or vendor RubyGems on your host system.
However, should you wish to do so, you may:
-
Install Ruby via RVM
url -sSL https://get.rvm.io | bash -s stable rvm install 2.5.3
-
Install Bundler to handle Ruby dependencies
gem install bundler
-
Install Ruby dependencies.
bundle install