SlideShare uma empresa Scribd logo
Sta$c  Site  Generator
@bruno2ms
Como  começar?
Ruby  +  Liquid  +  YAML
Como  funciona?
• Converte  Markdown,  Tex$le  e  HTML  com  
Liquid  Tags  
• Aplica  templates  e  Layout  Pages  
• Converte  arquivos  sass  
• Se  aproveita  da  estrutura  de  pastas  para  
gerar  blog  e  posts  
• Transforma  isso  tudo  em  HTML  está$co
O  que  já  vem  pronto?
• Paginação  
• Estrutura  personalizada  de  permalinks  
• Posts  relacionados  
• Syntax  highlight  
• Conversão  Markdown/Tex$le
Estrutura  Inicial
Configuração  Centralizada
_config.yml
Configuração  YAML
• Configuração  de  variáveis  globais  
• Variáveis  reu$lizáveis  de  acordo  com  
estrutura  dos  arquivos  
• Adicione  as  chaves  que  desejar  para  
reaproveitar  em  todo  o  site
Exemplo
YAML  Front  MaJer
---
layout: post
title: Blogging Like a Hacker
permalink: /path/to/my/page/
published: true
categories: [categoria1, categoria2]
---
<!DOCTYPE HTML>
<html>
<head>
<title>{{ site.name }} - {{ page.title }}</title>
</head>
<body>
...
Deploy?
• Instancia  grá$s  do  Heroku  
• GitHub  Pages  
• Direto  para  a  Amazon  S3  
• Qualquer  lugar  que  aceite  páginas  está$cas  
• hTp://jekyllrb.com/docs/deployment-­‐
methods/
Comentários  do  Blog?
Extender  
-­‐ Disqus  (exemplo)  
-­‐ Intense  Debate  
-­‐ Facebook  Comments
Disqus
...
layout: default
comments: true
# other options
...
{% if page.comments %}
{% include disqus.html %}
{% endif %}
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = ‘your_user';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/
javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
sua_pagina.html
_includes/disqus.html
Data  Files?
_data/*/*.yml
_data/*/*.csv
_data/*/*.json
Data  Files
- name: Tom Preston-Werner
github: mojombo
- name: Parker Moore
github: parkr
- name: Liu Fengyun
github: liufengyun
<ul>
{% for member in site.data.members %}
<li>
<a href="https://github.com/{{ member.github }}">
{{ member.name }}
</a>
</li>
{% endfor %}
</ul>
index.yml
_data/members.yml
Data  Files
name: Bluesoft
members:
- name: Tom Preston-Werner
github: mojombo
- name: Parker Moore
github: parkr
_data/orgs/blueso.yml _data/orgs/webgoal.yml
name: Webgoal
members:
- name: Tom Preston-Werner
github: mojombo
- name: Parker Moore
github: parkr
<ul>
{% for org_hash in site.data.orgs %}
{% assign org = org_hash[1] %}
<li>
<a href="https://github.com/{{ org.username }}">
{{ org.name }}
</a>
({{ org.members | size }} members)
</li>
{% endfor %}
</ul>
Arquitetura  de  Plugins
(facilidade  de  extender)
_plugins/*.rb
hTp://jekyllrb.com/docs/plugins/
OBRIGADO
(confira  as  próximas  apresentações  avançadas)
@bruno2ms

Mais conteúdo relacionado

Destaque

Introduction to blogging with Jekyll
Introduction to blogging with JekyllIntroduction to blogging with Jekyll
Introduction to blogging with Jekyll
Eric Lathrop
 
Jekyll - Liquid for noobs
Jekyll - Liquid for noobsJekyll - Liquid for noobs
Jekyll - Liquid for noobs
Bruno Mendes
 
Montes Claros - Cursar tecnologia no interior de Minas Gerais
Montes Claros - Cursar tecnologia no interior de Minas GeraisMontes Claros - Cursar tecnologia no interior de Minas Gerais
Montes Claros - Cursar tecnologia no interior de Minas Gerais
Bruno Mendes
 
Pomodoro technique
Pomodoro techniquePomodoro technique
Pomodoro technique
Bruno Mendes
 
Eu escolho ser feliz!
Eu escolho ser feliz!Eu escolho ser feliz!
Eu escolho ser feliz!
Felipe Faias
 
Muito prazer, nós somos a família PEDREIRA!
Muito prazer, nós somos a família PEDREIRA!Muito prazer, nós somos a família PEDREIRA!
Muito prazer, nós somos a família PEDREIRA!
Felipe Faias
 
Tá fazendo o que aqui?
Tá fazendo o que aqui?Tá fazendo o que aqui?
Tá fazendo o que aqui?
Felipe Faias
 
Como falhar como líder
Como falhar como líderComo falhar como líder
Como falhar como líder
Bruno Mendes
 
Lean ux
Lean uxLean ux
Lean ux
Bruno Mendes
 
Why SASS - in 10 minutos
Why SASS - in 10 minutosWhy SASS - in 10 minutos
Why SASS - in 10 minutosBruno Mendes
 
Tá esperando o que?
Tá esperando o que?Tá esperando o que?
Tá esperando o que?
Felipe Faias
 
Anything You Want
Anything You WantAnything You Want
Anything You Want
Felipe Faias
 
Agilidade: como começar?
Agilidade: como começar?Agilidade: como começar?
Agilidade: como começar?
Alex Chastinet
 
A arte de ser feliz
A arte de ser felizA arte de ser feliz
A arte de ser felizHelio Cruz
 
Fisica da agilidade
Fisica da agilidadeFisica da agilidade
Fisica da agilidade
Bruno Mendes
 
Ser Feliz é Uma Decisão
Ser Feliz é Uma DecisãoSer Feliz é Uma Decisão
Ser Feliz é Uma DecisãoPower Point
 
Vida saudável
Vida saudávelVida saudável
Vida saudável
Felipe Faias
 
Liderança com Inteligência Emocional
Liderança com Inteligência EmocionalLiderança com Inteligência Emocional
Liderança com Inteligência EmocionalLeonardo Filardi
 

Destaque (20)

Introduction to blogging with Jekyll
Introduction to blogging with JekyllIntroduction to blogging with Jekyll
Introduction to blogging with Jekyll
 
Jekyll - Liquid for noobs
Jekyll - Liquid for noobsJekyll - Liquid for noobs
Jekyll - Liquid for noobs
 
Montes Claros - Cursar tecnologia no interior de Minas Gerais
Montes Claros - Cursar tecnologia no interior de Minas GeraisMontes Claros - Cursar tecnologia no interior de Minas Gerais
Montes Claros - Cursar tecnologia no interior de Minas Gerais
 
Pomodoro technique
Pomodoro techniquePomodoro technique
Pomodoro technique
 
OOCSS
OOCSSOOCSS
OOCSS
 
Eu escolho ser feliz!
Eu escolho ser feliz!Eu escolho ser feliz!
Eu escolho ser feliz!
 
No silencio da minha mente
No silencio da minha menteNo silencio da minha mente
No silencio da minha mente
 
Muito prazer, nós somos a família PEDREIRA!
Muito prazer, nós somos a família PEDREIRA!Muito prazer, nós somos a família PEDREIRA!
Muito prazer, nós somos a família PEDREIRA!
 
Tá fazendo o que aqui?
Tá fazendo o que aqui?Tá fazendo o que aqui?
Tá fazendo o que aqui?
 
Como falhar como líder
Como falhar como líderComo falhar como líder
Como falhar como líder
 
Lean ux
Lean uxLean ux
Lean ux
 
Why SASS - in 10 minutos
Why SASS - in 10 minutosWhy SASS - in 10 minutos
Why SASS - in 10 minutos
 
Tá esperando o que?
Tá esperando o que?Tá esperando o que?
Tá esperando o que?
 
Anything You Want
Anything You WantAnything You Want
Anything You Want
 
Agilidade: como começar?
Agilidade: como começar?Agilidade: como começar?
Agilidade: como começar?
 
A arte de ser feliz
A arte de ser felizA arte de ser feliz
A arte de ser feliz
 
Fisica da agilidade
Fisica da agilidadeFisica da agilidade
Fisica da agilidade
 
Ser Feliz é Uma Decisão
Ser Feliz é Uma DecisãoSer Feliz é Uma Decisão
Ser Feliz é Uma Decisão
 
Vida saudável
Vida saudávelVida saudável
Vida saudável
 
Liderança com Inteligência Emocional
Liderança com Inteligência EmocionalLiderança com Inteligência Emocional
Liderança com Inteligência Emocional
 

Semelhante a Jekyll

Wordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de TemplatesWordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de Templates
Wesley R. Bezerra
 
Jekyll 101
Jekyll 101Jekyll 101
Jekyll 101
Rafael Valério
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blogMateus Neves
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Gustavo Zimmermann
 
ASP.NET - Aparência do WebSite
ASP.NET - Aparência do WebSiteASP.NET - Aparência do WebSite
ASP.NET - Aparência do WebSite
Leonardo Lourenço Silva
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
Israel Messias
 
Curso de WordPress
Curso de WordPressCurso de WordPress
Curso de WordPress
Vinícius Roggério da Rocha
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funções
Daniel Marcos
 
Aula30 trevisan
Aula30 trevisanAula30 trevisan
Aula30 trevisan
Luciano Palma
 
Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
Simples Consultoria
 
HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)
Gustavo Zimmermann
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Sérgio Vilar
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
Guga Alves
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seointrofini
 
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
Aline Couto (alineideias)
 
Formação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSFormação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSS
PedroMatos469278
 
2. Introdução ao CSSpptx.pdf
2. Introdução ao CSSpptx.pdf2. Introdução ao CSSpptx.pdf
2. Introdução ao CSSpptx.pdf
RubenManhia
 
HTML Básico
HTML BásicoHTML Básico
CSS com SASS e SMACSS faz BEM
CSS com SASS e SMACSS faz BEMCSS com SASS e SMACSS faz BEM
CSS com SASS e SMACSS faz BEM
Wellington Dutra
 

Semelhante a Jekyll (20)

Wordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de TemplatesWordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de Templates
 
Jekyll 101
Jekyll 101Jekyll 101
Jekyll 101
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blog
 
Apoio1020 apostila html
Apoio1020 apostila htmlApoio1020 apostila html
Apoio1020 apostila html
 
Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)Introdução ao Web Design: Aula 5 - HTML (part. 1)
Introdução ao Web Design: Aula 5 - HTML (part. 1)
 
ASP.NET - Aparência do WebSite
ASP.NET - Aparência do WebSiteASP.NET - Aparência do WebSite
ASP.NET - Aparência do WebSite
 
HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2HTML - HyperText Markup Language - 2
HTML - HyperText Markup Language - 2
 
Curso de WordPress
Curso de WordPressCurso de WordPress
Curso de WordPress
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funções
 
Aula30 trevisan
Aula30 trevisanAula30 trevisan
Aula30 trevisan
 
Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)HTML5 Básico: Marcação (aula 1)
HTML5 Básico: Marcação (aula 1)
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seo
 
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
SEO On-Page Checklist - Construindo bem a casa antes de convidar os amigos.
 
Formação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSFormação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSS
 
2. Introdução ao CSSpptx.pdf
2. Introdução ao CSSpptx.pdf2. Introdução ao CSSpptx.pdf
2. Introdução ao CSSpptx.pdf
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
CSS com SASS e SMACSS faz BEM
CSS com SASS e SMACSS faz BEMCSS com SASS e SMACSS faz BEM
CSS com SASS e SMACSS faz BEM
 

Mais de Bruno Mendes

Google Design sprint
Google Design sprintGoogle Design sprint
Google Design sprint
Bruno Mendes
 
Will js kill css
Will js kill cssWill js kill css
Will js kill css
Bruno Mendes
 
Ux is not UI
Ux is not UIUx is not UI
Ux is not UI
Bruno Mendes
 
Building a ux team
Building a ux team Building a ux team
Building a ux team
Bruno Mendes
 
Ciência do conforto
Ciência do confortoCiência do conforto
Ciência do conforto
Bruno Mendes
 
Personas: O que são? Onde vivem? Como funcionam?
Personas: O que são? Onde vivem? Como funcionam?Personas: O que são? Onde vivem? Como funcionam?
Personas: O que são? Onde vivem? Como funcionam?
Bruno Mendes
 
Fatores Cesar no Atendimento Ao Cliente
Fatores Cesar no Atendimento Ao ClienteFatores Cesar no Atendimento Ao Cliente
Fatores Cesar no Atendimento Ao Cliente
Bruno Mendes
 

Mais de Bruno Mendes (8)

Google Design sprint
Google Design sprintGoogle Design sprint
Google Design sprint
 
Will js kill css
Will js kill cssWill js kill css
Will js kill css
 
Ux is not UI
Ux is not UIUx is not UI
Ux is not UI
 
Building a ux team
Building a ux team Building a ux team
Building a ux team
 
Ciência do conforto
Ciência do confortoCiência do conforto
Ciência do conforto
 
Personas: O que são? Onde vivem? Como funcionam?
Personas: O que são? Onde vivem? Como funcionam?Personas: O que são? Onde vivem? Como funcionam?
Personas: O que são? Onde vivem? Como funcionam?
 
Pense como dono
Pense como donoPense como dono
Pense como dono
 
Fatores Cesar no Atendimento Ao Cliente
Fatores Cesar no Atendimento Ao ClienteFatores Cesar no Atendimento Ao Cliente
Fatores Cesar no Atendimento Ao Cliente
 

Jekyll

  • 3. Ruby  +  Liquid  +  YAML
  • 4. Como  funciona? • Converte  Markdown,  Tex$le  e  HTML  com   Liquid  Tags   • Aplica  templates  e  Layout  Pages   • Converte  arquivos  sass   • Se  aproveita  da  estrutura  de  pastas  para   gerar  blog  e  posts   • Transforma  isso  tudo  em  HTML  está$co
  • 5. O  que  já  vem  pronto? • Paginação   • Estrutura  personalizada  de  permalinks   • Posts  relacionados   • Syntax  highlight   • Conversão  Markdown/Tex$le
  • 8. Configuração  YAML • Configuração  de  variáveis  globais   • Variáveis  reu$lizáveis  de  acordo  com   estrutura  dos  arquivos   • Adicione  as  chaves  que  desejar  para   reaproveitar  em  todo  o  site
  • 10. YAML  Front  MaJer --- layout: post title: Blogging Like a Hacker permalink: /path/to/my/page/ published: true categories: [categoria1, categoria2] --- <!DOCTYPE HTML> <html> <head> <title>{{ site.name }} - {{ page.title }}</title> </head> <body> ...
  • 11. Deploy? • Instancia  grá$s  do  Heroku   • GitHub  Pages   • Direto  para  a  Amazon  S3   • Qualquer  lugar  que  aceite  páginas  está$cas   • hTp://jekyllrb.com/docs/deployment-­‐ methods/
  • 12. Comentários  do  Blog? Extender   -­‐ Disqus  (exemplo)   -­‐ Intense  Debate   -­‐ Facebook  Comments
  • 13. Disqus ... layout: default comments: true # other options ... {% if page.comments %} {% include disqus.html %} {% endif %} <div id="disqus_thread"></div> <script type="text/javascript"> var disqus_shortname = ‘your_user'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/ javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> sua_pagina.html _includes/disqus.html
  • 15. Data  Files - name: Tom Preston-Werner github: mojombo - name: Parker Moore github: parkr - name: Liu Fengyun github: liufengyun <ul> {% for member in site.data.members %} <li> <a href="https://github.com/{{ member.github }}"> {{ member.name }} </a> </li> {% endfor %} </ul> index.yml _data/members.yml
  • 16. Data  Files name: Bluesoft members: - name: Tom Preston-Werner github: mojombo - name: Parker Moore github: parkr _data/orgs/blueso.yml _data/orgs/webgoal.yml name: Webgoal members: - name: Tom Preston-Werner github: mojombo - name: Parker Moore github: parkr <ul> {% for org_hash in site.data.orgs %} {% assign org = org_hash[1] %} <li> <a href="https://github.com/{{ org.username }}"> {{ org.name }} </a> ({{ org.members | size }} members) </li> {% endfor %} </ul>
  • 17. Arquitetura  de  Plugins (facilidade  de  extender) _plugins/*.rb hTp://jekyllrb.com/docs/plugins/
  • 18. OBRIGADO (confira  as  próximas  apresentações  avançadas) @bruno2ms