Este site usa cookies para garantir que você obtenha a melhor experiência.

#Compartilhe

Bom, eu já postei alguns artigos aqui antes sobre Jekyll, desta vez iremos fazer uma melhoria na página home, para facilitar ainda mais a navegação dos usuários para encontrar postagens mais rapidamente.

Este processo requer quatro passos simples que consiste na alteração de 3 arquivos Gemfile, config.yml e index.html/index.md e a criação de uma arquivos pagination.html caso não exista. Então, vamos ao que nos interessa.

Passo 1 (Gemfile)

Para começarmos, temos de adicionar o plugin jekyll-paginate-v2 dentro do arquivo Gemfile, caso exista outro plugin de paginação sugiro remover o mesmo para evitar possíveis conflitos de compilação do Jekyll.

group :jekyll_plugins do
 gem "jekyll-paginate-v2" #New plugin paginate
 gem "jekyll-sitemap"
 gem "jekyll-admin"
end

Em seguida deve executar o seguir comando para instalar e atualizar as dependências do novos plugin.

bundle install

Passo 2 (config.yml)

Ao finalizar o passo 1, a aplicação Jekyll estará preparada para receber as configurações em nosso arquivo config.yml, adicione os seguinte código dentro do arquivos em qualquer posição.

# Outros códigos de configurações…

pagination:
 enabled: true # Habilita a paginação
 per_page: 12 # Quantidade de postagens por página
 permalink: '/blog/page/:num/' # URL que será exibido ao navegar entre as página
 sort_reverse: true # Habilita a opção de voltar à página anterior
 sort_field: 'date' # Filtra a paginação de acordo com a data de publicação das postagens
 title: 'Página :num' # Nome de exibição que será carregado no <title> do blog
 trail:
   before: 2 # Exibe o número de postagens a esquerda
   after: 2 # Exibe o número de postagens a direita

# Outros códigos de configurações…

Note que descrevemos cada linha com um breve comentários, com cada uma de suas funcionalidade.

Caso o servidor Jekyll esteja em execução, sugerimos que pare o mesmo e inicie novamente, pois a cada alteração realizada no arquivos config.yml o servidor deve ser reiniciado.

Passo 3 (index.html/index.md)

Agora já podemos trabalhar no nosso arquivos index, aqui são dois passos simples, acompanhe a seguir.

Front Matter: Adiciona o seguinte código dentro da estrutura Front Matter do arquivo index.

---
layout: home
pagination:
 enabled: true
---

Include: Ainda dentro do arquivo index adicionar a seguinte linha, esta linha deve ser adicionado você deseja que a numeração de página seja exibida.

{% include pagination.html %}

Passo 4 (pagination.html)

Agora dentro do diretório includes crie uma arquivo chamado pagination.html, em seguida adicione o código abaixo dentro do arquivo que acabou de criar.

<!-- Pagination links -->
{% if paginator.total_pages > 1 %}
<ul class="pagination">
   {% if paginator.previous_page %}
   <li>
       <a class="previous" href="{{ paginator.previous_page_path | prepend: site.baseurl }}"></a>
   </li>
   {% endif %}
 
   {% if paginator.page_trail %}
   {% for trail in paginator.page_trail %}
       <li {% if page.url == trail.path %}class="selected"{% endif %}>
           <a href="{{ trail.path | prepend: site.baseurl }}" title="{{ trail.title }}">{{ trail.num }}</a>
       </li>
   {% endfor %}
   {% endif %}
 
   {% if paginator.next_page %}
   <li>
       <a class="next" href="{{ paginator.next_page_path | prepend: site.baseurl }}"></a>
   </li>
   {% endif %}
</ul>
 
<span class="page_number">Página: {{ paginator.page }} de {{ paginator.total_pages }}</span>
{% endif %}

Agora pronto, seu blog já deve funcionar com uma nova paginação, a única coisa que você precisa fazer agora é adicionar um pouco de CSS para estilizar a exibição, optamos por não liberar um modelo de CSS aqui por questões de gosto pessoal.

Conclusão

Bom, eu espero que todos vocês tenham entendido e curtido o que acabamos de realizar aqui. Caso você deseja ter acesso ao CSS para estilizar a paginação, ou caso tenha alguma dúvida é só deixar nos comentários.

Não esqueça de compartilhar nas redes sociais com seus amigos.


#Compartilhe