2014-06-17 3 views
4

Après la Jekyll Collections documentation, j'ai écrit le code suivant dans _config.ymlComment définir une collection personnalisée dans Jekyll?

_config.yml 

collections: 
- popular_posts 

Alors, quand j'imprime {{site.collections}}, la sortie est "popular_posts".

J'ai également créé un dossier appelé "_popular_posts" au même niveau que "_posts". _popular_posts contient deux fichiers .md avec un peu de contenu YAML, identique à un post. Cependant, si j'imprime {{site.popular_posts}} ou {{site.collections.popular_posts}}, il n'y a pas de sortie.

Comment est-ce que Jekyll reconnaît les fichiers .md dans ce répertoire afin que le code suivant fonctionne?

{% for popular_post in site.popular_posts %} 
    <a href="{{ popular_post.link }}"> 
    <h1>{{ popular_post.title }}</h1> 
    <img class="pop-img" src="{{ popular_post.image_url }}"> 
    </a> 
    <span id="pop-order"><span class="pop-current-popular_post-number">{{ popular_post.number }}</span>/5</span> 
{% endfor %} 
+0

Avez-vous défini 'output:' à 'true'? Je ne comprends pas bien les collections, mais si je comprends bien, cela est nécessaire pour que Jekyll génère les objets de collection. Notez également que la fonctionnalité de collecte est dite en version bêta et qu'elle n'est peut-être pas encore entièrement fonctionnelle. –

Répondre

4

C'est assez facile! Vous êtes sur la bonne voie. Dans votre _config.yml:

collections: 
- popular_posts 

Cela dira Jekyll à lire dans tous les fichiers _popular_posts.

Si vous voulez chacun de ces deux fichiers d'avoir un fichier de sortie correspondant (comme la façon dont _posts fonctionne maintenant), vous aurez envie de changer votre _config.yml à:

collections: 
    popular_posts: 
    output: true 

Cela produira des fichiers à /popular_posts/filename1.html et /popular_posts/filename2.html, une page pour chaque publication.

Les collections sont only recently up on GitHub Pages donc si vous essayiez ceci là, cela aurait échoué.

Consultez jekyll-help pour plus d'aide si vous en avez besoin!

Questions connexes