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