Skip to content

cevi/Cevi-Tools-Webpage

Repository files navigation

Cevi Tools Webpage

This repo contains the content of the cevi.tools webpage. Cevi Tools is a collection of useful tools developed by the Cevi community.

Local Development (using Docker)

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.

Local Development (with local ruby installation)

  1. Clone the repo to a local folder
  2. Install jekyll following the instructions on the official webpage.
  3. Install your bundles once by running the following commands:
$ bundle config set --local path 'vendor/bundle'
$ bundle install
  1. Serve the webpage locally by running the following command:
$ bundle exec jekyll serve

Deployment

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  │
                                                      │               │ ◄────────► │              │
                                                      └───────────────┘            └──────────────┘