General info:
Designs, mockups and prototypes are welcome, but please don’t spend a lot of time building anything yet; we might go for another option.
Assembling a team to build and maintain the site is an important part of this. An average architecture with several people happy to maintain it is better than a genius architecture with one quarrelsome maintainer.
I’d like to preserve the informal, playful feel of the old green & yellow site, so bright colours and cartoonish graphics are acceptable (but not required, if you want to go a different way).
Part 1: Information
Information about the project, how to install it, links to documentation & support forums, etc. Including content from the wiki on the old site. (Craven: Based on analytics for a different site, I recommend putting the following on the home page, in this order, quick links: Example code, installation instructions, API docs, projects that use Pygame.)
This part should be served as static HTML: solid free hosting is available for static sites, and we don’t want to worry about the security of a dynamic web application.
The HTML should be generated from content and templates stored in public version control, to allow easy collaboration.
Tools: there are many static site generators. Jekyll has a head start as it’s built into Github pages, but we’d consider other options. We’d like building and deploying the site to be automated, and it should be easy for contributors to build the site locally to check their changes. We have a slight preference for Python-based tools because contributors are likely to already have Python.
Part 2: Game feed
An up-to-date list of recent games, with screenshots and links. Game developers should be able to add their own games to the feed.
It must not be possible for user-submitted content to hijack the site (e.g. by injecting script tags)
We need to keep spam minimal, without making too much work for either developers submitting their games, or the site maintainers. E.g. we might use CAPTCHAs and nofollow links.
If the game feed breaks, the information site should still be available.
One obvious way to do this is with a small web app and a database to hold the content. That’s possible, but it would need hosting and maintenance. Are there other ways? What external services could we use? Get creative!