# hswro.org website

## Common tasks

### Testing the website locally

Assuming that [you have installed Jekyll properly](https://jekyllrb.com/docs/installation/), run: `bundle exec jekyll serve`

Alternative is to use docker/podman. In the repo directory:

```
docker run -p="4000:4000" --volume="$PWD:/data:Z" -it git.hswro.org/hswro/hswro_org_build:latest
```

Preview should be available on `http://localhost:4000` .

### Doesn't work for me or I'm too lazy to do it

Forgejo Actions should generate it for you, then you should be able to download the compressed website ready for viewing locally.

### Speaking of which, how to change something in Forgejo Actions

Edit `.forgejo/workflows/build-jekyll.yml` keeping in mind that Forgejo Actions is based on the most unhinged piece of techbro engineering called GitHub Actions, so you are not going to enjoy it if you've used any sane CI before.

### Editing the website

Edit the markdown file which you want to edit. As of now there are two files: `index.md` and `kontakt.md`.

### Editing the thingies that show the places in the hackerspace on the main page

Check out the `_data/features.json` file.

### Editing the layout of the main page

Edit `_layouts/home.html`

### Editing the menu on top or on the bottom

Edit `_data/menus.yml`

### Rebuilding and pushing the build/serve images

You need to be authenticated to do this. Go to [Applications](https://git.hswro.org/user/settings/applications),
create a new Access Token with Access set to All and scope of Packages: Read and Write. Run `docker login git.hswro.org`,
enter your Forgejo username, use the Access Token as a password. From there you can publish images:

```
docker build -t git.hswro.org/hswro/hswro_org_build -f docker/build.Dockerfile .
docker push git.hswro.org/hswro/hswro_org_build:latest
```

```
docker build -t git.hswro.org/hswro/hswro_org_serve_base:caddy -f docker/serve_base.Dockerfile .
docker push git.hswro.org/hswro/hswro_org_serve_base:caddy
```
