Your SlideShare is downloading. ×

Jekyll Presentation Slides

1,934

Published on

Presentation slides from the December 2011 RubyAZ meeting. Curtis Miller of Flatterline presented on Jekyll, a static site generator that uses Ruby, Liquid and YAML.

Presentation slides from the December 2011 RubyAZ meeting. Curtis Miller of Flatterline presented on Jekyll, a static site generator that uses Ruby, Liquid and YAML.

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,934
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. jekyllBlogging for HackersCurtis Miller / Flatterline
  • 2. Static Site Generator
  • 3. Ruby + Liquid + YAML = Awesome!
  • 4. How Does It Work?• Gathers content from _posts, _includes and other files• Applies a template• Converts Markdown and Textile to HTML• Runs Liquid converters• Outputs static HTML pages
  • 5. Configurable _config.yml
  • 6. YAML Configuration• Global configuration options• Per page / post configuration options (YAML Front Matter)• Add your own key / value pairs and use them as you see fit
  • 7. What’s Built In?• Pagination• Custom permalink structure• Related post extraction (use with GSL for faster generation)• Syntax highlighting• Markdown / Textile conversion
  • 8. Plugin Architecture (easily extensible) _plugins/*.rb
  • 9. Need a Custom Generator?
  • 10. No Problem.module Jekyll class CategoryGenerator < Generator def generate(site) ... end endend
  • 11. Need a Custom Liquid Tag?
  • 12. No Problem.module Jekyll class RenderTimeTag < Liquid::Tag def render(context) ... end endendLiquid::Template.register_tag( ‘render_time’, Jekyll::RenderTimeTag)
  • 13. Deployment• Heroku free instance• GitHub Pages• Directly to Amazon S3• Anywhere that can serve static pages!
  • 14. What If I Want Blog Comments?Extend with Disqus, Intense Debate or Facebook comments
  • 15. What If I NeedSomething Dynamic? Extend with Sinatra
  • 16. Typical Workflow$ cd <my blog dir>$ foreman start[Runs whatever you specified - e.g., Jekyll, Compass, Sinatra, etc.]$ mate _posts/2011-12-20-jekyll-blogging-presentation-at-rubyaz.md[Add content to file...]$ git add _posts/2011-12-20-jekyll-blogging-presentation-at-rubyaz.md$ git commit -m “New post about Ruby AZ presentation”$ git push && git push heroku
  • 17. Any Gotchas?• YAML Front Matter means it’s a special file; No YAML, no special processing• Pagination only works with HTML files (i.e., no Markdown or Textile pagination)• No generator for initial directory structure
  • 18. A Few Stats (as of 2011-12-20)• Over 400 documented sites using Jekyll• ~50 plugins• >4,500 watchers• >700 forks
  • 19. How Do I Get Started?!
  • 20. gem install jekyll
  • 21. Thanks! Any questions?Curtis Miller / Flatterline / curtis@flatterline.com https://github.com/flatterline/flatterline.com

×