Jekyll Presentation Slides
-
Upload
curtis-miller -
Category
Technology
-
view
1.934 -
download
1
description
Transcript of Jekyll Presentation Slides
jekyllBlogging for Hackers
Curtis Miller / Flatterline
Static Site Generator
Ruby + Liquid + YAML = Awesome!
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
Configurable
_config.yml
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
What’s Built In?
• Pagination
• Custom permalink structure
• Related post extraction (use with GSL for faster generation)
• Syntax highlighting
• Markdown / Textile conversion
Plugin Architecture(easily extensible)
_plugins/*.rb
Need a Custom Generator?
No Problem.
module Jekyll class CategoryGenerator < Generator def generate(site) ... end endend
Need a Custom Liquid Tag?
No Problem.module Jekyll class RenderTimeTag < Liquid::Tag def render(context) ... end endend
Liquid::Template.register_tag( ‘render_time’, Jekyll::RenderTimeTag)
Deployment
• Heroku free instance
• GitHub Pages
• Directly to Amazon S3
• Anywhere that can serve static pages!
What If I Want Blog Comments?
Extend with Disqus, Intense Debate or Facebook comments
What If I Need Something Dynamic?
Extend with Sinatra
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
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
A Few Stats(as of 2011-12-20)
• Over 400 documented sites using Jekyll
• ~50 plugins
• >4,500 watchers
• >700 forks
How Do I Get Started?!
gem install jekyll
Thanks!
Any questions?
Curtis Miller / Flatterline / [email protected]
https://github.com/flatterline/flatterline.com