This project is built with the following technologies:
- Jekyll, for building the static content using HTML templates and Markdown files.
- Dagger, for containerized workflows that can be run both locally and in CI.
- GitHub Actions, for building and deploying the project.
- GitHub Pages, for hosting the project.
In order to run the project on your local machine, you'll need the following:
- Dagger CLI (v0.15.3+): This is needed for running Dagger functions.
- EditorConfig: This is a tool for helping maintain consistent code formatting between different editors. Some editors/IDEs come with it preinstalled, but for others, you'll need to download it as an extension. When it's installed, it will automatically read the project's
.editorconfig
file and use the settings it specifies.
To run the project locally, run the command dagger call dev-mode up
at the root directory. This will build the static content and serve it at http://localhost:4000.
Note: Because of current limitations in Dagger, this command will not watch the source files and recompile/reload the static content.
To build the project, run the command dagger call build
at the root directory.
To update the dependencies that are specified by src/Gemfile.lock
, run the command dagger call update-dependencies
at the root directory.
To update the Jekyll version, do the following:
- Modify
src/Gemfile
to specify the version of Jekyll you want. - Modify the version of the Jekyll Docker image in the
container
function indagger/src/index.ts
. - Delete the contents of
src/Gemfile.lock
, to allow the dependencies to be regenerated based on the new Jekyll and github-pages versions. Do not remove the file entirely, as this will prevent the Docker image from building.
The project is automatically built (using the Dagger build
function) and then deployed to GitHub Pages when a commit is pushed to the master
branch.