Poll: What's your favorite static site generator?
So, what's your favorite?
(Let me know if I missed someone, poll options are taking from here: https://gist.github.com/4181764)
So, what's your favorite?
(Let me know if I missed someone, poll options are taking from here: https://gist.github.com/4181764)
The other nice thing about Hakyll is that it uses Pandoc, so it supports different input and output formats (such as HTML slide generation from Markdown).
Maybe this doesn't matter to most people, but having Pandoc means support for math (e.g. TeX) is standard.
I have a fairly complicated setup at the moment, and yet it still has less than 100 lines of configuration.
Also, being in Haskell, I've found it pretty fast so far despite being written in and configured with a very high-level language.
I'm short, Hakyll is awesome. Much better than my old solution which was a bunch of hacked-together php. (I was using my school's shared Apache server, a don't judge me :P.)
> I'm short, Hakyll is awesome.
A good solution for the vertically challenged. :)I like the optimism in that "maybe" at the beginning of the sentence.
In general, I find the ability to use code to control the site's generation very refreshing - the static site generators I had used beforehand (for example, Webgen) rely on configuration files to determine the rendering process, which for sufficiently complicated sites can be hard to trace. By contrast, nanoc's Rules file allows you to see and control exactly how a given file will be processed.
The code is also very well-written (it resists using the hard-to-follow Ruby magic that Rails and company tend to use), although were I Denis Defreyne, I would have written some sort of plugin manager by now.
(Disclaimer: I'm a Pelican project committer.)
For other devs: if you're familiar with Jinja, then you're 80% of the way there.
Looks like your list is basically Ruby, Node and PHP, excluding all the Python and other language options.
Branch with ruby 1.9 fixes is at https://github.com/namelessjon/webby
It is not under active development, but is for me feature-complete, stable and incredibly flexible. Advantages are:
- pure ruby (no liquid templates needed)
- each page has its own subdirectory where one can put images, scripts etc; your article becomes a 'package'.
- chained templating filters; you can do erb->markdown->your custom filter with minimal effort.
- mostly implemented by extending rake tasks, no extra api to learn and if you know rake you can continue adding features forever.
I tried something else at some point; I forget what, but it was more complicated, so I stuck with Webby.
Extending it is just easy. I've been using it to create mobi and epub files from Textile, as well as plain old Web sites. I think I use it for pretty much every site I have that isn't hitting a database, and even with those I probably have a static section built using Webby.
Anyway, it was a) a great experience, and b) gave me some insights into why building systems (stuff like rebar, rake, etc.) look the way they do.
The original GitHub repo is private right now, because I'm not yet ready to reveal the site I'm building :). I plan to launch in two-three weeks; I'm working on content and styling right now.
My advice to other people considering making a static site generator - please don't make another compiler or caching layer just like the rest, anyone can do that. But if you want to make a large difference, one that you can't do alone, then see if you can team up with an existing project, they'd certainly welcome your insights and probably have a ton of ideas already - the conversations will always be valuable for all parties involved, and the end result for the world will be much better quality solutions rather than just merely more solutions.
Cheers, Ben.
Simple example:
for f in `ls *.php`; do wget http://myexample.com/$f -O $f.html; done;
rename 's/\.php\.html/.html/' *
sed -i 's/\.php/.html/g' *.htmlSample...
http://sohcahtoa.org.uk/pages/publish-a-web-site-with-bash-s...
it is horrid, but it works for me.
Seriously, how about a voting option for something like 'homebrew'?
When I need a 'static' site I just use whichever CMS/framework is best and wget --mirror the output.
One feature on my todo list is to find a way to add infinite scrolling (this is 2012, I don't think blogs should have “Next Page” anymore!). It seems it shouldn't be too hard but a quick search suggests nobody has tried this with Jekyll (or Octopress) yet.
Sorry this isn't a more useful comparison. I wanted to find a good-enough SSG quickly, so my search was pretty shallow.
staticjinja is an extremely minimal static page generator. It's less that 130 lines of code, and really is hardly more than a useful wrapper on top of jinja. Perfect though for writing Github Pages sites if you're not a fan of Ruby.
Simple and to the point. Probably not good for larger sites, but it works for small ones.
All I need is a simple "Get a quote" page.
Not much new things to learn, literally no limits and a lot of freedom.
And here is my toolset:
LIVEditor: Edit html and css and see the result instantly (http://liveditor.com, my own project, you can imagine LIVEditor = Web Browser + Code Editor + Html Inspector like the one in Firebug).
Mustache: Use this logic-less template system to represent reusable content in the html.
Python: Call pystache to stuff the {{mustache}} templates in the html files.
Initially I thought it would suck but turns out wget is way better than I thought. With the combination of ssh etc. We build a simple script that deploys takes mirror of the website and deploys it.
After about 5-6 years, it's still in production with no issues. Internally it's a wiki style, simple database model home grown ASP.NET application.
I have a 1200+ post blog so it was that or death by boredom :-)
http://glyphobet.github.com/fragments/
It could be used as a static site generator, among other things. But it uses version-control style diffs and merges, instead of any structure or language, which has the advantage that there's no generation step, and you can just edit the files as pure HTML.
For those interested I wrote a guide on WordPress to Jekyll migration: http://paulstamatiou.com/how-to-wordpress-to-jekyll
Does anyone remember the name of that project? I've been looking everywhere for it...
...the use case is for creating and tweaking basic html themes. I currently helped a designer/front-end-guy set-up Hyde but it was horrible and he only needed 20% of what hyde does to get his job done... finally found a forked version with a patched bug that worked on Windows (original pypi and git versions had a weird bug), figured out that the only way to put media files was in the deploy folder because otherwise Hyde still tries to do stuff to them and fails miserably, and for SASS I just taught him to do `sass --watch sass:css` as I was afraid to think what horrors lay in the land of Hyde/SASS integration... and after all this it still does weird shit (on the other hand, my own experience with Hyde on Linux was much smoother... maybe it's just that the devs only test it on *NIX)
So, let's hear it. What makes your favorite better than Jekyll?
If there's no dynamic stuff on your site, why pull everything from a database? And if you save time by using templates, why roll your own HTML?
A static site generator in Golang. My favorite because I wrote it :-) but it is also super fast, however low on features.
I've been trying to get org-publish + org-blog working recently, but haven't had time to tie it all together right.
Simple. Quick deployments. Python/django based.
(Disclaimer: I'm a Pelican project committer.)