💎 Cap 14: Geradores de Sites Estáticos Clássicos: Jekyll, Liquid Templates e o Parser Kramdown
🗺️ O Fluxo de Compilação de um Site Jekyll
flowchart TD
SOURCE["Repositório Fonte:\n- _config.yml\n- _layouts/\n- _includes/\n- _posts/ e páginas .md"]
--> ENGINE["Engine Jekyll (Ruby)"]
ENGINE --> PARSE_MD["Parser Kramdown (Converte Markdown para HTML)"]
ENGINE --> LIQUID["Liquid Template Engine (Interpolação de Tags, Filtros e Includes)"]
ENGINE --> SASS["Processador Sass / SCSS (Compila estilos CSS)"]
PARSE_MD & LIQUID & SASS --> SITE["Diretório _site/ Gerado\n(HTML, CSS, JS estáticos prontos para deploy no GitHub Pages) ⚡"]
style SOURCE fill:#ede7f6,stroke:#512da8,stroke-width:2px
style ENGINE fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style PARSE_MD fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style LIQUID fill:#e8f5e9,stroke:#4caf50,stroke-width:1.5px
style SASS fill:#fff9c4,stroke:#fbc02d,stroke-width:1.5px
style SITE fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
📖 Fundamentos e Aplicação
O Jekyll foi o pioneiro que popularizou o movimento Docs-as-Code e geradores de sites estáticos modernos. Criado por Tom Preston-Werner (co-fundador do GitHub), o Jekyll possui suporte nativo no GitHub Pages, transformando repositórios Git em sites públicos sem necessidade de bancos de dados ou servidores backend complexos.
Componentes Arquiteturais do Jekyll:
_config.yml: Arquivo mestre de configuração global do site (título, descrição, plugins e coleções).-
Kramdown: O parser padrão em Ruby que estende o Markdown com IAL (Inline Attribute Lists como
{: .destaque }), tabelas avançadas e matemática. - Liquid Template Engine (Shopify):
- Objetos:
{{ page.title }},{{ site.posts }}. - Tags de Controle:
{% for item in colecao %},{% if condicao %},{% include header.html %}. - Filtros de Formatação:
{{ page.date | date: "%d/%m/%Y" }},{{ post.content | strip_html | truncatewords: 30 }}.
- Objetos: