A Note on This Site
This site is constructed with Nesta, a very lightweight content management system. I chose Nesta because it does everything I need, and nothing more. Here are some of the features I find particularly attractive:
- Simple pages can be written with Markdown.
- More complex pages can be written with Haml.
- Sitewide style can be managed with Sass.
- The entire site can be gracefully evolved using Git.
- The entire site can be previewed locally on any computer with Ruby.
- Hosting is free on Heroku.
- Out of the box support for Google Analytics.
- Out of the box support for Disqus.
All this means the normal workflow to add to or amend the site is something like this (all commands executed in the local site root directory):
- Edit the file with TextMate.
- Preview changes locally with:
bundle exec shotgun config.ru
- Commit the file with:
git commit -a
- Push the changes remotely with:
git push heroku
Why Write with Markdown?
The central attraction of Markdown for me is the ease with which it can be used to generate web content on the one hand, via content management systems such as Nesta, and to generate print content on the other, via typesetting systems such as LaTeX. Another attraction is the clean and minimal syntax, which makes the source file itself much easier to read than ordinary HTML.
Why Use Git?
Git is an enormously simple version control system. In addition to making it easy to restore earlier versions of the site, Git makes it very easy to share code with others. For example, the entire source of this site can be found here, and I am happy for others to make use of whichever parts they like.