New website for the CF-Selbsthilfe Frankfurt e.V.


A few weeks ago the CF-Selbsthilfe Frankfurt e.V. reached out to me for help with their website. They are a non-profit organization that supports people with cystic fibrosis and their families in Frankfurt and the surrounding area, including my family when I was diagnosed. Naturally I offered to help them without hesitation.

I’m happy to announce, that their new site is now live here: cf-selbsthilfe.de.

Their page is built similarly to this blog. Jekyll and Bootstrap are used for a responsive layout and the final page is hosted on GitHub Pages. But this time the task of hosting this site was a bit more intricate. Posts are split into events and actual posts using categories. Both are listed on seperate pages and need pagination, which the jekyll-paginate plugin can not provide. To be able to use the jekyll-paginate-v2 plugin, which solves most of these problems, the page needs to be built using a GitHub Actions workflow.

Several actions to built Jekyll pages already exist and all of them have different benefits or disadvantages. I chose jekyll-action-ts because it uses node.js instead of a docker container and automatically formats the code using prettier.io. To keep the list of upcoming events up-to-date the page is rebuild once a week using a cron job.

Events are displayed in a calendar, which is built using FullCalendar. For that a JSON file is generated formating all necessary data to be able to display the events in the calendar. Additionally FullCalendar can display events loaded from a Google Calendar or from iCalendar files, but beacause of privacy concerns I decided against that for now.

To use the associations top-level domain without publishing my blog on their domain I had to move the code repository to its own GitHub Organization. The code is open sourced under the GNU GPLv3 license and is accessible through its repository.

The whole project took me about two weeks and I’m really happy with the result!

This post is tagged with: cystic-fibrosis