Webmaster contrib

This implements the code in PR #28, along with my suggested edits.