Skip to main content
  1. Open Source/

website-favre

Static Site Gen Repo for my Personal Website #

A simple website with a list of all of my open source projects and articles I wrote. Can be found on favr.dev. Uses Hugo as static site generator.

Screenshot Website

Prepare #

Install Hugo #

  • Windows choco install hugo-extended
  • Mac brew install hugo

Install Node #

Currently, this project uses Node 24.15.0 (lts). It is recommended to use a node version manager like nvm, then you can just run

nvm install && nvm use

in the project root dir to install and use the correct version.

Install pnpm #

This project uses pnpm as package manager. You can install it with

corepack enable pnpm

Cloning Project with Submodule #

This project uses a git submodule for including the theme. To correctly clone it you need to do

git clone https://github.com/patrickfav/website-favre.git
git submodule init
git submodule update

Build & Run #

Set secrets #

For the downloader to work with all features one must set 2 environmental variables

GITHUB_TOKEN=... # a GitHub Personal Access Token - https://docs.github.com/de/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
FIREBASE_SERVICE_ACCOUNT_JSON= {...} # a Firebase service account json file - https://firebase.google.com/support/guides/service-accounts

where the second, the Firebase service account json, is optional and not providing it will disable the stats persisting feature.

Prepare Content Sync #

Install and link everything and build the js files from typescript with

cd content-downloader
pnpm package

then either run it with

node ./dist/index.js ./content/

which will populate the directories content/opensource and content/articles.

Linting #

This project uses eslint to validate the code:

cd content-downloader
pnpm lint

Using the build & run Docker Image #

A docker image that builds everything, updates the content and then can be used to locally serve the website with nginx can be created by doing:

docker build --no-cache --progress=plain -t websitefavre:latest .
docker run -p 8080:80 websitefavre:latest

and then you can access the page with http://localhost:8080

License #

Proprietary: Patrick Favre 2026

There's no articles to list here yet.

Patrick Favre
Author
Patrick Favre
Experienced Lead Developer focused on designing robust architectures and delivering scalable solutions in complex enterprise environments. Strong background in software engineering, mobile systems, and cloud-native development, with a proven track record of building reliable, production-grade systems.