58

In the age of dynamic websites built with layouts and templates, nobody wants to write plain old repetitive static html anymore. But now that you can outsource dynamic features to services like Disqus, and you could get slashdotted/dugg/reddited at any moment, sometimes a static website is best for scalability.

There are quite a few static website generators out there that let you use templates, layouts, alternative markup languages, and other new age stuff. So this question is a bit of a survey. Which do you think is the best, and why?

Here are a few examples to start us off:

  1. WebGen
  2. StaticMatic
  3. Static
26

StaticMatic and Static are lesser known. There are more done in Ruby...

  • nanoc
  • Webby
  • Jekyll (which was "ported" to Python/aym-cms as Hyde)
  • Hobix - done by why the lucky stiff sometime ago (it still works)

I just used nanoc for a little project and it was pretty nice.

Don't forget aym-cms (Python), and the others in Perl that have existed since the dawn of time (like the aforementioned WML).

6

Poole is another one. Conceptually it's something in between plain Markdown to HTML conversion and more sophisticated site generators like Hyde.

Poole uses one global HTML skeleton file to inject the HTML versions of Markdown source pages into. Poole has basic support for generating content by embedding Python code in page source files. This is a dirty merge of content and logic but a pragmatic solution to get things done fast for simple sites. No need to learn a template or preprocessing engine.

Poole may be a good choice if you are familiar with Markdown and Python and if you want to build a rather simple site with only a spot of generated content.

5

I use ikiwiki as my wiki software, which in contrast with most wiki software generates a static view of the wiki. Whenever you make a change, it reruns the generator program that generates new versions of any static pages that need to change. It's not designed for huge installations like Wikipedia, but certainly for small to medium size wikis it works well.

4

Here is another example: Bricolage

A static web page is also much more secure than a dynamic one. Nobody would be able to deface one. There is no need for security updates either. Go static!

4

I'd like to add CityDesk from FogCreek Software.

Though no longer being updated, it is an incredibly easy to use little system that lets you crank out static websites at a pretty quick pace. Some of the features are a bit dated, but I like the simplicity of it's scripting language and templating system.

Michael

4

For simle static Site I can reccomend nanoc.

I've done such a static site with nanoc about 2 years ago. The documentation was good and I got it done quite fast. I had to handle a little problem with the directory structure, but as far as I can see this is solved in the current version anyway.

An alternative may be jekyll. ruby-toolbox says that this is the the most popular ruby site generating tool. But jekyll seems to be more complicated and overkill if you don't need blog features.

Anyway ruby-toolbox is a good starting point to look for alternative solutions.

3

If it's a simple blog, a while back I wrote a quick Python utility that would generate static pages:

http://github.com/dz/chisel/tree/master

My primary goal was to make it easy to extend and edit, hence the relative few number of basic page types it generates.

3

I swear by ttree

3

wget --recursive (with --base to relativize links) or curlmirror.

If you already have a working site written in CMS that has a RESTful interface (like Zotonic) you can make a static snapshot of it with wget --recursive (with --base) or curlmirror.

2

If you are looking for python based tool check out Tahchee. It uses Cheetah template system.

2

Frank it has cool helpers for prototyping fast.

2

Two excellent new static site generators are Middleman: https://github.com/tdreyno/middleman and Frank: https://github.com/blahed/frank

Both of them are based on the Sinatra Ruby Framework.

2

It's a late addition to the crowd, but WebDibbler (http://www.webdibbler.com) is a Java package with GUI font end that adds templating tags (include, loop, conditional, expression evaluation, multi-pass rendering) to standard HTML. It makes no constraint on the type of page being generated, and simply allows more complex websites to be built up from smaller fragments.

Plans include Ant task and direct Java API integration, as well as a number of markup/data source extensions.

1

"Website Meta Language" (often confusingly shortened to WML, despite being absolutely nothing to do with WAP) works well for me. apt-gettable on Debian.

1

I've got a little project going on that tries allow focus on writing content and designing nice HTML/CSS. All pages are flat text files, I like to think of it as website by config files:) http://pagegen.phnd.net

1

After searching around for a static site generator (I only wanted to use Ruby, which essentially limited the scope), I had a very positive experience with Webby. I made a "really-static" site with it (playcode.nl), as well as a blog (not-so-static, with the source code kept on github - blog.writelesscode.com). What I liked about it is extended set of features. For example, you can combine filters for the same page (no problem to use ERB together with Markdown). Nested layouts? No problem. Code highlighting worked well, too. And after all, the source code is pretty readable (although it feels a bit Java-ish to my opinion) - so, I could easily add a feature that I was missing (which was extracting excerpts from posts on the index page of the blog).

1

Two python based ones: blatter and lanyon.

1

Ages ago, I used filepp for quickly including content. It looks like a generalised C preprocessor. It still works, and is still available in Debian.

1

let me recommend you templeet makes it real easy to build static sites without imposing any structure combined with the ability to integrate php code/routines and a large set of tools to deal easily with authentication and database integration. To build a website from small to large, is still what I'd recommend because it can be as simple as building a static website with the ability to call any php when ever you need generating at the end a static website.

1 accepted

Mako and Jinja include all you really need to generate a static site.

1

The thread is a bit old, but it looks like it's still being updated. When I search Google for "static site generator" it's one of the top links listed! So ...

I've been looking for a PHP-based static site generator. (The Ruby ones seem to be flavour-of-the-month!) About the only one I've found is Stacey. I'm not even sure there is much be way of alternative in the PHP world. I would be interested to know of others, though.

Meanwhile, I hope Stacey is a worthy addition to this list.

1

vee - http://www.0x743.com/vee

0

maybe take a look at growl ...

0

Don't forget that there are lots of good full-scale CMSes out there that create static files. Movable Type and WordPress have great communities built up around them, with lots of plugins and support.

0

Another minimalist blog engine like Jekyll is toto. toto is a git-powered blog engine. The articles are stored as .txt files, with embeded metadata (in yaml format) and are processed through a markdown converter.

0

thedz said:

If it's a simple blog, a while back I wrote a quick Python utility that would generate static pages:

http://github.com/dz/chisel/tree/master

My primary goal was to make it easy to extend and edit, hence the relative few number of basic page types it generates.

Good work: The code is very easy to understand and this is the example I needed! Thanks !

0

Seaside in smalltalk. Because it doesn't use templates, but a fluent interface.