Как разбить страницы на категории в Jekyll с помощью Github Pages? - PullRequest
0 голосов
/ 09 мая 2019

Новичок в конвертации блога WordPress в Jekyll. Я пытаюсь добавить нумерацию страниц в макет своей категории.В каталоге _layouts я создал файл с именем category.html .Я могу успешно отобразить определенную категорию с помощью:

category.html:

---
layout: default
---
{% assign catName = page.title | string %}
{% for post in site.categories[catName] %}
    <p>{{ post.title }}</p>
{% endfor %}

Когда я пытаюсь разбить посты на категории после следования Документация Jekyll по разбиению на страницы:

{% for foobar in paginator.posts %}
    <p>{{ foobar.title }}</p>
{% endfor %}

код ничего не отображает.По моим исследованиям Github Pages ограничивает, какие плагины можно использовать, и я не могу проверить, разрешен ли jekyll-paginate-v2 .

Моя файловая структура:

_config.yml:

plugins:
  - jekyll-feed
  ## - jekyll-paginate-v2
  - jekyll-paginate

exclude:
  - Gemfile
  - Gemfile.lock

collections:
  category:
    output: true

defaults:
    scope:
      path: ""
      type: category
    values:
      layout: "category"

paginate: 1
paginate_path: "/page:num/"

Gemfile:

gem "github-pages", group: :jekyll_plugins

group :jekyll_plugins do
  gem "jekyll-feed", "~> 0.6"
  ## gem "jekyll-paginate-v2", "~> 1.7"
  gem "jekyll-paginate"
end

Исследование:

Для сайта Jekyll на странице Github, как я могу создать нумерацию страниц для категории, чтобы отображать только сообщения для этой категории?Это будет эквивалентно WordPress 'category.php.

1 Ответ

1 голос
/ 09 мая 2019

Paginate только разбивает на страницы все сообщения, а не по категориям или тегам.

Paginate V2 делает это даже для коллекций.Но вы не можете запустить этот плагин на страницах Github ( разрешенные плагины ).

Два решения:

  1. опубликовать ваш код в ветке, сгенерировать вашлокально (или с такой службой, как Travis Continuous Integration , бесплатной для проектов с открытым исходным кодом) и опубликуйте (или разрешите своему CI публиковать) ваш сгенерированный код в другой ветви.

  2. используйте современного хостинг-провайдера, такого как Netlify , который позволяет использовать любой плагин.

...