多个类别与Jekyll一页

时间:2015-07-29 17:53:59

标签: jekyll

有没有办法在一个单页网站上获得多个类别的花盆,这些花盆将用Jekyll构建?

我试过四处寻找,但似乎没有任何答案?

在代码中我尝试了以下内容,在一个部分:

            <section>

                <div class="gallery">

                    <h2>Gallery</h2>
                    {% for gallery in site.categories %}

                    {% for catposts in gallery %}
                    {% for catposts in catposts %}
                    <div>
                        <img src="assets/images/gallery/{{ catposts.img }}" alt="">
                    </div>
                    {% endfor %}
                    {% endfor %}

                    {% endfor %}
                </div>

            </section>

和另一个:

        <section>
            <div class="news">

            <h2>News</h2>

                <!-- Page Content -->
                {% for post in site.posts reversed %}
                {% capture thecycle %}{% cycle 'odd', 'even' %}{% endcapture %}
                {% if thecycle == 'odd' %}

                <div>
                    <h3>{{ post.title }}</h3>
                    {{ post.content }}
                </div>

                {% else %}

                <div>
                    <h3>{{ post.title }}</h3>
                    {{ post.content }}
                </div>

                {% else %}

                <div>
                    <h3>{{ post.title }}</h3>
                    {{ post.content }}
                </div>

                {% endif %}
                {% endfor %}

            </div>
        </section>

在画廊部分有大约8个画廊帖子,即使我只制作了一个,所有这些帖子都有:<img src="assets/images/gallery/但没有帖子图片。

新闻部分的帖子很好,但也显示了画廊的帖子。

在_posts文件夹中我有:

_posts
-- Gallery
-- News

1 个答案:

答案 0 :(得分:0)

你有一对行:

{% for catposts in gallery %}
{% for catposts in catposts %}

这是什么意思? catposts中有catposts吗?

对于未显示的帖子图像,这是早期问题的结果。液体无法找到catposts.img,因此它会在那里留空,从而产生您所看到的效果。所以我们需要真正解决的是第一个问题。

从头开始的解决方案

假设您需要以下结构:

site.categories = {
                   galleryA : {
                                subGallery1: ...,
                                subGallery2: ...,
                              },
                   galleryB : { ... },
                   ...
                  }

要创建collections,您需要config.yml

collections:
  galleryA:
    output: true
    permalink: /galleryA/:path/
  galleryB:
    output: true
    permalink: /galleryB/:path/
  ...

然后在源根文件夹中创建以下目录结构:

_galleryA
    |
    subGallery1
        |
        a1-first.html
        a1-second.html
    |
    subGallery2
        |
        a2-first.html
        a2-second.html
_galleryB
    |
    ...

您生成的_site应反映此结构。例如:/galleryA/subGallery1/a1-first/(index.html)是从a1-first.html生成的。我假设您知道如何撰写单篇文章。