diff options
Diffstat (limited to '')
-rw-r--r-- | upgrading.markdown | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/upgrading.markdown b/upgrading.markdown new file mode 100644 index 00000000..3d2fcce8 --- /dev/null +++ b/upgrading.markdown @@ -0,0 +1,51 @@ +# Major changes + +## New Jekyll + +Octopress is leaving [Henrik's stale fork of jekyll](https://github.com/henrik/jekyll) for [Mojombo's official Jekyll](https://github.com/mojombo/jekyll). Why? Back when Henrik's Jekyll fork was current, it offered some nice features +like the option to use Haml and ruby instead of html and the liquid templating system. Switching from henrik-jekyll to jekyll, means Octopress will no longer support Haml layouts (until Jekyll does), but after using Octopress +for a year and a half, I can see that it's far better for Octopress to be able to take advantage of the jekyll's active development, than to hold out for full Haml support. + +### Jekyll is Pluggable + +Some new features make the transition worth it. You can write your own [plugins](https://github.com/mojombo/jekyll/wiki/Plugins) which consist of generators, converters, and liquid tags. +Now it's much easier to hack Jekyll without forking. I expect to see some great plugins emerge from the Jekyll community, and I'll be adding my favorites into Octopress. + + +## More Than a Starting Point + +I initially saw Octopress as the fastest way to get started with a fairly nice Jekyll blog, but now that Jekyll is so hackable, I'm hoping that Octopress will also become a great introduction to hacking Jekyll and a place to find great plugins from the community. + +I've already been combing through plugins that other people are writing and I've found some gems. Octopress now has: + +- **Sitemap generator** - suitable xml for submitting to search engines +- **Haml converter** - currently pages and posts can be converted, but not layouts +- **Liquid tag Github gists** - embeds gists in a noscript tag for RSS readers and crawlers, then uses Github's javascript to display gists to site visitors + +Octopress also has custom filters which work through Liquid's filtering system. I've added these for now: + +- **Smart quotes** for posts and pages +- **Title case** an adaptation of John Gruber's intelligent title capitalization script +- **Absolute urls** using '/' as a url opener for relative paths gets converted to an absolute url for RSS readers +- **Ordinal dates** dates are output like "October 5th" or "July 3rd" + +Of course Octopress still supports simple setup for Twitter, Disqus Comments, Google Custom Search, Google Analytics, Delicious Bookmarks, and now Pinboard Bookmarks. + +## Upgrading + +Unfortunately upgrading isn't as smooth as I would like. Some things have changed that require a bit of fiddling on your part. It's less than ideal, but if you were adverse to fiddling, you'd be using Wordpress right? + +#### Update configs +I've moved configurations out of layouts and into the _config.yml. This means settings like title, url, and twitter_user can be accessed on the site object, eg. site.title, site.twitter_user. + +#### Post dates +Before you could add date and time to the post filename, but for some reason Jekyll is more strict and won't see posts with that format. If you had a post `2009-11-13_14-23-hello-world` it should be renamed to `2009-11-13-hello-world`, leaving out the time-stamp. +If you want to keep the time-stamp data, you can now add dates to the post in the yaml front-matter, eg. `date: 2009-11-13 14:23`. It seems that you can also use parseable strings like November 13, 2009 2:23pm and Jekyll will generate the proper url and post metadata. + +I've updated the new post rake task `rake post[title for your new post]` to correctly name new posts, and to automatically insert the time-stamp into the yaml front-matter for a new post. This way you can set the time when you want to publish without having to write out the whole post date. + + + +Here are some steps you can take to get your blog running again on this update: + +1. |