James,
Well, the file extension determines the Content-Type header that is returned--*unless* you manually set it using response.headers.set('Content-Type', 'text/foo') in your simplate. So you can have a simplate named foo.pdf that automatically returns application/pdf data, or bar.png that automatically returns image/png data. And you could have a foo.smpl file where you set the Content-Type manually to text/html.
The default value is text/plain. But you can change this with default_mimetype in aspen.conf.
That way any unknown extension, including *.smpl, would be sent as text/html.
Unfortunately, though, only index.html is currently supported as the default filename. I like the idea of adding a default_filenames knob to aspen.conf as well, which would take care of that, I think.
On the mimetypes issue, I'm inclined to read a mime.types file from .aspen. This would be in addition to a mime.types file that I would bundle with aspen itself; see:
Then you could configure .smpl as text/html for your website.
How would you feel about those two configuration options (default_filename + mime.types)?