Je préfère penser aux images comme des actifs autonomes qui sont inclus dans zéro ou plusieurs pages. La plupart du temps, mes images apparaissent dans une seule page. Il y a des occasions où je veux les avoir dans plusieurs pages et dans d'autres cas je ne lie pas du tout une image. Si votre flux de travail consiste à mettre chaque image dans un répertoire avec un article, les trouver commence à nécessiter une quantité importante de recherche et vous devez trouver une solution différente pour les images qui n'appartiennent pas à un article spécifique.
L'approche que j'utilise est à l'opposé du spectre. J'ai un seul répertoire d'images (servi depuis "/images") et 100% de mes images y sont stockées. Les avantages de cela sont:
-
Lorsque j'ajoute une image à un article, il est facile de savoir quel chemin utiliser. C'est toujours :
/images/{nom-de-l'image}
Par exemple: http://alanwsmith.com/i/aws-20111017--0906-02. Cela permet d'écrire un plug-in pour que tout ce que vous avez à faire est d'entrer le nom de l'image et le reste du chemin connu est rempli automatiquement.
-
Avec une application comme Photo Mechanic, il est incroyablement facile de parcourir le seul répertoire localement et de voir chaque image. Si je veux inclure une image sur une autre page, cela réduit considérablement le temps nécessaire pour la trouver.
-
Il n'y a pas d'emplacement/processus séparé si je veux envoyer une image à quelqu'un sans l'inclure réellement dans une page (c.-à-d. leur envoyer un lien direct vers le fichier image). je place simplement l'image dans le répertoire standard et j'envoie le lien direct.
Si vous voulez aller un peu plus loin, garder toutes vos images dans un seul répertoire rend possible quelques belles modifications également. Par exemple, même si les URL de mes images commencent par "/images", les images sont en réalité stockées dans un répertoire en dehors de ceux utilisés par jekyll. Dans mon cas, le sommet de mon arborescence source ressemble à ceci :
./html
./source-files
./image-files
Toutes mes images sont stockées dans le répertoire "./image-files". Dans ma configuration Apache, j'ai configuré un alias de sorte que l'URL "/images" pointe vers le répertoire "./image-files". Par exemple:
Alias /images /webroot/image-files
Lorsque j'exécute jekyll, il traite tout dans "./source-files" et le dépose dans "./html". Puisque toutes les images sont en dehors de ces deux répertoires, jekyll ne les voit/touche jamais. À mesure que votre bibliothèque d'images grandit, cela aidera à accélérer les choses et évitera une quantité énorme de copie de fichiers inutile.
Une autre modification que j'aime dans Apache est d'activer:
Options +MultiViews
Cela vous permet d'appeler vos images sans avoir à utiliser l'extension de fichier (par exemple pas de '.jpg', '.png', etc...). Vous pouvez voir cela dans le lien exemple que j'ai fourni ci-dessus. Cela n'a pas vraiment d'importance pour la performance. J'aime juste le rendu visuel et cela m'épargne de devoir taper l'extension à chaque fois que j'appelle une image.
MultiViews permet également de remplacer une image d'un format par une autre sans avoir à recoder autre chose. Par exemple, si vous supprimez "some-image.gif" et le remplacez par "some-image.png", vous n'auriez pas besoin de modifier le HTML. Ce dernier serait toujours servi depuis "/images/some-image". Il est probable que vous ayez rarement besoin de faire des changements de ce genre. Je trouve juste intéressant de pouvoir le faire.
Enfin, vous pouvez prendre une décision unique concernant autoriser ou interdire la navigation dans votre répertoire d'images. Personnellement, je veux que mes images apparaissent là où je les ai placées. Ainsi, j'ai réglé le fichier .htaccess dans mon répertoire d'images sur :
Options -Indexes
Si vous allez travailler sur un site avec des milliers ou dizaines de milliers de pages et d'images, cela pourrait ne pas être scalable. Pour un site personnel de taille normale, je trouve que cette approche facilite la maintenance des images.