Я просто создаю тему для платформы блогов для призраков, читая призрачные документы темы. все, что мне нужно сейчас, это настроить разбивку на страницы. документ говорит создать pagination.hbs
внутри папки partial
. но проблема в том, что я не знаю, как должна быть разметка.
Там короткая публикация здесь, в которой объясняется, где найти соответствующий бит кода для разбивки на страницы. hbs файл. Фактически вы сможете использовать код разбивки по умолчанию в качестве шаблона.
В качестве заметок этого сообщения вам нужно скопировать код разбивки по умолчанию из core/server/helpers/tpl/pagination.hbs
в исходный код Ghost и использовать его для создания собственного файла pagination.hbs в каталоге partials
вашей темы.
Вы увидите разметку, которую вам нужно изменить там, то есть:
<nav class="pagination" role="pagination">
{{#if prev}}
<a class="newer-posts" href="{{pageUrl prev}}">←</a>
{{/if}}
<span class="page-number">Page {{page}} of {{pages}}</span>
{{#if next}}
<a class="older-posts" href="{{pageUrl next}}">→</a>
{{/if}}
</nav>
Вам нужно перезапустить Ghost после сохранения изменений, чтобы увидеть изменения.
Я создал некоторый код JavaScript, который расширяет разбивку по страницам Ghost по умолчанию. Вместо того, чтобы показывать "Страница 1 из X", он показывает ряд номеров страниц с помощью кнопок "предыдущий", "следующий", "первый" и "последний". Он также имеет многоточие в центре для сайтов с большим количеством страниц. Он полностью настраивается на странице настроек вставки кода.
Моя реализация создает компонент разбиения на страницы для начальной загрузки, но я уверен, что вы можете выводить все, что захотите, с учетом созданных классов и элементов (<nav>
и <ul>
).
Вот код, который я указываю перед {{ghost_foot}}
. Таким образом, я могу переопределить некоторые параметры в разделе нижнего колонтитула ввода кода:
var prev;
var pages;
var page;
var next;
var pageUrlPrev;
var pageUrlNext;
var numbersSurroundingEllipses = 3;
var useSimplePagination = false;
Вот pagination.hbs
для настраиваемая разбивка на страницы, которую я использую на своем сайте:
<script type="text/javascript">
// set the values that we'll use in the bootstrap-pagination.js file
{{!if there is no value for the variable, display a 0}}
prev = {{#if prev}}{{prev}}{{else}}0{{/if}};
pages = {{#if pages}}{{pages}}{{else}}0{{/if}};
page = {{#if page}}{{page}}{{else}}0{{/if}};
next = {{#if next}}{{next}}{{else}}0{{/if}};
pageUrlPrev = '{{pageUrl prev}}';
pageUrlNext = '{{pageUrl next}}';
pageUrlFirst = '{{pageUrl 1}}';
pageUrlLast = '{{pageUrl pages}}';
</script>
<nav>
<ul class="pagination bootstrap-pagination">
</ul>
</nav>
Вот код javascript, который добавит разбивку на страницы выше HTML.
Примечание. Поскольку эти ссылки создаются на клиенте, они не будут доступны поисковым системам при индексировании. Тем не менее, я понимаю, что поисковые системы используют теги link rel="prev"
и link rel="next"
, которые вызывают Ghost для каждой из страниц индекса.
Вот как они выглядят для моего сайта:
<link rel="prev" href="https://cerkit.com/page/2/" />
<link rel="next" href="https://cerkit.com/page/4/" />
Это заставляет меня думать, что поисковые системы могут перемещаться между страницами и получать доступ ко всем ссылкам. Тем не менее, я не подтвердил это ни с кем, кто точно знал бы, так что сделайте некоторые исследования, если вы считаете, что это может быть проблемой.
Я также убедился, что я отправил ссылку на ссылку для сайта Ghost в поисковые системы, чтобы убедиться.
Это дает вам еще один вариант при работе с разбиением на страницы.
Здесь - полная запись в моем блоге, в которой содержится несколько деталей.
У меня есть все это (и несколько других трюков Ghost, как привязка значков шрифта Awesome к ссылкам навигации) на моем веб-сайте: cerkit.com.