a work in progress
The long awaited 2.1 will be 3.0 instead. Here's why.
- 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.
Now Jekyll, Compass/Sass, and Javascript assets are watched and compiled with Guard.
- 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
- Stitch.rb enables easy integration of modular and non-modular javascript
- require-js.yml is where js dependencies and load order can be managed
- In production, javascripts are concatenated, uglified and fingerprinted for cache busting.
- In development, javascripts are only concatenated into an all.js file.
- 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.
- config_tag - outputs configuration (from site.yml) to html tags for unobtrusive configuration of javascript plugins from yaml.
- javascript_tag - outputs the script tag for the fingerprinted, concatenated, uglifed javascript file.
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
- 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
- Improvements to SCSS which styles
<sup>
and<sub>
tags (#426) - Added list of categories into atom.xml (#421)
rake preview
binds to IP and HOST, which can be set through OCTOPRESS_IP and OCTOPRESS_HOST, respectively (#780)