This repo contains the content of the cevi.tools webpage. Cevi Tools is a collection of useful tools developed by the Cevi community.
You can preview your changes locally using docker. Clone the Repo, install docker and run:
docker compose watch
Run bundler
export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
docker run --user $USER_ID:$GROUP_ID -it --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:3.2 sh -c "bundle config set --local path 'vendor/bundle' && bundle install"
Run jekyll build locally (using the default ruby image)
docker run --user $USER_ID:$GROUP_ID -it --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:3.2 sh -c "bundle config set --local path 'vendor/bundle' && bundle install && bundle exec jekyll build --trace"
Run jekyll build locally (same as github action)
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app jekyll/builder:latest jekyll build --trace
The preview page can be accessed on http://localhost:4000.
- Clone the repo to a local folder
- Install jekyll following the instructions on the official webpage.
- Install your bundles once by running the following commands:
$ bundle config set --local path 'vendor/bundle'
$ bundle install
- Serve the webpage locally by running the following command:
$ bundle exec jekyll serve
Our webpage gets served directly from the gh-pages branch, which contains the plain HTML and CSS source. Those files are generated automatically upon committing to the main branch by a GitHub-Action script. Therefore, you do not want to commit directly to the gh-pages branch.
For every pull request (to the main branch), GitHub Actions will create a preview such that you can check your changes before releasing them by merging your changes into main.
┌───────────────┐ ┌───────────────┐
│ │ merge │ │
your code ───────► │ pull request │ ───────────► │ main branch │
changes │ │ │ │
└───────┬───────┘ └───────┬───────┘
│ │
│ │ generates sources
│ │ automatically using
▼ │ a GitHub-Action script
│
generates a preview ▼
using Firebase ┌───────────────┐ ┌──────────────┐
│ │ │ │
│ gh pages │ codebase │ webpage │
│ branch │ for │ cevi.tools │
│ │ ◄────────► │ │
└───────────────┘ └──────────────┘