a work in progress
The long awaited 2.1 will be 3.0 instead. Here's why.
New cascading configuration system
- Rack, Rake, and Compass all read configurations from _config/ yaml files now.
- User configurations are now separate from Octopress default configurations (_config.yml merge conficts are a thing of the past)
- New Octopress default configurations live in _config/defaults/*.yml
- User configurations override defaults and live in _config/site.yml and _config/deploy.yml.
- Configs are merged and _config.yml is generated at runtime for Jekyll.
- Compass's config.rb still maintains some of it's own configuration for requiring Compass plugins and other Compass related features.
New Guard watch/preview workflow
- Only template changes trigger Jekyll compilation (md, markdown, textile, html, haml, slim, xml)
- Jekyll ignores changes to static assets (any file extension not listed above). Changed asset files are copied over into the public directory by Guard.
- Compass uses guard-compass to watch stylesheets
- require-js.yml is where js dependencies and load order can be managed
- Coffeescript, Mustache, Eco, and Tmpl are also supported.
- All of this is integrated into the new Guard workflow.
- include - backwards compatible and way more powerful. Allows cascading includes and graceful failure, post conditional and ternary expressions.
- capture - backwards compatible and way more powerful. Assigns and concatenates, supports post conditional and ternary expressions.
- assign - backwards compatible and way more powerful. Assigns and concatenates, supports post conditional and ternary expressions.
- return - like assign, but prints the result rather than assigning it to a varaiable.
- wrap - like include, but it allows you to wrap templates with html if the include is successful.
Read more about the new assign, capture, return, include and wrap tags.
- New options
- mark - visually highlight any line or group of lines (all code plugins)
- start - choose a starting line number for a code snippet (all code plugins)
- end - choose a line to cut off a code snippet (include_code and gist_tag)
- range - specify a start and end line for a code snippet (include_code and gist_tag)
- All code plugins have been unified with more consistant options
- Gist tag plugin now fetches raw code, parses with pygments and caches it locally instead embedding Gist JS
Other plugin updates
- Added default support for guag.es analytics (#827)
- Image tag adds support for relative urls
- Video tag adds support for all HTML5 video formats (mp4, ogv, webm) as well as relative urls
Other framework updates
- Improvements to SCSS which styles
- Added list of categories into atom.xml (#421)
rake previewbinds to IP and HOST, which can be set through OCTOPRESS_IP and OCTOPRESS_HOST, respectively (#780)