Skip to content

stephane-klein/sklein.xyz

Repository files navigation

sklein.xyz

https://sklein.xyz source code.

Foreword / warning

I wouldn't recommend taking inspiration from the architecture of this project. Why not? I'm modifying this project occasionally, without any real direction. I'm implementing a series of "quick wins" that make the project incoherent.
Little by little, I'm trying to refactor the project, to make it less " weird ".

As a result, this project should not be used as an example!

Avertissement (french)

Je vous déconseille de vous inspirer de l'architecture de ce projet. Pourquoi ? Je modifie ce projet ponctuellement, sans vraiment de direction, j'implémente des séries de "quick wins" qui rendent le projet non cohérent.
J'essaie petit à petit de refactorer le projet, pour le rendre moins "tordu".

Par conséquent, ce projet ne doit pas vous servir d'exemple !

Domain name

sklein.xyz domain name registrar: Gandi (I would like transfer it)
sklein.xyz DNS server: Gandi, managed manually.

Local development

$ mise install
$ bun install
$ docker compose up -d --wait
$ ./init-or-upgrade-db.js
$ ./load-contents-to-db.js
$ bun --bun run dev

Go to http://127.0.0.1:5173/

Git clone private contents

$ git clone git@github.com:stephane-klein/sklein.xyz-private.git private

Upload public content in production

$ cd deployment
$ ./scripts/open_ssh_tunnel.sh
$ ../load-contents-to-db.js

Upload private content in production

$ cd deployment
$ ./scripts/open_ssh_tunnel.sh
$ ../load-file-to-db.js ../private/foobar.md

Generate lighthouse report

Prerequisite: install Chrome

$ bun run lighthouse

Build Docker image

$ ./scripts/build-docker-image.sh

Next see docker-playground/.

Deployment

$ ./scripts/deploy.sh

Guideline

I wish to follow as much as possible the https://brutalist-web.design/ recommandations.

Web analytics

https://sklein.xyz is analyzed by https://www.goatcounter.com/ at https://gc.sklein.xyz

How can I filter and ignore visits to my own website?

Install HTTP Header Mangler on my Firefox Desktop and Android devices and setup this configuration:

sklein.xyz
User-Agent = stephane-klein