To me, many "dynamic" sites web aren't really dynamic and could be generated with a commit/push hook whenever the source data is updated. RSS feeds can be generated from the list of generated files and their creation dates. If you have enough disk space, it's possible to generate all image sizes for a picture gallery in advance. And so on.
Having a static web site ensures maximum speed (any web server can handle static files) and security (without forms or databases, there is little chance for an SQL injection attack to be successful).
I was really inspired by Jekyll (http://jekyllrb.com/), a "blog-aware, static website generator". But I'm not much of a blogger, and the web sites I wanted to generate needed to produce some "global" pages that depended on the fully generated site. For instance, a website consisting of a collection of articles, could have a tag cloud or an author scoreboard and still be fully static, as these files only need to be generated when an article is added or updated.
I first tried to write my own generic static website generator (most of the code was produced during the Vienna Perl QA Hackathon, in April 2010). And thus Papery was born. But being generic is hard, and the project stalled quickly.
At OSDC.fr, in October 2010, I had the opportunity to talk to a lot of people, including Alexis Sukrieh, Dancer's author. The idea of generating static websites using a dynamic framework appealed to a lot of people, and we brainstormed the name for a Dancer implementation during the conference (many thanks to Josette Garcia, from O'Reilly UK, for providing me with the exact English term I was looking for!)
Once you have a good name, the project almost writes itself.
This article has been written by Philippe Bruhat (BooK) for the Perl Dancer Advent Calendar 2010.
Proofreading and typo-fixing by Alexis Sukrieh.
Copyright (C) 2010 by Philippe Bruhat (BooK).