15

GitHub Pages を使用し、サブ フォルダーにいくつかのページを作成しました。サブフォルダーに作成したページが生成されていないようです。他のすべてのページは正常に動作します。ディレクトリ構造は次のようになります。

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

ディレクトリ内のページ/tagは Jekyll によって生成されません。また、通常、GitHub は Jekyll ビルドが失敗した場合にメールを送信しますが、この場合は送信しませんでした。また、他の変更を行っても機能するため、ビルドは明らかに失敗していません。

はここ/tag/personal.htmlにあります:

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

そして/_includes/tags.htmlここにあります:

{% 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: 私は GitHub ページを使用していますが、開発マシン (Windows) で Jekyll インスタンスにアクセスできません。

4

2 に答える 2

14

Joshua Powell は、Github の同様の質問に回答して、段階的な指示を提供しました。

  1. 編集_config.ymlして次の行を追加します (または、配列が存在する場合は展開します)。

    include: ['_pages']

    ここ_pagesで、ファイルを保持するフォルダーの名前です。(これは、明示的に追加した場合、ネストされたフォルダーでも機能します。たとえば、['_pages', '_pages/foo'].)

  2. ページをそのフォルダーに移動します。(これらのページは、HTML、Markdown、またはルート フォルダーに配置されたときに Jekyll がレンダリングするその他のものである可能性があります。)

  3. 末尾のスラッシュを含む適切なパーマリンクを前付けしてくださいpermalink: "/about/"

于 2015-01-27T01:03:18.590 に答える
13

犯人を見つけました。Jekyll v1.0 で、サブディレクトリ内のページの絶対パーマリンクが導入されました。v1.1 まではオプトインです。ただし、v1.1 以降、絶対パーマリンクはオプトアウトになりました。つまり、Jekyll はデフォルトで相対パーマリンクではなく絶対パーマリンクを使用します。

ページは などで生成され/tag/tag/personal.htmlていました。

次の 2 つの解決策がありました。

  • relative_permalinks: falseで指定_config.yaml
  • サブディレクトリに相対するパーマリンクを作成します。

私は最初の選択肢を選びました。

于 2013-08-25T11:37:59.840 に答える