
Tempo de leitura: 3 minutos
Adicionando a data da última modificação do post no Jekyll
Neste tutorial, vamos aprender como implementar um plugin simples para exibir a data e hora da última modificação de um arquivo no Jekyll, usando o fuso horário de São Paulo. Apanhei muito até consegui essa solução, rsrs…
Sobre strftime
e tzinfo
-
strftime
: É um método em linguagens de programação, como Ruby, usado para formatar a representação de datas e horas em texto. Ele permite que você defina como a data e a hora serão apresentadas, incluindo o formato dos meses, dias, anos, horas, minutos, entre outros. -
tzinfo
: É uma biblioteca Ruby usada para lidar com informações de fuso horário. Com ela, você pode obter informações sobre diferentes fusos horários, converter entre fusos horários, manipular datas e horas em diferentes zonas de tempo e mais.
Passo 1: Instalação de dependências
-
Verifique a presença das gems: Certifique-se de ter as gems
strftime
etzinfo
instaladas no seu ambiente Ruby.gem install strftime tzinfo
Isso instalará as gems necessárias para a utilização das funcionalidades no código.
Passo 2: Criando o arquivo do plugin
-
Crie um arquivo para o plugin: Na raiz do seu projeto Jekyll, crie uma pasta chamada
_plugins
, isso se ela ainda não existir. -
Crie um arquivo para o plugin: Dentro da pasta
_plugins
, crie um arquivo chamadolast_modified_date.rb
. -
Adicione o código do plugin: Copie e cole o código do plugin
last_modified_date.rb
que forneço abaixo neste arquivo que você acabou de criar.
require 'strftime'
require 'tzinfo'
module Jekyll
class LastModifiedDate < Liquid::Tag
def render(context)
page = context.registers[:page]
file_path = page['path']
return '' unless File.exist?(file_path) # Retorna uma string vazia se o arquivo não existe
modified_time = File.mtime(file_path)
timezone = TZInfo::Timezone.get('America/Sao_Paulo')
local_modified_time = timezone.utc_to_local(modified_time.utc)
pt_br_months = {
"January" => "janeiro",
"February" => "fevereiro",
"March" => "março",
"April" => "abril",
"May" => "maio",
"June" => "junho",
"July" => "julho",
"August" => "agosto",
"September" => "setembro",
"October" => "outubro",
"November" => "novembro",
"December" => "dezembro"
}
formatted_date = local_modified_time.strftime("Última atualização: %e de %B de %Y às %H:%M:%S")
pt_br_months.each { |en_month, pt_br_month| formatted_date.sub!(en_month, pt_br_month) }
formatted_date
end
end
end
Liquid::Template.register_tag('last_modified_date', Jekyll::LastModifiedDate)
Passo 3: Utilizando o plugin no seu site
-
2- Adicione a tag nos seus templates ou posts: Em qualquer lugar dos seus arquivos Markdown (por exemplo, em um layout ou em um post), você pode usar a tag
{% last_modified_date %}
para exibir a data e hora da última modificação. Por exemplo:{% last_modified_date %}
Isso exibirá a frase “Última atualização:” seguida pela data e hora da última modificação com o horário de São Paulo.
-
2- Reinicie o servidor Jekyll: Após adicionar o arquivo do plugin, certifique-se de reiniciar o servidor Jekyll para que as alterações tenham efeito.
Ao seguir esses passos e compreender o papel do strftime
e do tzinfo
, você estará habilitado a implementar e personalizar a exibição da data de modificação em seu site ou blog Jekyll.
Nos falamos no próximo artigo. Até lá!!!
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! 🚀