Hacker News new | past | comments | ask | show | jobs | submit login
The Immediate Future of Jekyll (parkermoore.de)
47 points by parkr on Dec 19, 2012 | hide | past | favorite | 40 comments



While Jekyll is cool to run a blog, it could be a PITA if you want to run a marketing site or something less blog-like with it. This made me to create Punch (http://laktek.github.com/punch), which can be easily customized to run many different kinds of sites.

If you already have a blog based on Jekyll, but feels it takes forever to build. Consider switching it to Punch with this boilerplate (https://github.com/laktek/punch-blog). Basically, you only need to move the files from Jekyll's `_posts` directory to Punch's `posts` directory. Also, you would love the ease in template customizations (and ability to use partial layouts).


My preferred tool for marketing websites is http://middlemanapp.com/ . On top of handling the markdown, erb -> html generation it also takes care of minifying of js and css, handles sass, less and setting image sizes automatically. It's not my project but I really love it :)


Haha, nice shameless self-promotion. It's chill.

Jekyll's meant to be a static blog generator, not a general static site generator.


My annoyances with Jekyll from (http://substancehq.com/why-substance)

    I used to be a happy jekyll user for a long time. But, bloggin using jekyll
    is frustrating when you have to make a lot of minor edits. The commit → push 
    dance is too much while making small edits. Also, I don't know a straight way 
    of doing jekyll redirects and allowing the use of tags/categories. 
    Substance fixes those issues because it is dynamic I sometimes wonder what age 
    we are living in, when we (the tech bloggers) use a static site generator for 
    our blogs. Jekyll's main strength has been that it's very very flexible, 
    I've tried to build Substance to give the most flexibility to the users 
    without complicating things.
Substance (http://substancehq.com/) is a simple blogging engine / site builder without any fluff. I created it to replace Jekyll for myself. Hope others find it useful.

Also, it has ability to add custom data collections easily. If you want to build a simple site, this comes in very handy.


I'm also a heavy Jekyll user. I work on a Jekyll addon, which will allow live site edits. Imagine static site generator executed on client-side:

https://github.com/darwin/terraform

The main trick is to use PhantomJS to pre-generate static site for initial serving.


Fantastic, that would be a dream come true. A Jekyll site that I could update even when I'm not at my own machine.


If you keep your Jekyll site on GitHub, you can edit your site in your browser with Prose. I imagine you use GitHub for its Jekyll building and mirror the built site elsewhere.

http://prose.io/about.html


It's a service? It doesn't really seem to be in the same category...


Yes, it is a hosted blogging engine. You can sign up and use it with a single click. Just enter a blog title on the home page form and hit the 'create blog' button, that's all.


It's refreshing to see that the CEO of a $100 million company can still be excited about something as trivial as a static blog generator.


Actually more than 100 million. That's just the amount they raised from a16z


I don't understand why "decrease build time" receives such emphasis; isn't build time largely irrelevant to the type of sites that are appropriate for a static site generator?


"Build time" means "generation time", or "compile time". It's the amount of time it takes Jekyll to build the site from the source to the static HTML, etc. Right now, it's really slow. If you have over 100 posts, it practically warrants a coffee break. We have some developed some ideas about fixing this issue.


This, 1000x times. I have over 1200 posts on my blog http://paulstamatiou.com and I've purposefully avoided stuff like pagination, related posts (lsi) at the end of articles, tags/category pages and other features due to slow time. I'm at about 60s on my Macbook Air now which I can deal with.

But when I'm writing a blog post and I constantly want to preview it in the browser (since lots of my posts have images and such I prefer seeing the real layout than purely in sublime text 2) I use a rake task I have that stashes every post but the one I'm working on so it only generates the one post.

Edit: and a faster generation time means I don't have to feel bad using lots of liquid filters / includes (which can help clean things up and organize my site).

Two things I'd like to see (which I've had to fork my jekyll for) and that I'll put on the github:

- "multiviews" support (it's how I get all my links to have no .html ending, well that and some rack:rewrite rules)

- support for different post types that are not in the main site.posts. I only have 2 types now but for a while had a regular post, a shorter "aside" style post that was not in the main feed nor homepage and had its own index and feed, and another post type for photos. These go beyond just different layouts. Though this is more of a CMS feature than a blog feature which may be a direction thing that Jekyll is not intended for. ?


I read parkr's above comment and was about to search for your blog (where I first read about the insane site generation times), but then I found your comment just below. :)


Even if you change one post, you still need to 'rebuild' every thing. I can't see how this can be reduced.


If I update just one post, can't we just recompile that? If a layout is changed, then all non-static files would be regenerated. There's a way to be more specific.


Would some sort of ccache style solution be appropriate?


For me it is the single biggest feature addition. Just changing one file would require rebuilding the entire site in Jekyll. Something similar to a Makefile should be in place, which can track dependencies and rebuild only the affected files.


It's a static site, you have no idea what files depend on each other. So everything has to be rebuilt.


It's static only relative to the output. You can readily write dependencies between your source (mdown, partials, whatever) files, just like your binaries/libraries depend on .o files, which themselves depend on .c and .h.

I fail to see how changing a typo in an article's content would require the whole thing to be rebuilt. Even adding a page would not require rebuilding every single page unless the new page appeared in a global navigation. Building the dependency graph automatically could even turn out to be not that hard.


How does a Makefile know which files depend on each other?


I am a Python programmer yet Jekyll is still my preferred static blog generator. I strongly considered Pelican but did not like all the magic it came with. Pelican would consolidate all my blog posts to the same location and had various (configurable) directory conventions that I would've to follow.

I needed just a simple compiler which converts markdown to html while retaining the structure of the site. Ideally, what need not be processed should be left as is. This gives developers like me a lot of flexibility to design a site.

Jekyll has not been updated for a long time but it still serves my needs quite well. I hope future releases would support minification and preprocessors like Coffeescript.


You can add support for preprocessors like CoffeeScript to Jekyll fairly easily via a plugin. I created Jekyll Asset Pipeline for this purpose. http://www.matthodan.com/2012/11/22/jekyll-asset-pipeline.ht...


Check out Octopress. It might be right up your alley (and solve your problems).

http://octopress.org/


I've only recently heard of jekyll but have been searching or thinking about creating a markdown based blog for a while. I first discovered it through an article on the obama campaign, and how they used it in combination with AWS:S3 http://kylerush.net/blog/meet-the-obama-campaigns-250-millio.... Jekyll is here to stay.


Me too. I saw that article. I had been using jekyll for a while. Then I decided to piece together how to replicate what the obama campaign did using s3 and cloudfront: http://iamnotaprogrammer.com/Jekyll-S3-Cloudfront-Aname-Root...


Why would you want to pay for people to come to your site? Don't you have to pay Amazon for that bandwidth usage?


I'm curious. Setting things like this up is my idea of fun. I use the same technique for my business. I like static site hosting, and liked the idea of things being speedy no matter where our customers are. Cloudfront does that well.

As far as cost. I'm 30 and I don't like relying on free things. Github probably wont go down, but I'd still rather pay. I set that up Dec 1st, served 100k pageviews. My Amazon bill right now is $1.25 (one dollar, twenty five cents). Maybe that'll go up, but for what I'm doing, I doubt it will be that expensive.


Hm, I didn't realize it was so inexpensive. I've only ever used S3 as a CDN for a huge site with lots of images, so it was an expensive endeavor.


I've run a Jekyll site from S3 with no difficulty, at a satisfactorily low hosting cost. Cloudfront takes only minutes to setup, and the costs are competitive, so I imagine it's a promising route.


In fact for low traffic sites hosting a static site on S3 falls into Amazon's free tier.


The great thing about jekyll is that it runs of github ... thats the main reason I'm currently building a site in Jekyll.


Anyone who doesn't know Ruby (like, at all) tried using Jekyll? How was your experience?

I've wanted to for a while but I feel somewhat handicapped not knowing Ruby so I've been putzing around Python-based alternatives like Pelican.


Using Jekyllwothout any ruby experience should be a snap. It's all controlled by the CLI. You create posts and run `jekyll` and you're in business.


I can't program worth a lick in ruby or any other language (I'm somewhat proficient at copy & pasting jquery snippets). I had very little trouble installing it and once it's running, it's great. I basically only use it for simple includes, blog list pages and SASS.


I'm a Perl guy and don't know Ruby. Jekyll is excellent, but I ended up going with http://ruhoh.com which is based on (forked from?) Jekyll. That worked great. Ruhoh is sort of language agnostic. My biggest hurdle was grokking Mustache.

On a side note, I also had a problem with the RSS generator. I managed to submit a patch for my problem. I was pleased to discover Ruby is so Perlish! I guess thats obvious given that a lot of Ruby is inspired by Perl. I suspect switching back and forth between the two would not be hard.


As a non-ruby dev, I found it a bit heavy to try dig in to and understand full, so I ended up starting writing my own https://github.com/tanepiper/nell - it's an interesting problem to solve though.


Funnily enough, the biggest problem I had with Jekyll is lack of Python knowledge (Pygments.rb is a wrapper around a Python syntax hightlighter, and everything stopped working at some stage when OS X got confused about Python versions).


Another non-Rubyer here, love Jekyll. Vastly better than Wordpress which I was using before, even though I know more PHP than Ruby.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: