đż Chirpy - GĂ©nĂ©rateur site statique (jekyll)
Jekyll est un gĂ©nĂ©rateur de sites statiques (Static Site Generators - SSG) open source gratuit qui sâappuie sur le langage de programmation Ruby.
Archlinux - Chirpy
Ruby + Jekyll + bundler
Installer ruby
1
yay -S ruby ruby-erb
Ăvitez dâinstaller les paquets RubyGems (appelĂ©s gemmes) en tant quâutilisateur root. Au Lieu De Cela, Configurez un rĂ©pertoire dâinstallation de gemme pour votre compte utilisateur. Les Ă©lĂ©ments suivants Les commandes ajouteront des variables dâenvironnement Ă votre ~/.bashrc Fichier Ă configurer le chemin dâinstallation gemme:
1
2
3
4
# Install Ruby Gems to ~/gems
export GEM_HOME="$HOME/gems"
export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:$PATH"
source ~/.bashrc
Installez Jekyll et Bundler:
1
gem install jekyll bundler
Les versions installées
1
2
3
4
5
$ ruby -v && gem -v && bundle -v && jekyll -v
ruby 3.4.8 (2025-12-17 revision 995b59f666) +PRISM [x86_64-linux]
3.6.9
4.0.6
jekyll 4.4.1
Chirpy systĂšmes unix
recommandĂ©e pour les systĂšmes dâexploitation de type Unix
Pour les systĂšmes de type Unix, vous pouvez configurer lâenvironnement de maniĂšre native pour des performances optimales.
- Suivre le guide dâinstallation de Jekyll(en) pour installer Jekyll et vous assurer que Git est installĂ©.
- Cloner le dépÎt sur votre machine locale:
git clone https://github.com/cotes2020/jekyll-theme-chirpy.git - Si vous avez forké le thÚme, installez Node.js et exécutez
bash tools/init.shdans le répertoire racine$HOME/media/jekyll-theme-chirpypour initialiser le dépÎt. - Exécutez la commande
bundleà la racine de votre dépÎt pour installer les dépendances.
Générer le favicon
PrĂ©parez une image carrĂ©e (PNG, JPG ou SVG) dâune taille de 512x512 ou plus, puis allez Ă lâoutil en ligne Real Favicon Generator et cliquez sur le bouton Select your Favicon image pour tĂ©lĂ©charger votre fichier image.
Dans la prochaine Ă©tape, la page web affichera tous les scĂ©narios dâutilisation. Vous pouvez conserver les options par dĂ©faut, faire dĂ©filer vers le bas de la page, et cliquez sur le bouton Generate your Favicons and HTML code pour gĂ©nĂ©rer le favicon.
Télécharger et remplacer
Télécharger le paquet généré, décompresser et supprimer les deux fichiers suivants
1
2
navigateurconfig.xml
site.webmanifest
Puis copiez les fichiers dâimage restants (.PNG et .ICO) pour couvrir les fichiers originaux dans le rĂ©pertoire assets/img/favicons/ du site Jekyll.
Générer les fichiers manquants
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cd assets/img/favicons/
magick web-app-manifest-512x512.png -resize 16x16 favicon-16x16.png
magick web-app-manifest-512x512.png -resize 32x32 favicon-32x32.png
magick web-app-manifest-512x512.png -resize 150x150 mstile-150x150.png
magick web-app-manifest-512x512.png -resize 192x192 android-chrome-512x512.png
cp web-app-manifest-512x512.png android-chrome-512x512.png
# A partir d'un fichier svg
magick favicon.svg -resize 512x512 android-chrome-512x512.png
magick favicon.svg -resize 512x512 web-app-manifest-512x512.png
magick favicon.svg -resize 16x16 favicon-16x16.png
magick favicon.svg -resize 32x32 favicon-32x32.png
magick favicon.svg -resize 150x150 mstile-150x150.png
magick favicon.svg -resize 180x180 apple-touch-icon.png
magick favicon.svg -resize 192x192 android-chrome-512x512.png
magick favicon.svg favicon.ico
magick favicon.svg -resize 192x192 android-chrome-192x192.png
magick favicon.svg -resize 96x96 favicon-96x96.png
La prochaine fois que vous construisez le site, le favicon sera remplacé par une édition personnalisée.
Path bundle et jekyll
Ajouter un path pour bundle et jekyll
1
2
echo 'export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
_config.yml
Se positionner dans le dossier
1
cd ~/media/chirpy
Le fichier _config.yml
(Afficher/Cacher) _config.yml
# The Site Configuration
# Import the theme
theme: jekyll-theme-chirpy
# The language of the webpage âș http://www.lingoes.net/en/translator/langcode.htm
# If it has the same name as one of the files in folder `_data/locales`, the layout language will also be changed,
# otherwise, the layout language will use the default value of 'en'.
lang: fr-FR
# Change to your timezone âș https://zones.arilyn.cc
timezone: Europe/Paris
# jekyll-seo-tag settings âș https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
# â --------------------------
title: Yann # the main title
tagline: Tutoriels # it will display as the subtitle
description: >- # used by seo meta and the atom feed
Un thĂšme Jekyll minimal, rĂ©actif et riche en fonctionnalitĂ©s pour lâĂ©criture technique.
# Fill in the protocol & hostname for your site.
# E.g. 'https://username.github.io', note that it does not end with a '/'.
url: "https://chirpy.rnmkcy.eu"
social:
# Change to your full name.
# It will be displayed as the default author of the posts and the copyright owner in the Footer
name: Yann
# â --------------------------
# The end of `jekyll-seo-tag` settings
# Prefer color scheme setting.
#
# Note: Keep empty will follow the system prefer color by default,
# and there will be a toggle to switch the theme between dark and light
# on the bottom left of the sidebar.
#
# Available options:
#
# light â Use the light color scheme
# dark â Use the dark color scheme
#
theme_mode: # [light | dark]
# The CDN endpoint for media resources.
# Notice that once it is assigned, the CDN url
# will be added to all media resources (site avatar, posts' images, audio and video files) paths starting with '/'
#
# e.g. 'https://cdn.com'
cdn:
# the avatar on sidebar, support local or CORS resources
avatar: /assets/img/favicons/favicon-96x96.png
# boolean type, the global switch for TOC in posts.
toc: true
# Self-hosted static assets, optional âș https://github.com/cotes2020/chirpy-static-assets
assets:
self_host:
enabled: # boolean, keep empty means false
# specify the Jekyll environment, empty means both
# only works if `assets.self_host.enabled` is 'true'
env: # [development | production]
pwa:
enabled: true # The option for PWA feature (installable)
cache:
enabled: true # The option for PWA offline cache
# Paths defined here will be excluded from the PWA cache.
# Usually its value is the `baseurl` of another website that
# shares the same domain name as the current website.
deny_paths:
# - "/example" # URLs match `<SITE_URL>/example/*` will not be cached by the PWA
paginate: 10
# The base URL of your site
baseurl: ""Le fichier Gemfile $HOME/media/chirpy/Gemfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# frozen_string_literal: true
source "https://rubygems.org"
gemspec
gem "html-proofer", "~> 5.0", group: :test
platforms :windows, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
gem "wdm", "~> 0.2.0", :platforms => [:windows]
Gemfile
Supprimer , si existant, le fichier Gemfile.lock
Bundle lit le fichier Gemfile
1
bundle # Patientez ...
1
2
Bundle complete! 5 Gemfile dependencies, 64 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Info sur jekyll et créer un lien
1
bundle info jekyll
1
2
3
4
5
6
7
8
9
10
11
12
13
* jekyll (4.4.1)
Summary: A simple, blog aware, static site generator.
Homepage: https://jekyllrb.com
Source Code: https://github.com/jekyll/jekyll
Changelog: https://github.com/jekyll/jekyll/releases
Bug Tracker: https://github.com/jekyll/jekyll/issues
Path: /home/yann/.local/share/gem/ruby/3.4.0/gems/jekyll-4.4.1
Reverse Dependencies:
jekyll-archives (2.3.0) depends on jekyll (>= 3.6, < 5.0)
jekyll-include-cache (0.2.1) depends on jekyll (>= 3.7, < 5.0)
jekyll-seo-tag (2.8.0) depends on jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0) depends on jekyll (>= 3.7, < 5.0)
jekyll-theme-chirpy (7.4.1) depends on jekyll (~> 4.3)
Création des liens avec les dossiers files, images et _posts pour le générateur de site
1
2
3
ln -s $HOME/media/statique/images $HOME/media/chirpy/images
ln -s $HOME/media/statique/files $HOME/media/chirpy/files
ln -s $HOME/media/statique/_posts $HOME/media/chirpy/_posts
Liens images, files et _posts
CrĂ©ation des liens pour la rĂ©daction des documents markdown avec âReTextâ
1
2
sudo ln -s $HOME/media/statique/images /images
sudo ln -s $HOME/media/statique/files /files
GĂ©nĂ©ration dossier â_siteâ
Par défaut jekyll build génÚre le dossier _site
Destination: $HOME/sharenfs/rnmkcy/chirpy
1
2
cd ~/media/chirpy
bundle exec jekyll build --destination $HOME/sharenfs/rnmkcy/chirpy
1
2
3
4
5
6
7
8
Configuration file: $HOME/media/chirpy/_config.yml
Theme Config file: $HOME/media/chirpy/_config.yml
Source: $HOME/media/chirpy
Destination: $HOME/sharenfs/rnmkcy/chirpy
Incremental build: disabled. Enable with --incremental
Generating...
done in 129.034 seconds.
Auto-regeneration: disabled. Use --watch to enable.
Systemd chirpy.service
Créer un bash /usr/local/bin/jekyll-chirpy
1
sudo nano /usr/local/bin/jekyll-chirpy
Contenu
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
# adjust these variables for your setup
USER=yann
HOME=/home/yann
SITE_DIR=/home/yann/media/chirpy
CONFIG=_config.yml
JEKYLL_CMD="bundle exec jekyll build --incremental --watch --destination /home/yann/sharenfs/rnmkcy/chirpy"
export HOME USER
# PATH
export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:/usr/local/bin:/usr/bin:/bin"
cd "$SITE_DIR" || exit 1
exec $JEKYLL_CMD
Le rendre exécutable
1
sudo chmod +x /usr/local/bin/jekyll-chirpy
On veut générer un dossier nommé '_site' ou autre
PATH Jekyll : which bundle â $HOME/.local/share/gem/ruby/3.3.0/bin/bundle
Pour lancer le serveur chirpy au dĂ©marrage, utilisation dâun service systemd utilisateur
Les variables environnement, générer le fichier
1
env > $HOME/media/chirpy/.env_file
CrĂ©ation dâun service utilisateur âchirpyâ sous systemd
1
2
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/chirpy.service
Contenu du fichier chirpy.service
1
2
3
4
5
6
7
8
9
[Unit]
Description=service chirpy
[Service]
EnvironmentFile=/home/yann/media/chirpy/.env_file
ExecStart=/usr/local/bin/jekyll-chirpy
[Install]
WantedBy=default.target
Lancer le service chirpy :
1
2
3
systemctl --user daemon-reload
# lancement et activation
systemctl --user enable chirpy --now
Vérifier
1
systemctl --user status chirpy
dire Ă systemd que lâinstance dâun utilisateur soit tout le temps prĂ©sente, du boot au shutdown, ce qui permet dâavoir des processus (services) utilisateurs qui tournent sans avoir de session ouverte.
1
sudo loginctl enable-linger $USER
Pour observer le fonctionnement du service chirpy depuis la machine virtuelle debian
1
journalctl -f --user-unit chirpy.service
ATTENTION: Option
--incrementalne regénÚre pas la rubrique Récemment mis à jour
Pour une mise Ă jour systĂ©matique il faut supprimer lâoption--incrementalavec une incidence non nĂ©gligeable sur le temps de construction (x10) du dossier_site
Synchronisation dossier â_siteâ
Le but est de synchroniser le dossier ~/sharenfs/rnmkcy/chirpy avec le(s) serveur(s) web distant(s)
Surveillance dossier âchirpyâ
A chaque crĂ©ation, modification ou suppression dâun POST mardown le sous-dossier _site/ est reconstruit (jekyll build)
Avec les unitĂ©s de chemin, vous pouvez surveiller les fichiers et les rĂ©pertoires pour certains Ă©vĂ©nements. Si un Ă©vĂ©nement spĂ©cifique se produit, une unitĂ© de service est exĂ©cutĂ©e, et elle porte gĂ©nĂ©ralement le mĂȘme nom que lâunitĂ© de chemin
Nous allons surveiller dans le dossier $HOME/sharenfs/rnmkcy/chirpy/ toute modification du fichier sitemap.xml qui entrainera lâexĂ©cution dâun script
Dans le répertoire systemd utilisateur nous créons une unité de cheminement media_chirpy_site.path
1
nano ~/.config/systemd/user/media_chirpy_site.path
1
2
3
4
5
6
7
8
9
[Unit]
Description=Surveiller sitemap.xml pour les changements
[Path]
PathChanged=/home/yann/sharenfs/rnmkcy/chirpy/sitemap.xml
Unit=media_chirpy_site.service
[Install]
WantedBy=default.target
Dans la section [Path], PathChanged= indique le chemin absolu du fichier Ă surveiller, tandis que Unit= indique lâunitĂ© de service Ă exĂ©cuter si le fichier change. Cette unitĂ© (media_chirpy_site.path) doit ĂȘtre lancĂ©e lorsque le systĂšme est en mode multi-utilisateur.
Ensuite, nous crĂ©ons lâunitĂ© de service correspondante, media_chirpy_site.service, dans le rĂ©pertoire ~/.config/systemd/user/
Si le fichier sitemap.xml change (câest-Ă -dire quâil est Ă la fois Ă©crit et fermĂ©), lâunitĂ© de service suivante sera appelĂ©e pour exĂ©cuter le script spĂ©cifiĂ© :
1
nano ~/.config/systemd/user/media_chirpy_site.service
1
2
3
4
5
[Unit]
Description="Exécute le script si site.xml a été modifié."
[Service]
ExecStart=/home/yann/scripts/media_chirpy_site.sh
Le script $HOME/scripts/media_chirpy_site.sh lance une synchronisation locale distante via rsync ssh
Etendre Réduire media_chirpy_site.sh
#!/bin/bash
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Chaque modification du fichier site.xml dans le dossier local $HOME/sharenfs/rnmkcy/chirpy/
# déclenche une synchronisation du dossier local avec le dossier distant '/home/yunohost.multimedia/share/Divers/_site'
# des serveurs VPS Yunohost
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Fonction pour tester si le serveur est présent
# Host=$1 et Port=$2
# Réponse $?=0 -> OK $?=1 -> NOK
host_ok () {
nc -4 -d -z -w 1 $1 $2 &> /dev/null
}
synchro () {
# Synchronisation locale distante du dossier _site
host_ok $SERVER $PORT
if [[ $? == 0 ]]
then
echo 'rsync -avz --progress --stats --human-readable --delete -e "ssh -p '$PORT' -i '$PRIVKEY'" '$REPLOC' '$USERDIS':'$REPDIS'/Divers/'
rsync -avz --progress --stats --human-readable --delete --rsync-path="$RSYNCMOD" -e "ssh -p $PORT -i $PRIVKEY" $REPLOC $USERDIS:$REPDIS/Divers/ > /dev/null
# Analyse résultat de la commande rsync
if [ ! $? -eq 0 ]; then
#echo "Synchro $REPLOC avec $SERVER -> OK" | systemd-cat -t chirpy -p info
#echo "Synchro $REPLOC avec $SERVER -> OK"
#else
echo "Synchro $REPLOC avec $SERVER -> ERREUR" | systemd-cat -t chirpy -p emerg
#echo "Synchro $REPLOC avec $SERVER -> ERREUR"
fi
else
echo "Site $SERVER port $PORT Inaccessible !" | systemd-cat -t chirpy -p emerg
#echo "Site $SERVER port $PORT Inaccessible !"
fi
}
#*******************************************************************
#
# DEPART SCRIPT
#
#*******************************************************************
# Tester la présence du fichier
if [ ! -f $HOME/scripts/media_chirpy_site.csv ]; then
echo "Fichier media_chirpy_site.csv inexistant!" | systemd-cat -t chirpy -p emerg
exit 1
fi
# Mesure temps exécution
begin=$(date +"%s")
echo "***DEPART*** Exécution script $0"
echo "***DEPART*** Exécution script $0" | systemd-cat -t chirpy -p info
#echo "Exécution script $0"
# Dossier local
REPLOC="$HOME/sharenfs/rnmkcy/chirpy"
# Synchro serveurs
while IFS="," read -r SERVER REPDIS USERDIS PORT PRIVKEY RSYNCMOD LOCAL
do
#echo " $SERVER $REPDIS $USERDIS $PORT $PRIVKEY $RSYNCMOD $LOCAL"
if [[ "$LOCAL" != "oui" ]]; then
# non --> Opération sur des sites distants
synchro
fi
done < <(tail -n +2 $HOME/scripts/media_chirpy_site.csv)
# Calcul et affichage temps exécution
termin=$(date +"%s")
difftimelps=$(($termin-$begin))
echo "***FIN*** $0 exécuté en $(($difftimelps / 60)) mn $(($difftimelps % 60)) s" | systemd-cat -t chirpy -p info
echo "***FIN*** $0 exécuté en $(($difftimelps / 60)) mn $(($difftimelps % 60)) s"
notify-send "Synchronisation chirpy" "Terminée..."
exit 0Lancer et activer la surveillance path
1
systemctl --user enable media_chirpy_site.path --now
Regénération complÚte
Le service chirpy avec lâoption
--incrementalne suffit pas en cas dâajout de nouveau post ou de modifications des titres; Utiliser lâalias static pour regĂ©nĂ©rer avec une durĂ©e de 3 minutes et plusâŠ
Ajouter un alias pour lancer la construction complĂšte
1
2
echo "alias static='cd $HOME/media/chirpy && $HOME/.local/share/gem/ruby/3.4.0/bin/bundle exec $HOME/.local/share/gem/ruby/3.4.0/bin/jekyll build --destination $HOME/sharenfs/rnmkcy/chirpy && systemctl --user restart chirpy.service && cd $HOME'" >> $HOME/.bash_aliases
source $HOME/.bash_aliases
Développement
Synchronisation des dossiers $HOME/media/statique local et $HOME/sharenfs/media_statique_dev/statique en cas de modification dâun fichier markdown du dossier _posts.
media_statique_dev.path
1
2
3
4
5
6
7
8
9
[Unit]
Description=Surveiller sitemap.xml pour les changements
[Path]
PathChanged=$HOME/sharenfs/rnmkcy/chirpy/sitemap.xml
Unit=media_statique_dev.service
[Install]
WantedBy=default.target
media_statique_dev.service
1
2
3
4
5
[Unit]
Description="Un fichier mardown est modifié"
[Service]
ExecStart=rsync -av --delete $HOME/media/statique $HOME/sharenfs/media_statique_dev
Activation
1
2
systemctl --user daemon-reload
systemctl --user enable media_statique_dev.path --now
Debian - Chirpy développement
Développer un site statique jekyll chirpy
nodejs
Installer Node.js sur Debian via le NVM
Installer node v24.14.0 (Latest LTS: Krypton)
1
nvm install 24.14.0
Versions: node -v && npm -v
1
2
v24.14.0
11.9.0
Debian - Installer jekyll
Pour installer Jekyll sur Debian ou Ubuntu, on commence par installer les dépendances nécessaires:
1
sudo apt-get install build-essential zlib1g-dev imagemagick
Le paquet build-essential installe notamment gcc et make.
Puis on installe Ruby:
1
sudo apt-get install ruby-full
On configure le rĂ©pertoire dâinstallation des paquets Ruby:
1
2
3
4
5
# Install Ruby Gems to ~/gems
export GEM_HOME="$HOME/gems"
#export PATH="$HOME/gems/bin:$PATH"
export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:$PATH"
source ~/.bashrc
Et enfin on installe Jekyll:
1
gem install bundler jekyll
Ce qui prend un peu de tempsâŠ
On a alors les commandes bundle et jekyll dans le PATH.
jekyll-theme-chirpy
Sur le home
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cd ~
git clone https://github.com/cotes2020/jekyll-theme-chirpy.git
# initialiser le dépÎt
cd jekyll-theme-chirpy
bash tools/init.sh # Patienter...
#
cd assets/img/favicons/
magick web-app-manifest-512x512.png -resize 16x16 favicon-16x16.png
magick web-app-manifest-512x512.png -resize 32x32 favicon-32x32.png
magick web-app-manifest-512x512.png -resize 150x150 mstile-150x150.png
magick web-app-manifest-512x512.png -resize 192x192 android-chrome-512x512.png
cp web-app-manifest-512x512.png android-chrome-512x512.png
# A partir d'un fichier svg
magick favicon.svg -resize 512x512 android-chrome-512x512.png
magick favicon.svg -resize 512x512 web-app-manifest-512x512.png
magick favicon.svg -resize 16x16 favicon-16x16.png
magick favicon.svg -resize 32x32 favicon-32x32.png
magick favicon.svg -resize 150x150 mstile-150x150.png
magick favicon.svg -resize 180x180 apple-touch-icon.png
magick favicon.svg -resize 192x192 android-chrome-512x512.png
magick favicon.svg favicon.ico
magick favicon.svg -resize 192x192 android-chrome-192x192.png
magick favicon.svg -resize 96x96 favicon-96x96.png
Retour racine
1
cd ~/jekyll-theme-chirpy
Modifier configuration _config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# The Site Configuration
# Import the theme
theme: jekyll-theme-chirpy
# The language of the webpage âș http://www.lingoes.net/en/translator/langcode.htm
# If it has the same name as one of the files in folder `_data/locales`, the layout language will also be changed,
# otherwise, the layout language will use the default value of 'en'.
lang: fr
# Change to your timezone âș https://zones.arilyn.cc
timezone: Europe/Paris
# jekyll-seo-tag settings âș https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
# â --------------------------
title: Chirpy lxcdev # the main title
Lancer
1
bundle
Info jekyll: bundle info jekyll
1
2
3
4
5
6
7
8
9
10
11
12
13
* jekyll (4.4.1)
Summary: A simple, blog aware, static site generator.
Homepage: https://jekyllrb.com
Source Code: https://github.com/jekyll/jekyll
Changelog: https://github.com/jekyll/jekyll/releases
Bug Tracker: https://github.com/jekyll/jekyll/issues
Path: /home/uservps/gems/gems/jekyll-4.4.1
Reverse Dependencies:
jekyll-archives (2.3.0) depends on jekyll (>= 3.6, < 5.0)
jekyll-include-cache (0.2.1) depends on jekyll (>= 3.7, < 5.0)
jekyll-seo-tag (2.8.0) depends on jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0) depends on jekyll (>= 3.7, < 5.0)
jekyll-theme-chirpy (7.4.1) depends on jekyll (~> 4.3)
Création des liens avec les dossiers files, images et _posts pour le générateur de site
1
2
3
4
ln -s /srv/media/statique/images $HOME/jekyll-theme-chirpy/images
ln -s /srv/media/statique/files $HOME/jekyll-theme-chirpy/files
mv $HOME/jekyll-theme-chirpy/ $HOME/jekyll-theme-chirpy/_posts_SAV
ln -s /srv/media/statique/_posts $HOME/jekyll-theme-chirpy/_posts
Par défaut jekyll build génÚre le dossier _site
1
bundle exec jekyll serve --host 127.0.0.1
On utilise pour cela la commande bundle pour que la version de jekyll utilisĂ©e ainsi que celle des dĂ©pendances soient bien celles dĂ©crites dans les fichiers Gemfile et Gemfile.lock et ne dĂ©pendent pas de lâenvironnement de la machine.
Le serveur est lancé
1
2
3
4
5
6
7
8
9
10
Configuration file: /home/jek/jekyll-theme-chirpy/_config.yml
Theme Config file: /home/jek/jekyll-theme-chirpy/_config.yml
Source: /home/jek/jekyll-theme-chirpy
Destination: /home/jek/jekyll-theme-chirpy/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 38.52 seconds.
Auto-regeneration: enabled for '/home/jek/jekyll-theme-chirpy'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
AccĂšs Ă la page par une redirection
1
ssh -L 9500:localhost:4000 jek@192.168.0.227 -p 22 -i $HOME/.ssh/lxc-devel
Script pour automatiser lâouverture du lien localhost:9500
Le serveur jekyll doit ĂȘtre lancĂ©
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
browser="firefox"
# argument optionnel pour un autre navigateur
if [ ! -z $1 ]
then
browser=$1
fi
ssh -L 9500:localhost:4000 jek@192.168.0.227 -p 22 -i $HOME/.ssh/lxc-devel -N &
p=$(pidof -s ssh)
# tempo
echo "Patienter 10 secondes..."
sleep 10
#firefox http://localhost:9500
#firefox -p yann http://localhost:9500
$browser http://localhost:9500
kill $p
echo "FIN jekylldev"
exit 0

