59 votes

Quelle est la différence entre les catégories et les balises dans Jekyll ?

Leurs deux éléments sont accessibles par for..in et la manière d'ajouter des catégories et des balises est la même. Alors, quelle est la différence entre les catégories et les tags dans Jekyll ?

0 votes

Pour ceux qui tombent sur cette question, la dernière réponse date de 2020 et provient de la documentation de Jekyll 4.2.

38voto

kikito Points 23229

Il me semble que la seule différence importante est que les catégories peuvent être utilisées dans l'url du message - un message dans les catégories "bière" et "nourriture", par défaut, aura cette url :

/food/beer/2008/09/09/foo-bar.html

Au lieu de celui-là :

/2008/09/09/foo-bar.html

Voir les tests post pour plus de détails

Les balises n'ont aucune influence dans les urls, du moins selon leur tests .

2 votes

Je pense qu'il y a d'autres différences aussi, mais la documentation est lacunaire. Par exemple, je ne pense pas que les permaliens supportent les tags, mais ils supportent les catégories.

0 votes

À partir de la version 4.0 de Jekyll, l'élément Les documents affirment que The difference between categories and tags is a category can be part of the URL for a post whereas a tag cannot.

1 votes

Le lien des tests postaux est mort.

16voto

starfry Points 639

De la documentation :

  • Au lieu de placer les articles dans des dossiers, vous pouvez spécifier une ou plusieurs catégories auxquelles l'article appartient. Lorsque le site est généré, l'article se comportera comme s'il avait été défini avec ces catégories normalement. Les catégories (clé plurielle) peuvent être spécifiées sous la forme d'une liste YAML ou d'une chaîne séparée par des espaces.

  • Comme pour les catégories, une ou plusieurs étiquettes peuvent être ajoutées à un article. Comme pour les catégories, les étiquettes peuvent être spécifiées sous la forme d'une liste YAML ou d'une chaîne séparée par des espaces.

Cela ne fait que suggérer des similitudes ; cela n'explique pas vraiment les différences entre les catégories et les balises. Ce tutoriel vidéo suggère que :

la seule différence entre les deux est que les catégories peuvent être reflétées dans les permaliens de vos articles.

Elle poursuit en expliquant que

elles peuvent également être de nature hiérarchique, mais cela signifie, par exemple, que si vous créez une catégorie d'aliments, vous pouvez créer une catégorie de petits gâteaux, qui est en quelque sorte une sous-catégorie d'aliments. Les étiquettes, par contre, sont plates. Elles sont non-hiérarchiques par nature

et que

Jekyll ne dispose pas vraiment de moyens automatisés pour générer des pages d'archives ou des pages de contenu à partir de ces balises et catégories.

Le support pour ce genre de choses serait implémenté dans le thème que vous utilisez ou vous pourriez le faire vous-même.

4voto

IanGreenleaf Points 551

El v4.2 documentation a une réponse mise à jour.

La principale différence entre les catégories et les balises est que les catégories d'un article peuvent être incorporées dans l'URL générée pour l'article, alors que les balises ne le peuvent pas.

Par conséquent, selon que la matière première a category: classic hollywood ou categories: classic hollywood Dans l'exemple ci-dessus, l'URL de l'article serait soit movies/horror/classic%20hollywood/2019/05/21/bride-of-chucky.html ou movies/horror/classic/hollywood/2019/05/21/bride-of-chucky.html respectivement.

Les catégories et les balises sont mises à la disposition des modèles de Liquid et peuvent être utilisées de manière itérative.

Les catégories et les balises peuvent être définies dans la partie avant d'un article. Les catégories peuvent également être définies par le chemin d'accès au fichier d'un article :

Tout répertoire supérieur _post sera lu comme une catégorie. Par exemple, si un message se trouve dans le chemin movies/horror/_posts/2019-05-21-bride-of-chucky.markdown alors movies y horror sont automatiquement enregistrés comme catégories pour ce poste.

Lorsque l'article comporte également des catégories définissant la matière première, elles sont simplement ajoutées à la liste existante si elles ne sont pas déjà présentes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X