Skip to content
This repository has been archived by the owner on Apr 13, 2022. It is now read-only.

Images dans les pages

Sylvain Saubier edited this page Jul 29, 2018 · 29 revisions

Problème des chemins d'accès aux images

(exemple avec textes/la-guerre-sociale/ et misere-du-feminisme.md)

Lorsque le site est construit dans _site/ ($ bundle exec jekyll build), jekyll convertit tous les liens en liens absolus. Aucun soucis à se faire à priori.
Cependant, lorsque le site est hébergé sur le serveur local ($ bundle exec jekyll serve), les liens vers les images restent les mêmes dans la page MD et dans la page HTML alors que la page HTML est déplacé dans un sous-dossier par rapport aux images.

# textes/la-guerre-sociale/
misere-du-feminisme.md
img1.jpg
img2.jpg
[...]

devient :

# _site/textes/la-guerre-sociale/
misere-du-feminisme/index.html
img1.jpg
img2.jpg
[...]

Par conséquent, ./img1.jpg dans la page _site/.../misere-du-feminisme/index.html renvoie à _site/.../misere-du-feminisme/img1.jpg... qui n'existe pas !
Jekyll ne trouve donc pas les images et la page est incomplète lorsqu'on va consulter le site hébergé localement.

Solution

Liens absolus pour les images ?

On ne peut pas utiliser de liens absolus pour les images car ils sont illisibles pour pandoc ; voir Générer les PDFs.

Invoquer ln -s

Il faut donc :

  1. créer un sous-dossier éponyme à la page, comme jekyll le fait
  2. mettre les images de la page dans ce dossier
  3. créer des liens symboliques entre les fichiers du sous-dossier et le présent dossier
$ cd textes/la-guerre-sociale/
$ mkdir misere-du-feminisme 		# créer le sous-dossier éponyme
$ mv *jpg misere-du-feminisme/ 		# mettre les images de la page dans le sous-dossier
$ ln -s misere-du-feminisme/* . 	# faire des liens dans le présent dossier