![](/img/trans.png)
[英]How share from Homepage several Posts each with own Screenshot, but all have one URL? Facebook, Google+, Twitter, Pinterest
[英]How to implement “load more posts” from homepage using jekyll?
我最初的想法是..這可以是我的主頁代碼(它被稱為液體嗎?)..
{% for post in site.posts limit:4 %}
之后我想到了一個“更多帖子”按鈕鏈接到page2並做了相同的限制,抵消了前4個..像這樣:
{% for post in site.posts offset:4 limit:4 %}
從那里“更多帖子”按鈕鏈接到第3頁,限制4和偏移8等等......
我的問題是:1>在傑基爾有更好的方法嗎? 如果沒有,2>我應該創建多少頁? 3>我可以創建頁面而不重復整個內容只需1行更改嗎? 4>當帖子增加時,我可以將頁面設置為自動創建嗎? 怎么樣?
為什么不使用Jekyll自己的分頁功能?
只需將這兩行放在_config.yml
文件中即可。
paginate: 4
paginate_path: "page:num"
paginate_path允許您指定要分頁的頁面。 因此,如果您有一個名為博客的頁面,其中包含您的所有文章,那么您可能希望將其分頁。 為此,請設置paginate_path: "blog/page:num"
。 對於默認主頁分頁,請將其保留為"page:num"
。 我編寫了一段特定的代碼來幫助分頁導航。 要像在paginate_path
指定的那樣在頁面中設置paginate_path
,您需要指定以下內容:
{% for post in paginator.posts %}
{{ post.title }}
{{ post.content | strip_html | truncatewords:40 }}
{% endfor %}
這將顯示第一個分頁頁面。 但是你需要一個導航欄,即< - 較新的帖子...較舊的帖子 - >按鈕。 我特意寫了一個流暢的表達方式。 因此,在上一個代碼塊之后,將這些代碼放在分頁導航中。
{% if paginator.total_pages != 1 %}
<div class="row text-center text-caps">
<div class="col-md-8 col-md-offset-2">
<nav class="pagination" role="pagination">
<span class="page-number">Page {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if site.paginate_path != 'page:num'%}
{% assign paginate_url = site.paginate_path | remove:'/page:num' %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<a class="newer-posts" href="{{ site.url }}/{{ paginate_url }}/" class="btn" title="Newer Posts">← Newer Posts</a>
{% else %}
<a class="newer-posts" href="{{ site.url }}/{{ paginate_url }}/page{{ paginator.previous_page }}/" class="btn" title="Newer Posts">← Newer Posts</a>
{% endif %}
{% endif %}
{% if paginator.next_page %}
<a class="older-posts" href="{{ site.url }}/{{ paginate_url }}/page{{ paginator.next_page }}/" class="btn" title="Older Posts">Older Posts →</a>
{% endif %}
{% else %}
{% if paginator.previous_page %}
{% if paginator.previous_page == 1 %}
<a class="newer-posts" href="{{ site.url }}/" class="btn" title="Newer Posts">← Newer Posts</a>
{% else %}
<a class="newer-posts" href="{{ site.url }}/page{{ paginator.previous_page }}/" class="btn" title="Newer Posts">← Newer Posts</a>
{% endif %}
{% endif %}
{% if paginator.next_page %}
<a class="older-posts" href="{{ site.url }}/page{{ paginator.next_page }}/" class="btn" title="Older Posts">Older Posts →</a>
</nav>
</div>
</div>
{% endif %}
{% endif %}
{% endif %}
此代碼將生成分頁帖子的導航菜單,該菜單是智能的並相應地隱藏按鈕。 例如,如果您總共有11個帖子並且您在每個分頁索引中選擇了4個頁面,則第一個頁面將包含4個帖子,第二個頁面還包含4個帖子和第三個帖子。第一個頁面只需顯示Older posts -->
帖子Older posts -->
鏈接,第二頁將顯示<--Newer posts...Older posts-->
鏈接,第三頁將僅顯示<--Newer posts
鏈接。 但如果您的總帖子少於4,此代碼將隱藏您的分頁導航,直到帖子編號大於4。
幸運的是,Jekyll已經加入了(您已經在上面描述過的內容)。您可以通過查看Jekyll分頁文檔了解如何將其合並到您的網站中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.