Restarting (because that's how I roll).
Added new express 3.0.5 application.
Adding Twitter Bootstrap

- Download Twitter Bootstap from http://twitter.github.com/bootstrap/
- Extract the 'css', 'img' and 'js' folders into the 'public' folder.
- Delete the 'images' and 'javascripts' folders that Express created.
- Copy 'stylesheets/style.css' to 'css' and then delete the 'stylesheets' folder.
- Edit 'views\layout.jade' to fix the path to the CSS file. We'll make it use Bootstrap in a moment.
- Download jQuery 1.8.3; save it to the 'js' folder.
- Edit 'views\layout.jade' to include 'jquery-1.8.3.min.js', 'bootstrap.min.css' and 'bootstrap.min.js'.
Keep the diary in the commit comments.

That is: there's no point in updating a Diary.md file with stuff that I'm doing,
and then having the same content in the commit comments.

It's better to make the commit comments in a scratch pad and add them at commit-time.

What I really need is a TODO file.
Use the Bootstrap starter template style.
Update TODO list.

The TODO.md file was originally renamed from Diary.md, but I forgot to remove all of
the diary bits.
Adding authentication.

- Factored the navbar out into its own file. This is in preparation for
  adding the username details to the navbar.
- Added an 'account' route (really a controller) to display the login page.
- Integrated PassportJS with a local strategy.

Notes:

- passport.authenticate() returns a Connect-style middleware function, which means
  that you can't simply call it directly.
  For details of what "middleware" is, see http://stephensugden.com/middleware_guide/,
  "What is middleware?".

Links:

- Jade mixins and includes: http://tjholowaychuk.com/post/7590787973/jade-mixins-includes
- Dependency injection into routes: http://stackoverflow.com/a/9766527/8446
  and http://stackoverflow.com/a/10092177/8446
- PassportJS: http://passportjs.org/
- In particular, the local strategy example:
  https://github.com/jaredhanson/passport-local/tree/master/examples/login
- Restarting node app when the files change: http://www.hacksparrow.com/node-js-restart-on-file-change.html
  ... npm install supervisor -g ; supervise app.js
- Understanding Connect And Middleware: http://project70.com/nodejs/understanding-connect-and-middleware/
More authentication.

- Moved /login to /account/login.
- Factored the 'verify' function into a Users class.
- Added an example '/post/create' that requires authenticated users.
- navbar now displays login link (for anonymous users) and user name and logout (for authenticated users).
- Added ?returnUrl support, similar to ASP.NET.
- Added /account/logout.

Links:
- returnUrl: http://stackoverflow.com/a/10654600/8446
- Accessing session from Jade: http://stackoverflow.com/a/13572244/8446