
Tempo de leitura: 2 minutos
Mostrando postagens relacionadas com base na categoria da postagem atual no Jekyll
Ultimamente, eu queria mostrar postagens relacionadas em páginas de postagem com base na categoria em que a postagem atual se encontra. Então, por exemplo, se a postagem pertencer à categoria “Jekyll”, eu buscaria as cinco postagens recentes publicadas nesta categoria e mostraria aqueles no post. No meu caso, como você pode ver, mostrei na barra lateral direita, abaixo do More in “Jekyll”rótulo.
Antes de continuar lendo, se você não sabe como categorizar suas postagens no Jekyll , recomendo fortemente que você primeiro leia este artigo e volte novamente.
Tudo bem, minha tarefa era buscar postagens relacionadas por categoria. No meu caso, eu classifico minhas postagens por categoriespropriedade no frontmatter assim.
---
layout: post
author: cristiano
title: Everything About Jekyll
categories: [Jekyll]
---
Então, eu precisava usar essa propriedade para buscar os posts relacionados. Por exemplo, se eu quiser buscar as cinco postagens recentes na categoria “Jekyll”, posso fazer isso fazendo um loop site.categories
(que está disponível globalmente) assim.
{% for post in site.categories['Jekyll'] limit: 5 %}
<li>
<p>
<a href="{{ post.url | relative_url }}">
{{ post.title | escape }}
</a>
</p>
</li>
{% endfor %}
Observe que codifiquei “Jekyll” aqui. Mas precisamos usar a categoria do post. Assim, podemos usar page.categoriesa propriedade post que contém a categoria do post atual.
Há um problema, no entanto. Você simplesmente não pode usar page.categoriescomo índice site.categoriesassim.
site.categories[page.categories]
Isso ocorre porque Jekyll não se identifica page.categoriescomo texto/string.
Para contornar isso, você precisaria capturá-lo usando uma tag de captura que permite atribuir texto/string a uma variável e depois usar essa variável como um índice da site.categoriesmatriz. Então, nosso código atualizado ficaria assim.
{% capture category %}{{ page.categories | first }}{% endcapture %}
{% for post in site.categories[category] limit: 5 %}
<li>
<p>
<a href="{{ post.url | relative_url }}">
{{ post.title | escape }}
</a>
</p>
</li>
{% endfor %}
E é assim que você pode mostrar postagens relacionadas à sua postagem atual no Jekyll!
Publicidade
📢 Quer ficar por dentro de todas as novidades do nosso blog? Não perca os últimos artigos, dicas valiosas e informações relevantes!
Junte-se a nós nas redes sociais para receber em primeira mão:
- Artigos exclusivos;
- Dicas práticas;
- Ofertas especiais e descontos exclusivos para nossos seguidores.
Não vamos inundar sua caixa de entrada com newsletters! Simplesmente nos siga em uma de nossas redes sociais para garantir que você não perca nenhum conteúdo interessante. Estamos ansiosos para tê-lo(a) conosco! 🚀