Hacker News new | past | comments | ask | show | jobs | submit login
Jekyll 2.0.0 is released (jekyllrb.com)
265 points by parkr on May 7, 2014 | hide | past | favorite | 55 comments



Congrats on the 2.0 release!

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.


Yep. This is a good blog post by Development Seed about their static-only website approach: http://developmentseed.org/blog/2012/07/27/build-cms-free-we...


Agreed. I'm using Middleman for all my static sites and blogs now.

In fact I wrote quite a bit about various Middleman tips and tricks on the Discover Meteor blog:

https://www.discovermeteor.com/blog/three-more-ways-to-make-...


As a rails dev i can confirm this.

Jekyll always felt a little bit cumbersome when you are used to all the Rails goodies like sprockets.

Since I discovered the middleman-deploy[1] gem, I also use it for my Github Pages, without any additional effort.

1) https://github.com/tvaughan/middleman-deploy (or have a look at https://github.com/neo/middleman-gh-pages as an alternative)


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).


It looks great, and a large list of websites to boot! Wish Github supported more than Jekyll on Pages.


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:

http://paulstamatiou.com/photos/japan/two-weeks-in-japan/

<3 open source! All hosted on S3/CF with https://github.com/laurilehmijoki/s3_website


Would you consider open sourcing your photo blog site? I like it. A lot.


+1 to open-sourcing your photo blog - it's really impressive.


Spammy in action again!

Exactly the same message on DN: https://news.layervault.com/comments/62311


Truly amazing photos. Thanks for sharing this!

+1 open sourcing your static site, it's a great example of what's possible with SSGs.


I will add my +1 on open sourcing it as well. Would love to learn how you did things!


+1 would love to see it on Github just to learn from it!


+1 on open sourcing your photo blog :)


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.


The shepherd of Jekyll [1] is also one of the lead developers of Octopress.

[1]: https://github.com/parkr


So I'm trying to check this out, but my ruby gems mirror seems to not want to. I get this error:

`ERROR: Could not find a valid gem 'jekyll' (>= 0), here is why: Unable to download data from https://rubygems.org/ - bad response Gateway Time-out 504 (https://tokyo-m.rubygems.org/quick/Marshal.4.8/jekyll-2.0.1....

Is there any way to specify other mirrors, and is there other mirrors than the Tokyo one that would work better?


FWIW I too see that error (I am in Tokyo, too).

Assuming you are using Bundler, and not trying to install the jekyll gem globally, you can manually specify a server in the Gemfile.

In an empty directory, I created a Gemfile with only these contents:

    source 'http://production.s3.rubygems.org'
    
    gem 'jekyll', '~> 2.0'
Then on the command line:

    [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]$ 
That worked.

(EDIT: Updated with server that worked.)


Make sure you have an updated version of openssl.


I've got the `openssl-1.0.1g` package from `brew`


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.

Good work from the team.


Nice! Anyone know if github pages support Jekyll 2.0 yet?




I use Jekyll and am having an issue with it when I use feedburner. It recommends using {{site.url}} in the markdown and templates.

http://jekyllrb.com/docs/posts/

So, for example, I have {{ site.url}}/radio-surfing

On my site it shows http://www.taigeair.com/radio-surfing/ but on feedburner it becomes http://feeds.feedburner.com/radio-surfing/ in the feed.

Example http://feeds.feedburner.com/taigeair

Does anyone else have this issue? Any suggestions?


Is your `site.url` set to `/` ?


it would be my domain

taigeair.com


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>`


Thanks for your help. My feed xml has <link>{{ site.url }}{{ post.url }}</link> so I'm not sure what the issue is.

--- layout: none --- <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title>{{ site.name | xml_escape }}</title> <description>{% if site.description %}{{ site.description | xml_escape }}{% endif %}</description> <link>{{ site.url }}</link> <atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml" /> {% for post in site.posts %} <item> <title>{{ post.title | xml_escape }}</title> <description>{{ post.content | xml_escape }}</description> <pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate> <link>{{ site.url }}{{ post.url }}</link> <guid isPermaLink="true">{{ site.url }}{{ post.url }}</guid> </item> {% endfor %} </channel> </rss>


Okay I fixed it.

I needed to add this line to the _config.yml

url: http://www.taigeair.com

I just checked the feed and it worked!! Thanks for helping.



Is there any sort of interactive static site generator, for people who are not very computer literate to use?

(I write code, so it's not for me, but I am wondering if I could say, setup a template for a friend, and have them fill in the content of the pages.)


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.

Details here. http://www.webhook.com/


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!


yes, this is a needed. I've wanted to point Normal People at a static site generator many times but there aren't any.


Docpad apparently has a wysiwyg interface.

Almost very moderately popular ssg has some sort of cms interface plugin.


Wordpress + your choice of page cache plugin. It's effectively the same thing.



Shout out to parkr, albertogg & troyswanson for the fastest public bug-fix turn around:

https://github.com/jekyll/jekyll/issues/2317


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 am a happy bunny.

Congratulations and thanks to the Jekyll folks.


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.

Anyone else finding this?


I really like Jekyll and use it for both my website and blog. It really is a great product that is easy to use. Thanks!


This looks like a solid release. Collections will make Jekyll a much better choice for a wide range of sites.


It's great to see open source projects that are used by many people evolve.


Very cool! Thanks to the whole team for their hard work.


This is fantastic. Thank you Jekyll team!


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: