Jekyll中多个系列文章的单索引博客文章

Jekyll中多个系列文章的单索引博客文章,jekyll,Jekyll,我有好几篇博文,都属于同一篇博文。例如,我有几篇关于SQL Zoo教程的文章,但我希望能够将它们链接到一篇“伞形”文章中,这样我的博客索引页上就只有一篇SQL Zoo文章。我的想法来自:并尝试按照说明操作,但现在我的系列文章没有显示在我的索引页上。我在my_includes文件夹中名为post-series.html的文件中有以下代码: {% assign seriesarray = '|' | split : '|' %} {% assign seriestitle = '' %} {% as

我有好几篇博文,都属于同一篇博文。例如,我有几篇关于SQL Zoo教程的文章,但我希望能够将它们链接到一篇“伞形”文章中,这样我的博客索引页上就只有一篇SQL Zoo文章。我的想法来自:并尝试按照说明操作,但现在我的系列文章没有显示在我的索引页上。我在my_includes文件夹中名为post-series.html的文件中有以下代码:

{% assign seriesarray = '|' | split : '|' %}
{% assign seriestitle = '' %}
{% assign serieslabel = '' %}
{% assign sortedposts = (site.posts | sort: 'date') %}
{% for post in sortedposts %}
    {% if post.series and page.series_slug != nil and post.series == page.series_slug %}

        {% capture postitem %}    <li> <a href="{{ site.url }}{{ post.url }}">{{ post.title }}</a> </li> {% endcapture %}
        {% assign seriesarray = seriesarray | push: postitem %}
        {% assign seriestitle = 'Posts in this series' %}
        {% assign serieslabel = 'Series Post' %}

    {% elsif post.series != nil and page.series != nil and page.series == post.series %}

        {% assign pageurl = page.url | split:'/' | last %}
        {% assign posturl = post.url | split:'/' | last %}
        {% if pageurl != posturl %}
        {% capture postitem %}    <li> <a href="{{ site.url }}{{ post.url }}">{{ post.title }}</a> </li> {% endcapture %}
        {% else %}
        {% capture postitem %}    <li> {{ post.title }} </li> {% endcapture %}
        {% endif %}
        {% assign seriesarray = seriesarray | push: postitem %}

    {% endif %}

    {% if post.series_slug != nil and page.series != nil and page.series == post.series_slug %}
        {% capture series_title %} <a href="{{ site.url }}{{ post.url }}">{{ post.title }}</a>  {% endcapture %}
        {% assign seriestitle = 'This posts is part of series - ' | append: series_title %}
        {% assign serieslabel = 'This posts is part of series - ' | append: series_title %}
    {% endif %}

{% endfor %}

{% capture serieslayout %}
    {% if seriesarray.size > 0 %}
    <hr />
    <div class="panel">
        <div class="panel-body">
        <h4> {{ seriestitle }} </h4>
        <ul id="post-series-list">
    {% endif %}
    {% for post in seriesarray %} {{ post }} {% endfor %}
    {% if seriesarray.size > 0 %} </ul> </div> </div> {% endif %}
{% endcapture %}
{%assign seriesarray='|'| split:'|'%}
{%assign seriestitle=''%}
{%assign serieslabel=''%}
{%assign sortedposts=(site.posts | sort:'date')%}
{sortedposts%中的帖子的%s}
{%if post.series和page.series_slug!=nil和post.series==page.series_slug%}
{%capture positem%}
  • {%endcapture%} {%assign seriesarray=seriesarray | push:positem%} {%assign seriestitle='此系列“%”中的帖子 {%assign SERIESLABLE='序列Post%} {%elsif post.series!=nil和page.series!=nil和page.series==post.series%} {%assign pageurl=page.url | split:'/'| last%} {%assign postrl=post.url | split:'/'| last%} {%if pageurl!=postrl%} {%capture positem%}
  • {%endcapture%} {%else%} {%capture positem%}
  • {{post.title}
  • {%endcapture%} {%endif%} {%assign seriesarray=seriesarray | push:positem%} {%endif%} {%if post.series_slug!=nil和page.series!=nil和page.series==post.series_slug%} {%capture系列_title%}{%endcapture%} {%assign seriestitle='这篇文章是系列的一部分-'|附加:系列_title%} {%assign serieslabel='这篇文章是系列的一部分-'|追加:系列_title%} {%endif%} {%endfor%} {%capture serieslayout%} {%if seriesarray.size>0%}
    {{seriestitle}}
      {%endif%} {%用于序列数组%}{{post}{%endfor%} {%if seriesarray.size>0%}
    {%endif%} {%endcapture%}
    以及我的目录根目录中的my index.html文件中的以下代码:

    ---
    layout: index
    ---
    
    <div id="home">
      <h1>{{ site.title }}</h1>
      <hr />
    
    <ol class="posts">
      {% for post in paginator.posts %}
      {% assign seriesPost = nil %}
      {% if post.series == nil %}
      {% if post.series_slug != nil %} {% assign seriesPost = '(Series)' %} {% endif %}
        <li class="post-listing">
          <img class="post__image" src="/static/img/{{ post.cover_image}}" alt="{{ post.cover_alt }}" />
          <div class="post__text">
            <a class="post__title" href="{{ post.url }}">{{ post.title }}</a><br>
            <span>
              {{ post.date | date_to_string }} &bull;
              {% assign words = post.content | number_of_words %}
              {% if words < 360 %}
                1 min read
              {% else %}
                {{ words | divided_by:180 }} min read
              {% endif %}
            </span>
            {{ post.excerpt }}
          </div>
        </li>
        {% endif %}
        {% endfor %}
      </ol>
    
      <!-- <div class="sidebar-right sidebar"></div> -->
    
      <!-- <ul>
        {% for post in paginator.posts %}
          <li>
            <a href="{{ post.url }}">{{ post.title }}</a>
            {{ post.excerpt }}
          </li>
        {% endfor %}
      </ul> -->
    
      <!-- Pagination links -->
      {% if paginator.total_pages > 1 %}
        <ul class="pagination pagination-sm">
          {% if paginator.previous_page %}
            <li><a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&laquo;</a></li>
          {% else %}
            <li class="disabled"><span aria-hidden="true">&laquo;</span></li>
          {% endif %}
    
          <li><a href="/">First</a></li>
    
          {% for page in (1..paginator.total_pages) %}
            {% if page == paginator.page %}
              <li class="active"><a>{{ page }}<span class="sr-only">(current)</span></a></li>
            {% elsif page == 1 %}
              <li><a href="/">{{ page }}</a></li>
            {% else %}
              <li><a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page }}</a></li>
            {% endif %}
          {% endfor %}
    
          <li><a href="/page/{{ paginator.total_pages }}/">Last</a></li>
    
          {% if paginator.next_page %}
            <li><a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">&raquo;</a></li>
          {% else %}
            <li class="disabled"><span>&raquo;</span></li>
          {% endif %}
        </ul>
      {% endif %}
    </div><!-- end #home -->
    
    ---
    布局:索引
    ---
    {{site.title}
    
    {paginator.posts%中的post为%s} {%assign seriesPost=nil%} {%if post.series==nil%} {%if post.series_slug!=nil%}{%assign seriesPost='(series)%}{%endif%}

  • {{post.date | date_to_string}}&bull; {%assign words=post.content |单词数%} {%如果单词<360%} 1分钟阅读 {%else%} {{单词|除以:180}分钟读取 {%endif%} {{post.extract}}
  • {%endif%} {%endfor%} {如果paginator.total_pages>1%,则为%1}
      {%if paginator.previous_page%}
    • {%else%}
    • « {%endif%}
    • {(1..paginator.total_pages)%%中的页面占% {%if page==paginator.page%}
    • {%else%}
    • {%endif%} {%endfor%}
    • {%if paginator.next_page%}
    • {%else%}
    • » {%endif%}
    {%endif%}

    我的完整回复可以在这里找到:

    在你的index.html中,
    {%if post.series==nil%}
    只是将包含要打印的
    series:someserie
    前置变量的帖子裸露出来

    对于第二个问题(请注意,在这样的情况下,您应该一次问一个问题):

  • 伞形贴子前面总是有
    序列号:“My serie slug”
    重要
  • 意甲的帖子前面总是有
    系列:“我的意甲鼻涕虫”
    这必须严格等同于伞形页面
    系列\u slug
    。(例如:您发布了一篇文章,内容为published:false系列:“SQL动物学”,如果您发布该文章,它将不会出现在
    SQL动物园
    系列中。)
  • \u layouts/post.html中删除
    {%include series.html%}

    \u includes/post series.html中,将所有代码替换为以下内容:

    {% comment %} #### On an umbrella page {% endcomment %}
    {% if page.series_slug != nil %}
      {% assign key = page.series_slug %}
      {% assign title = page.title %}
      {% assign url = page.url %}
      {% assign sentence = "All posts in this serie :" %}
    {% endif %}
    
    {% comment %} #### On a serie page {% endcomment %}
    {% if page.series != nil %}
      {% assign key = page.series %}
      {% assign umbrella_page = site.posts | where: 'series_slug', key | first %}
      {% assign title = umbrella_page.title %}
      {% assign url = umbrella_page.url %}
      {% assign series_posts = site.posts | where: "series", key %}
      {% for post in series_posts %}
        {% if post.url == page.url %}
          {% assign idx = forloop.index %}
        {% endif %}
      {% endfor %}
      {% capture sentence %}
      This article is <strong>Part {{ idx }}</strong> in a <strong>{{ series_posts.size }}-Part</strong> in <a href="{{ site.baseurl }}{{ url }}">{{ title }} serie</a>
      {% endcapture %}
    {% endif %}
    
    {% if page.series_slug != nil or page.series != nil %}
      {% assign series_posts = site.posts | where: "series", key %}
      <hr />
      <div class="panel">
        <div class="panel-body">
          {% if page.series_slug != nil %}
            {% assign key = page.series_slug %}
            {% assign title = page.title %}
            {% assign url = page.url %}
          {% endif %}
    
          <h4>{{ sentence }}</h4>
          <ul id="post-series-list">
          {% for post in series_posts %}
            <li>
            {% if page.url == post.url %}
              This post : {{ post.title }} - part {{ forloop.index }}
            {% else %}
              <a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }} - part {{ forloop.index }}</a>
            {% endif %}
            </li>
          {% endfor %}
          </ul>
        </div>
      </div>
    {% endif %}
    
    {%comment%}#####在总括页面{%endcomment%}
    {%if page.series_slug!=nil%}
    {%assign key=page.series\u slug%}
    {%assign title=page.title%}
    {%assign url=page.url%}
    {%assign SESSION=“此系列中的所有帖子:%”
    {%endif%}
    {%comment%}#####在序列页面上{%endcomment%}
    {%if page.series!=nil%}
    {%assign key=page.series%}
    {%assign UMBLARY_page=site.posts |其中:'series_slug',key | first%}
    {%assign title=page.title%}
    {%assign url=URBAR_page.url%}
    {%assign series_posts=site.posts |其中:“series”,key%}
    {系列文章中的文章%_文章%}
    {%if post.url==page.url%}
    {%assign idx=forloop.index%}
    {%endif%}
    {%endfor%}
    {%捕获句子%}
    本文是{series_posts.size}}中的部分{{idx},部分位于
    {%endcapture%}
    {%endif%}
    {%如果page.series\u slug!=nil或page.series!=nil%}
    {%assign series_posts=site.posts |其中:“series”,key%}
    
    {%if page.series_slug!=nil%} {%assign key=page.series\u slug%} {%assign title=page.title%} {%assign url=page.url%} {%endif%} {{句子}
      {系列文章中的文章%_文章%}
    • {%if page.url==post.url%} 此帖子:{post.title}-部分{{forloop.index} {%else%} {%endif%}
    • {%en
      {% if post.group != nil %}
        <ul>
        {% for post in site.posts %}
          {% if post.group == page.group %}
            <li><a href="{{ post.url }}">{{ post.title }}</a></li>
          {% endif %}
        {% endfor %}
        </ul>
      {% endif %}