|
1 | | -# Instructions Agent (GitHub Copilot) |
| 1 | +# Agent Instructions (GitHub Copilot) |
2 | 2 |
|
3 | | -Ce fichier regroupe les connaissances contextuelles du repo pour aider les agents IA (Copilot, etc.) à comprendre l'environnement technique de ce portfolio/brag document. |
| 3 | +This file contains the contextual knowledge of the repo to help AI agents (Copilot, etc.) understand the technical environment of this portfolio/brag document. |
4 | 4 |
|
5 | | -## Stack Technique |
6 | | -- **Générateur de site statique :** Jekyll |
7 | | -- **Données :** JSON (`_data/brag.json`, `_data/talks.json`, etc.) |
8 | | -- **Templates :** Liquid |
9 | | -- **Style :** Custom CSS / Glassmorphism (via `design-tokens.css` et `default.html`) |
| 5 | +## Tech Stack |
| 6 | +- **Static Site Generator:** Jekyll |
| 7 | +- **Data:** JSON (`_data/brag.json`, `_data/talks.json`, etc.) |
| 8 | +- **Templates:** Liquid |
| 9 | +- **Styling:** Custom CSS / Glassmorphism (via `design-tokens.css` and `default.html`) |
10 | 10 |
|
11 | | -## Démarrer l'environnement de développement en local |
| 11 | +## Starting the local development environment |
12 | 12 |
|
13 | | -Pour prévisualiser le site et travailler dessus en local, **il ne faut pas faire un `jekyll serve` classique**. |
14 | | -Le projet utilise Docker pour éviter de polluer l'environnement de l'hôte avec Ruby/Jekyll. De plus, l'image Docker officielle `jekyll/jekyll` utilise une version récente de Ruby qui n'inclut plus nativement la dépendance `webrick`. |
| 13 | +To preview and work on the site locally, **do not run a classic `jekyll serve`**. |
| 14 | +The project uses Docker to avoid polluting the host environment with Ruby/Jekyll. Furthermore, the official Docker image `jekyll/jekyll` uses a recent Ruby version that no longer includes the `webrick` dependency natively. |
15 | 15 |
|
16 | | -**Commande officielle à utiliser pour démarrer le serveur (avec Livereload) :** |
| 16 | +**Official command to start the server (with Livereload):** |
17 | 17 |
|
18 | 18 | ```bash |
19 | 19 | docker run --rm -v "$PWD:/srv/jekyll" -p 4000:4000 -p 35729:35729 --entrypoint bash jekyll/jekyll -c "gem install webrick && jekyll serve --livereload --host 0.0.0.0" |
20 | 20 | ``` |
21 | 21 |
|
22 | | -### Explications de la commande pour le debug |
23 | | -1. `--rm` : supprime le conteneur quand on l'arrête. |
24 | | -2. `-v "$PWD:/srv/jekyll"` : monte le dossier courant dans le serveur. |
25 | | -3. `-p 4000:4000` : ouvre le port principal du serveur web Jekyll. |
26 | | -4. `-p 35729:35729` : ouvre le port permettant le `--livereload` (rechargement automatique de la page lors d'une modification). |
27 | | -5. `--entrypoint bash ... -c "gem install webrick && ..."` : écrase le point d'entrée de l'image pour forcer l'installation de `webrick` avant de démarrer Jekyll. |
28 | | -6. `--host 0.0.0.0` : obligatoire à l'intérieur d'un conteneur Docker pour que le site soit accessible depuis la machine hôte via `localhost:4000`. |
| 22 | +### Command breakdown for debugging |
| 23 | +1. `--rm`: removes the container when stopped. |
| 24 | +2. `-v "$PWD:/srv/jekyll"`: mounts the current directory into the server. |
| 25 | +3. `-p 4000:4000`: exposes the main Jekyll web server port. |
| 26 | +4. `-p 35729:35729`: exposes the port for `--livereload` (auto-refresh page on file changes). |
| 27 | +5. `--entrypoint bash ... -c "gem install webrick && ..."`: overrides the image entrypoint to force the installation of `webrick` before starting Jekyll. |
| 28 | +6. `--host 0.0.0.0`: mandatory inside a Docker container so the site is accessible from the host machine via `localhost:4000`. |
29 | 29 |
|
30 | 30 | ## Git & Cache |
31 | | -Les répertoires générés par la compilation locale (`_site/`, `.jekyll-cache/`, etc.) sont déjà ignorés dans le `.gitignore`. Ne jamais les commiter. |
| 31 | +Directories generated by the local build (`_site/`, `.jekyll-cache/`, etc.) are already ignored in `.gitignore`. Never commit them. |
0 commit comments