Jekyll ne génère pas de pages dans les sous-dossiers

j'utilise des Pages GitHub et j'ai créé des pages dans un sous-dossier. Il ne semble pas générer les pages que j'ai créé dans le sous-dossier. Toutes les autres pages fonctionnent bien. La structure de répertoire est comme ceci:

/
/index.html
/_config.yaml
/_includes
/_layouts
/_posts
/tag
/tag/personal.html
/tag/videos.html

Les pages à l'intérieur de l' /tag les répertoires ne sont pas générés par Jekyll. En outre, GitHub envoie généralement un e-mail si Jekyll build échoue, mais ne l'a pas fait, dans ce cas. En outre, si je fais d'autres changements, il fonctionne, de sorte que la construction ne semble pas échouer.

/tag/personal.html est ici:

---
layout: default
title: Tag-personal
permalink: /tag/personal/index.html
tagspec: personal
---
<div id="tagpage">
  <h1>Posts tagged personal</h1>
{% include tags.html %}
</div>

et /_includes/tags.html c'est ici:

{% for tag in post.tags %}
  {% if tag == page.tagspec %}
    {% assign ispostviable = true %}
  {% endif %}
{% endfor %}

  <ul class="posts">
{% for post in site.posts %}
  {% if ispostviable == true %}
    <li><a href="{{ post.url }}"></li>
  {% endif %}
{% endfor %}
  </ul>

PS: j'utilise des Pages Github et je n'ai pas accès à une instance Jekyll sur ma machine de développement (Windows).

12
demandé sur Ameer 2013-08-23 15:04:24

2 réponses

j'ai trouvé le coupable. C'était dans Jekyll v1.0, permalinks absolus pour les pages dans les sous-répertoires ont été introduits. Jusqu'à v1.1, c'est de l'opt-in. En commençant par v1.1, cependant, absolue permaliens est devenu opt-out, sens Jekyll utilise par défaut absolu de permaliens au lieu de par rapport permaliens.

Les pages ont été produites à /tag/tag/personal.html et ainsi de suite.

Il y avait deux solutions:

  • Spécifier relative_permalinks: false_config.yaml
  • marque permalinks relatifs au sous-répertoire.

j'ai choisi la première option.

11
répondu Ameer 2013-08-25 11:37:59

Joshua Powell a fourni étape-par-étape directions en réponse à une question similaire sur Github.

  1. Modifier _config.yml pour ajouter la ligne suivante (ou développez le tableau, s'il en existe)

    include: ['_pages']

    _pages est le nom du dossier dans lequel vous souhaitez conserver vos fichiers. (Cela fonctionne aussi pour les dossiers imbriqués si vous ajoutez explicitement, par exemple, ['_pages', '_pages/foo'].)

  2. déplacez vos pages dans ce dossier. (Ces pages peuvent être HTML, Markdown, ou tout ce que Jekyll rend quand il est placé dans le dossier racine.)

  3. leur donner la matière première avec un permalink approprié incluant une barre oblique de queue, par exemple,permalink: "/about/".

6
répondu tjanson 2015-01-27 01:03:18