I highly recommend taking a look at http://middlemanapp.com if you're considering Jekyll. I gave a talk at RailsConf (http://bradgessler.com/talks/middleman-frontend/) about static website generators and found that Middleman handles everything Jekyll does in a much more modular, more "railsy" way by using tilt, sprockets, and all that good stuff.
It seems like there is a gigantic living, breathing ecosystem made of these SSGs now, with Jekyll being the favorite for people who are inclined to seek out the one that has the most stuff written about it, or the largest community. Can't say I disagree with that method of selecting software, either.
When I found out about Hugo yesterday, after comparing a list of others which must have been a few weeks too old to include the latest hotness, I almost collapsed at my keyboard. Developed in Go, distributed as a binary. Hokay. So now you can pretty much narrow your choice down to the language, then the software architecture, then the amount of activity on Github, then the license, then the corresponding "ideal website as created by SSG package X" output, then the attitudes of the authors on your favorite social networks, and finally you can probably look up the authors' girlfriends too (don't do that) and compare by girlfriend.
On top of that, the static output is dropped into gigantic pools of resources that can scale to an unimaginable degree, can probably handle hundreds of DDOSes at a time, and they probably all validate without so much as a yellow flag. Oh and if you want you can use this tool to write an API, or if you want you can just not build a site with it, because it includes a game of Nibbles which is also static in some funny way, or whatever.
It's amazing and absolutely ridiculous at the same time. In some ways it's an almost pornographic exploitation of process that cares approximately 0% about content. But it's also a huge display of generosity and demonstrates some very serious attention to craft.
I second this. I recently discovered Middleman and the experience is very familiar to Rails, in a good way. There are also many amazing plugins, such as one to automatically deploy to S3.
The sentiment (that'd you'd want to use something that's "railsy" for making static pages) sounds completely batshit crazy to me -- but given the number of upvotes and (sane-sounding) supporting comments, I suppose there might be something to it. I'll have a look, even if I'm more in the camp that thinks "how does any of this improve on m4 anyway"...
I suppose it really does demonstrate that rails has great mind-share and a lot of developers still using it (and enjoying using it) -- which is great. Still a little surprised there's so much apparent overlap between people that thing that "hey rails is a great way to make web-apps", and people that thing "static html is great for content". Perhaps an indication of how "ajax-driven" web development have forced everyone to look at webapps as api+rendering -- and how (apparently) well rails have been adopted to that design (because, I'm guessing, everyone's been forced to break their architecture into a view/template layer that's driven by data --- much like a well-structured coldfusion, asp or php app -- but with ajax).
This is amazing news. I currently have to run 2 Jekyll installs to do what I want with custom post types (before this I had a fork to add a different type and that was getting hard to keep updated): I have one main Jekyll install for my blog, and inside of that inside /photos I have another Jekyll for my photo blog so I can do things like this:
Congrats! Native support of Sass and CoffeeScript seem trivial, because of the various hacks and plugins out there...but damn it was hard, even knowing the hacks, to get a Jekyll project up and running if I hadn't been recently re-acquainted to its quirks. It'll also be nice to have Github Pages (I'm assuming) support the baking out of sass files...it feels so wrong to go back to plain CSS.
The #1 feature, collections, is also huge...Lately I've been using Middleman, because there are a lot of small data-apps that don't require Sinatra/Rails but that Jekyll, being blog focused, is not well-equipped to handle...Middleman fits that niche perfectly...almost too well, as I often get to the point where I think, "Why didn't I just make this a Sinatra app?" But I'm glad to see some more flexibility with Jekyll...even in the previous version, you could get pretty far with the hardcoded blogging conventions.
Mainly, I'm excited to Github Pages become even more easy-to-deploy and configure, particularly for documentation. Congrats and thanks again!
Looks awesome. I wonder if Octopress is planning to support this new version? Some of the new features (e.g. support for sass) seem to overlap with Octopress.
[mason@IT-PC-MACPRO-002 jekyll-2-fuckery]$ bundle install --path vendor/bundle
Fetching source index from http://production.s3.rubygems.org/
Resolving dependencies.................
Using blankslate 2.1.2.4
<bunch of lines deleted...>
Your bundle is complete!
It was installed into ./vendor/bundle
[mason@IT-PC-MACPRO-002 jekyll-2-fuckery]$ bundle exec jekyll --version
jekyll 2.0.2
[mason@IT-PC-MACPRO-002 jekyll-2-fuckery]$
Good to see them supporting Kramdown as the default Markdown converter. When building up my personal website using Jekyll, I very quickly switched to Kramdown from the default Redcarpet—it had a lot better handling of typographic characters like smart quotes and dashes, and played much nicer with Mathjax.
Collections also look like they will really help with creating websites that deviate from the exact "blog" format that Jekyll is optimized for.
Looking at your feed, it appears you're not using `site.url` in each post's `<link>` field. The links are all `/url`, not `taigeair.com/url`.
I'm not certain, but your `feed.xml` file probably has `<link>{{ post.url }}</link>`, which should probably be `<link>{{ site.url }}{{ post.url }}</link>`
Funny you should ask. I'm building one right now. It'll be available next month. Basically it's what you'd expect from a SSG from a code standpoint, but deploys with a live CMS so that non-literate users can edit it.
Looking forward to seeing webhook in action (I backed it). Will there be an open source component (perhaps the way Harp works), or entirely your service? Either way, it looks fantastic!
Looking at the changes, it's like every small niggly pain-point I've had with my particular Jekyll use cases (faffing around to get sass watch going in a separate shell, using 'posts' for things that are not in any sense posts) have been addressed. A version bump just for me!
I'm using the starter template ($ jekyll new project) and pretty URLs are enabled by default. The "about" page works but the "welcome to Jekyll" link goes to a .html appended url.
Quite disappointed the developers have decided to stick with Liquid templates. With such a handicapped and useless template language, jekyll is a non-starter for any website more complex than something you could trivially write yourself.
For security reasons, we have no choice. It's specifically designed not to allow execution of arbitrary Ruby code. GitHub wouldn't run Pages if Jekyll didn't have this guarantee.
I don't use jekyll and have a fairly limited knowledge of pages but doesn't jekyll output static html? Even if you used a dynamic language to create the project, wouldn't it not matter because the end result will be static?
You'd be able to run arbitrary Ruby code during the compilation of your site. GitHub uses Liquid templates as a pseudo-sandbox: it's deliberately a weak system to prevent abuse. But it's lazy, because there are many other solutions that don't take away from user experience.
They could probably use Docker and not allow network access and limit the resources (including time) to do a build. I don't know if their business model would support it but it's technically possible.
With Jekyll and GitHub pages people don't have to run any code on their own computer systems. Combined with GitHub for mac and windows, this counts for something in my book.
I highly recommend taking a look at http://middlemanapp.com if you're considering Jekyll. I gave a talk at RailsConf (http://bradgessler.com/talks/middleman-frontend/) about static website generators and found that Middleman handles everything Jekyll does in a much more modular, more "railsy" way by using tilt, sprockets, and all that good stuff.