我知道{{page.previous.url}} 和{{page.next.url}}可用於發佈,但不幸的是我在我的博客上爲這些項目頁面使用了Page結構。在Jekyll RB&GH頁面中,顯示上一頁和下一頁(不是發佈)
在每個項目結束時,我想有一個具有
[ < - Previous Project (if available)] [ Home ] [ Next Project -> (if available) ]
文檔結構
root
-- project1/
- /img
- /index.md
-- project2/
- /img
- /index.md
-- project3/
- /img
- /index.md
index.html
頁腳這是可能的瓦特/傑奇沒有任何插件?
更新
因爲沒有「指標」提供的當前頁面你,我想我會通過site.pages
有循環的,匹配與該site.page.title page.title然後加上和減去forloop.index爲下一個和以前的鏈接。
這是唯一的方法還是我過於複雜?的什麼,我想下面
示例代碼:
{% for entry in site.pages %}
{% if entry.title == page.title %}
index is: {{ forloop.index }} <br />
sites.pages is {{ site.pages[forloop.index].url }} <br />
{% assign prev = forloop.index | minus:1 %}
{% assign next = forloop.index | plus:1 %}
{% assign prevUrl = site.pages[prev].url %}
{% assign nextvUrl = site.pages[next].url %}
{% assign currentURL = site.pages[forloop.index].url %}
previous page is: <em>{{ prevUrl }}</em> <br />
current page is: <em>{{ currentUrl }}</em> <br />
next page is: <em>{{ nextUrl }}</em>
{% endif %}
{% endfor %}
EDIT 2個
JoostS的回答是出發點,我需要。我繼續前進幷包含我的代碼,因爲我需要的是與它們的不同(它包含main.css以及一些其他不包含在循環中的頁面)。非常感謝您的幫助!
才能生成數組瓦特/項目 - 僅頁數
{% assign sorted_pages2 = site.pages %}
{% assign sorted_pages = "" | split: "" %}
{% for item in sorted_pages2 %}
{% if item.type == "project" %}
{% assign sorted_pages = sorted_pages | push: item %}
{% endif %}
{% endfor %}
{% for item in sorted_pages %}
{% if item.url == page.url %}
{% assign this_i = forloop.index0 %}
{% assign num_of_pages = forloop.length %}
{% assign last_i = forloop.length | minus: 1 %}
{% assign next_i = forloop.index0 | plus: 1 %}
{% assign prev_i = forloop.index0 | minus: 1 %}
{% endif %}
{% endfor %}
要顯示下一個和上有條件
<div class="flex f-row project-footer">
<div>
{% if prev_i < 0 %}
<!-- Sorted_Last{{ sorted_pages[last_i].url }} -->
{% else %}
<a href="{{ sorted_pages[prev_i].url }}">
<span>Previous Project</span>
</a>
{% endif %}
</div>
<div>
<a href="/">
<span>Home</span>
</a>
</div>
<div>
{% if num_of_pages > next_i %}
<a href="{{ sorted_pages[next_i].url }}">
<span>Next Project</span>
</a>
{% endif %}
</div>
</div>
是的,您可以請求所有頁面。見Jekyll Docs。 – JoostS
你可以使用'site.pages'來做到這一點。 – JoostS
您可以循環瀏覽它們,但是沒有「當前頁面」的page.index位置。我添加了一些代碼來解釋我在想什麼可能是解決方案。 –