Opa tudo certo?
Hoje é um dia tostante na cidade de Jaraguá do Sul - SC.
Resolvi trazer um pouco do conhecimento de como foi construir o Blog do Programador com o Jekyll, esta ferramenta fantástica que vem crescendo e ajudando bastante os desenvolvedores.
O que é Jekyll?
Jekyll é uma programa escrito em Ruby para servir como uma ferramenta SSG - Static Site Generator, onde o desenvolvedor codifica um site dinâmico para ser compilado em um simples site estático que pode ser hospedado em qualquer lugar.
Como o foco deste post não é entrar a fundo em como o Jekyll trabalha, mais sim na experiência em utilizar o mesmo para a construção deste blog, vou deixar aqui um ótimo post do blog Virtua Creative blog, onde ele detalha bastante esta ferramenta.
Lembrando que este blog foi montado para compartilhar conteúdo de qualidade, e se um outro blog possuir um post mais detalhado do assunto, estarei referenciando o mesmo para garantir uma melhor dissipação do conhecimento.
Porque utilizei o Jekyll?
Atualmente existem várias ferramentas que servem como bons SSG - Static Site Generator, como existem muitas acabei separando as ferramentas que as linguagens me agradam:
A forma de uso das ferramentas são similares, porém o Jekyll se sobresai melhor em alguns pontos quando o foco era manter o código-fonte e o site final em um unico repositório de forma prática e sem complicação.
Ao fazer upload do código no repositório que está configurado como um Github Pages, o próprio Github se encarrega de compilar o Jekyll e deixar seu site rodando sem sujar o repositório com o código-fonte do site final.
Ferramentas como o Hexo e o Hugo normalmente precisam que o desenvolvedor compile o site manualmente e envie o código para o repositório, gerando assim uma forma meio complicada e esquisita de se trabalhar.
Vale lembrar que eu não encontrei facilmente outras formas de se trabalhar com o Hexo e o Hugo, então pode ser que exista outras formas mais práticas de usar as duas ferramentas.
Experiências
Trabalhar com Jekyll foi uma experiência bem tranquila, desde a instalação até as formas de compilação do trabalho final.
Demorou cerca de 30 minutos para que o blog estivesse completamente configurado e funcionando, mesmo tendo que fazer a instalação do Ruby e o download do tema que mais me agradava.
Existe um ponto crítico que vale destacar, que são os plugins customizados! O Github Pages aparentemente não dá suporte a plugins customizados por desenvolvedores.
A utilização de temas com plugins customizados acaba fazendo com que o desenvolvedor precise compilar o site da mesma forma que o Hexo e o Hugo como mostrei logo acima. Tirando aquele clima de simplicidade na hora de começar a utilizar o projeto.
Restrição de plugins pelo Github Page >We can’t run user plugins on GitHub Pages due to security restrictions. You are free to generate your site locally and push the resulting HTML to a Git repo, however.
Melhores temas
Mesmo com toda essa complicação com temas usam plugins customizados, vou colocar aqui alguns temas bem legais que achei e podem ser utilizados diretamente no Github Pages.
Jekyll-uno: Este é o tema atual deste blog. Estou tentando dar uma ajuda no projeto deste desenvolvedor, para adicionar sistema de compartilhamento e página de autor. Essas duas modificações já foram testadas aqui no blog, porém estou melhorando o desenvolvimento para liberar na versão oficial.
Kasper: O Kasper é um tema bastante simples para quem quer fazer um blog sem muita sujeira no front-end. Já possui quase todas as implementações para um bom blog e também é aceito pelo Github Pages.
Os temas mesmo se estiverem bem trabalhados, acabam não satisfazendo por completo a necessiadde de um projeto, como foi o caso do Jekyll-uno para o Blog do Programador.
Escolha um tema que você consiga editar e modificar com facilidade, assim você poderá adicionar funcionalidades que o projeto precisa.
Conclusão
É isso ai galera, fico por aqui com esse pequeno post sobre minha experiência com Jekyll.
Espero que sirva como ajuda para quem está procurando um pouco de opinião sobre o Jekyll.
Deixo aqui meu agradecimento ao desenvolvedor Josh Gerdes, que teve total contribuição na criação do tema utilizado aqui no Blog do Programador.