Jekyll、ページング機能、分類ページング付き!


ページング機能
多くのサイト(特にブログ)では、文章がますます多くなると、文章のリストをページ別に表示する必要があります.Jekyllはすでにページング機能を独自に構築しており、約束通りにファイルを置くだけでいいです.しかし、categoryでは、tagの分類ページが実現できず、プラグインでやらなければならないという欠陥があります.
ポイントが来た!
何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度も何度もまず考えてみてください.もし私が分類のページを実現したら、jekyll-paginateも1つのindexしかできませんか.htmlページが有効ですか?もし私が複数のページにページを分けたいなら?構成方法Jekyll-paginateのページはまだ穴があいています!私のニーズを完全に満たすことができず、私の心の渇きを満たすことができません.そこで、修正することにしました!先に「原装機能実現」を付けます!
Jekyll 3では、gemsにjekyll-paginateプラグインをインストールし、Gemfileと_config.ymlに追加する必要があります.Jekyll 2では、ページングが標準機能です.
ページング機能はHTMLファイルのみをサポートします
Jekyllのページング機能では、Jekyll siteのMarkdownファイルまたはTextileファイルはサポートされていません.ページング機能は、index.htmlというHTMLファイルから呼び出されたときに動作します.ページング機能はオプションであり、paginate_pathで構成された値をサブディレクトリに常駐および生成することができる.
ページング機能の有効化
ページング機能を開くのは簡単で、_config.ymlに1行追加して、各ページにどれだけの項目を展示すべきかを示すだけです.
paginate:5
paginate_path: "page:num"
blog/index.htmlはこの設定を読み取り、各ページングページに転送し、2ページからblog/page:numに出力し、:numはページ番号である.12の文章があり、paginate: 5の構成をしている場合、Jekyllは前の5つの文章をblog/index.htmlに書き込み、次の5つの文章をblog/page2/index.htmlに書き込み、最後の2つの文章をblog/page3/index.htmlに書き込む.
permalinkを設定しない
あなたのブログのヘッダ情報にpermalinkを設定すると、ページング機能が麻痺します.デフォルトでpermalinkを設定すればいいです.このように、jekyllのページは本当に穴があいています!
使用可能なLiquidプロパティ
ページング機能プラグインにより、paginator liquidオブジェクトに次のプロパティが与えられます.
ツールバーの
説明page
現在のページ番号per_page
1ページあたりの記事数posts
現在のページの記事リストtotal_posts
合計記事数total_pages
合計ページ数previous_page
前のページ番号またはnil(前のページが存在しない場合)previous_page_path
前のページのパスまたはnil(前のページが存在しない場合)next_page
次のページ番号またはnil(次のページが存在しない場合)next_page_path
次のページのパスまたはnil(次のページが存在しない場合)
ラベルとカテゴリのページングはサポートされていません
ページング機能はpostsの下のすべての文章を遍歴し、文章内のヘッダ情報に定義された変数を無視します.ラベルとカテゴリのページングはサポートされていません.この機能がpostsに制限されているため、ファイルセットもサポートされていません.
ページング機能付き文書の生成
次にあなたがしなければならないことは、すでに把握しているpaginator変数を使用して、リストにあなたの文章を表示することです.次の簡単な例では、HTMLファイルにページング機能付きの記事を生成します(bootstrapのページングを使用します).
ページをめくった文章
---
layout: default
title: My Blog
---


{% for post in paginator.posts %}

{{ post.title }}

{{ post.date }}

{{ post.content }}
{% endfor %}

カスタムプラグインpaginate
実は修正版のjekyll-paginateで、小さなふりをしています(奸笑).くだらないことを言わないで直接干物に行きなさい.カスタムプラグインについては、言うまでもなく、転送ドア--プラグイン
まず、jekyllはプラグインをインストールします.プラグインをインストールする方法は2つあります.
  • Webサイトのルートの下にディレクトリを作成します.pluginsフォルダ、プラグインはここに置けばいいです.Jekyllが実行される前に、このディレクトリの下にあるすべての*がロードされます.rbの最後のファイル.
  • 在_config.ymlファイルにgemsをkeyとする配列を追加し、配列にプラグインを格納するgem名を追加します.例:gems:[jekyll-test-plugin,jekyll-jsonify,jekyll-assets]
  • 次に、2つのファイルpagerを導入する.rbとpaginate.rb配置_plugins
    転送ドア-click here!
    同様にページング機能をオンにする
    注意、ここはjekyll-paginateとは違うところです!
    paginate:5
    paginatepath: ['topics/study/page/:num','topics/life/page/:num']

    そう、ここのpaginatepath: []はもうpaginate_path:"page:numではなく配列です!私が言ったように、もし私が複数のページにページを分けたいなら?
    注意点:
  • index.html必ずあなたの分類名のフォルダの下に置いてください!覚えておいて!
  • index.html分類について、私のやり方は各ページにcategoryを構成することであり、私もcategoryに基づいてページングを実現する
  • です.
    これで完成です.思う存分使えるようになりました!他の機能はjekyllのページングと似ています.
    原文住所:http://bamzc.top/2016/11/03/j...