Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blogando feito um hackudo usando Jekyll

Blogando feito um hackudo usando Jekyll

- O que é Jekyll
- O que é e como funcionam geradores estáticos
- Como e onde hospedar blogs estáticos
- Criando um blog do zero com Jekyll ou partindo de um tema
- Assuntos básicos do Jekyll como Gems, Gemfile, RubyGems, Liquid Templates, Front Matter
- Prós e contras do uso de geradores estáticos
- Configurações legais para seu blog como HTTPS, Custom Domain, Cache, migrando de WordPress para Jekyll e até uma página de Admin para usar no seu blog

Links importantes para aprender Jekyll

O que é um Gemfile: http://tosbourn.com/what-is-the-gemfile/

RubyGems: https://rubygems.org/

Liquid Templates: https://shopify.github.io/liquid/

O que são arquivos YAML: https://pt.wikipedia.org/wiki/YAML

Lista de tags Markdown: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

GitHub Pages: https://pages.github.com/

Custom Domain: https://help.github.com/articles/setting-up-an-apex-domain/

HTTPS, Cache e Redirects: https://www.cloudflare.com/

Erro 404 padrão do GitHub Pages: https://woliveiras.com.br/fica-temer

Criando uma página para 404 no Blog estático: https://help.github.com/articles/creating-a-custom-404-page-for-your-github-pages-site/

Comentários no Blog usando Disqus: https://disqus.com

Enviando emails com Formspree: https://formspree.io

Página de administração para jekyllhttps://jekyll.github.io/jekyll-admin/

Modelagem de conteúdo para Jekyll: https://www.smashingmagazine.com/2016/02/content-modeling-with-jekyll/

Arquivos de exemplo:

https://github.com/woliveiras/__s/blob/master/Gemfile

https://github.com/woliveiras/__s/blob/master/_config.yml

https://github.com/woliveiras/__s/blob/master/_includes/comments.html

https://github.com/woliveiras/__s/blob/master/_includes/footer.html

https://github.com/woliveiras/__s/blob/master/contact.html

Projetos utilizando Jekyll

Dunders: https://github.com/woliveiras/__s

Blog de Engenharia do Viva Decora (https://vivadecora.com.br): https://github.com/vivadecora/vivadecora.github.io/

FEMUG-ABC: https://github.com/femug-abc/femug-abc.github.io

CRUD-ABC: https://github.com/crud-abc/crud-abc.github.io

My Precious Links: https://github.com/woliveiras/my-precious-links

William Oliveira

October 08, 2016
Tweet

More Decks by William Oliveira

Other Decks in Technology

Transcript

  1. title: Dunders | A Starter Theme for Jekyll # put

    your blog title description: Faster to start a new Jekyll theme # put your description for your amazing blog baseurl: "" # the subpath of your site, e.g. /blog url: "" # the base hostname & protocol for your site e.g. https://woliveiras.com.br language: "" # language to set into html tag, default is en paginate: 5 # Number of posts on each page
  2. vS

  3. Sua Máquina Servidor Ruby Jekyll Templates Conteúdo HTML PHP MySQL

    Thema Plugins Conteúdo PHP MySQL Thema Plugins Conteúdo
  4. Prós - Conteúdo HTML roda em qualquer servidor - Sem

    vulnerabilidades de segurança - Conteúdo entregue mais rápido - Tema customizável via HTML, CSS e JS
  5. Contras - Não tem sistema de comentários??? - Tem que

    manjar de HTML, CSS e JS - SEO, Performance, WAI-ARIA, ein?
  6. # PAGINATION paginate: 5 paginate_path: "blog/pagina:num" # BUILD SETTINGS markdown:

    kramdown highlighter: rouge sass: sass_dir: _sass style: compressed gems: [jekyll-paginate]
  7. 404

  8. arquivo: comments.html <section> <div id="disqus_thread"></div> </section> <script> (function() { var

    d = document, s = d.createElement('script'); s.src = '//' + "{{ site.disqus_shortname }}" + '.disqus.com/embed.js'; s.setAttribute('data-timestamp', +new Date()); (d.head || d.body).appendChild(s);})(); </script> <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
  9. arquivo: footer.html <footer> <span>© {{ site.time | date: '%Y' }}

    writed with <3 by {{ site.author }}, site develop with <a href="https://jekyllrb.com/" title="Jekyll website">Jekyll</a></span> </footer> </body> {% if site.disqus_shortname %} <script id="dsq-count-scr" src="//{{ site.disqus_shortname }}.disqus.com/count.js" async></script> {% endif %} </html>
  10. arquivo: contact.html --- layout: page title: Contact --- <form action="//formspree.io/{{

    site.email }}" method="POST"> <input type="email" name="_replyto" placeholder="{{ site.var_your_email }}"> <input type="hidden" name="_next" value="{{ site.baseurl }}/thanks" /> <input type="hidden" name="_subject" value="New submission from {{ site.url }}{{ site.baseurl }}" /> <input type="text" name="_gotcha" style="display:none" /> <textarea type="text" name="content" rows="8" placeholder="{{ site.var_your_message }}"></textarea> <input type="submit" value="Send"> </form>
  11. $ jekyll s Editar arquivos Olhar no navegador $ jekyll

    build Deploy (Git, RSync, FTP, etc)