Commits

forename surname  committed 1f71107 Draft

Split help into an FAQ and a guide for beginners.

Added a separate page for the skellington, containing the most up to date version, and linked to it from the beginners guide and the rules.

Moved information about submitting from the help page to the rules page, as these were saying slightly different things.

  • Participants
  • Parent commits 6f5093a

Comments (0)

Files changed (9)

File pyweek/challenge/media/help.html

-<script src="http://media.pyweek.org/static/js/jquery.js" type="text/javascript"></script>
-<script src="http://media.pyweek.org/static/js/jquery.flot.js" type="text/javascript"></script>
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
+<title>Pyweek FAQ</title>
+<meta name="author" content="Richard Jones &lt;richard&#64;pyweek.org&gt;" />
+<style type="text/css">
 
-<h1 class="title">Help for using the PyWeek Challenge Site</h1>
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
 
-<div class="contents topic">
-<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="pyweek-faq">
+<h1 class="title">Pyweek FAQ</h1>
+<table class="docinfo" frame="void" rules="none">
+<col class="docinfo-name" />
+<col class="docinfo-content" />
+<tbody valign="top">
+<tr class="field"><th class="docinfo-name">revision date:</th><td class="field-body">2008/09/07</td>
+</tr>
+<tr><th class="docinfo-name">Author:</th>
+<td>Richard Jones &lt;<a class="reference external" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a>&gt;</td></tr>
+</tbody>
+</table>
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
 <ul class="simple">
-<li><a class="reference" href="#so-you-want-to-enter-as-an-individual" id="id5" name="id5">1. So you want to enter as an individual?</a></li>
-<li><a class="reference" href="#so-you-want-to-enter-as-a-team" id="id6" name="id6">2. So you want to enter as a team?</a></li>
-<li><a class="reference" href="#editing-your-personal-details" id="id7" name="id7">3. Editing your personal details</a></li>
-<li><a class="reference" href="#don-t-want-an-entry-any-more" id="id8" name="id8">4. Don't want an Entry any more?</a></li>
-<li><a class="reference" href="#want-to-change-team-leaders" id="id9" name="id9">5. Want to change Team Leaders?</a></li>
-<li><a class="reference" href="#want-to-join-a-team" id="id10" name="id10">6. Want to join a team?</a></li>
-<li><a class="reference" href="#what-to-do-before-the-challenge-starts" id="id11" name="id11">7. What to do before the challenge starts</a></li>
-<li><a class="reference" href="#what-do-do-during-the-challenge" id="id12" name="id12">8. What do do during the challenge</a></li>
-<li><a class="reference" href="#how-to-submit-your-entry" id="id13" name="id13">9. How to submit your entry</a></li>
-<li><a class="reference" href="#what-to-submit-as-your-entry" id="id14" name="id14">10. What to submit as your entry</a></li>
-<li><a class="reference" href="#when-does-pyweek-run" id="id15" name="id15">11. When does PyWeek run?</a></li>
-<li><a class="reference" href="#when-can-i-sign-up" id="id16" name="id16">12. When can I sign up?</a></li>
-<li><a class="reference" href="#how-do-i-upload-a-file" id="id17" name="id17">13. How do I upload a file?</a></li>
-<li><a class="reference" href="#how-do-i-post-a-diary-entry" id="id18" name="id18">14. How do I post a diary entry?</a></li>
-<li><a class="reference" href="#what-s-pyweek-all-about" id="id19" name="id19">15. What's PyWeek all about?</a></li>
+<li><a class="reference internal" href="#when-does-pyweek-run" id="id2">1. When does PyWeek run?</a></li>
+<li><a class="reference internal" href="#when-can-i-sign-up" id="id3">2. When can I sign up?</a></li>
+<li><a class="reference internal" href="#how-to-submit-your-entry" id="id4">3. How to submit your entry</a></li>
+<li><a class="reference internal" href="#editing-your-personal-details" id="id5">4. Editing your personal details</a></li>
+<li><a class="reference internal" href="#don-t-want-an-entry-any-more" id="id6">5. Don't want an Entry any more?</a></li>
+<li><a class="reference internal" href="#want-to-change-team-leaders" id="id7">6. Want to change Team Leaders?</a></li>
+<li><a class="reference internal" href="#want-to-join-a-team" id="id8">7. Want to join a team?</a></li>
+<li><a class="reference internal" href="#how-do-i-upload-a-file" id="id9">8. How do I upload a file?</a></li>
+<li><a class="reference internal" href="#how-do-i-post-a-diary-entry" id="id10">9. How do I post a diary entry?</a></li>
+<li><a class="reference internal" href="#what-s-pyweek-all-about" id="id11">10. What's PyWeek all about?</a></li>
 </ul>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id5" id="so-you-want-to-enter-as-an-individual" name="so-you-want-to-enter-as-an-individual">1. So you want to enter as an individual?</a></h1>
-<p>You should log into the PyWeek site and go to the latest challenge in the
-sidebar. Then in the the sidebar you should see &quot;Register Entry&quot;.
-Click that and fill out the details. Leave the &quot;Team Members&quot; bit blank.</p>
-<p>Once you've done that, your entry will appear under your &quot;Your entries&quot; list.</p>
-<p>You may add diary entries and upload files or screenshots to this entry
-(the latter only once the challenge has started).</p>
+<div class="section" id="when-does-pyweek-run">
+<h1><a class="toc-backref" href="#id2">1. When does PyWeek run?</a></h1>
+<p>PyWeek runs every 6 months in Spring/Autumn. This usually works out to be
+around the first week of April and September.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id6" id="so-you-want-to-enter-as-a-team" name="so-you-want-to-enter-as-a-team">2. So you want to enter as a team?</a></h1>
-<p>This step should be performed by the team leader.</p>
-<p>You should log into the PyWeek site and go to the latest challenge in the
-sidebar. Then in the sidebar you
-should see &quot;Register Entry&quot;. Click that and fill out the details. You may
-fill in the &quot;Team Members&quot; bit now or come back and edit it later.</p>
-<p>Once they've done that, their entry will appear under your &quot;Your entries&quot; list.</p>
-<p>You may add diary entries and upload files or screenshots to the team entry
-(the latter only once the challenge has started).</p>
-<p>Only the team leader will be able to manage the team entry (change its name or
-membership listing).</p>
+<div class="section" id="when-can-i-sign-up">
+<h1><a class="toc-backref" href="#id3">2. When can I sign up?</a></h1>
+<p>Registration for PyWeek opens one month before the challenge start date
+and continues through until the very end of the week-long challenge.</p>
+<p>Yes, you can sign up during the week.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id7" id="editing-your-personal-details" name="editing-your-personal-details">3. Editing your personal details</a></h1>
-<p>Once you've logged in use the &quot;Profile&quot; link in the sidebar to change your
-name, email address or password.</p>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id8" id="don-t-want-an-entry-any-more" name="don-t-want-an-entry-any-more">4. Don't want an Entry any more?</a></h1>
-<p>Just ask Richard to remove it. Mail him at <a class="reference" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id9" id="want-to-change-team-leaders" name="want-to-change-team-leaders">5. Want to change Team Leaders?</a></h1>
-<p>Just ask Richard to change it. Mail him at <a class="reference" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id10" id="want-to-join-a-team" name="want-to-join-a-team">6. Want to join a team?</a></h1>
-<p>Ask the team leader of that team to add you.</p>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id11" id="what-to-do-before-the-challenge-starts" name="what-to-do-before-the-challenge-starts">7. What to do before the challenge starts</a></h1>
-<ol class="arabic simple">
-<li>Make sure you have working versions of the libraries you're going to use.</li>
-<li>Make sure you can build packages to submit as your final submission (if
-you're going to use py2exe, make sure you know how to use it and that it
-works).</li>
-<li>If you don't have access to Linux, Windows or a Mac to test on, contact
-friends, family or other competitors to find someone who is able to test
-for you.</li>
-</ol>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id12" id="what-do-do-during-the-challenge" name="what-do-do-during-the-challenge">8. What do do during the challenge</a></h1>
-<ol class="arabic simple">
-<li>Plan on spending at least several hours packaging and testing your
-packaging.</li>
-<li>Allow time for planning your game (for example 1/5 of the total time)</li>
-<li>Allow time for polishing the game by adding instructions, opening menus,
-level transition screens, game over screen (for example 1/5 of the total
-time)</li>
-<li>Upload screenshots and put them in diary entries!</li>
-<li>Hang around in the IRC channel, irc.freenode.net channel #pyweek</li>
-</ol>
-</div>
-<div class="section">
-<h1><a class="toc-backref" href="#id13" id="how-to-submit-your-entry" name="how-to-submit-your-entry">9. How to submit your entry</a></h1>
+<div class="section" id="how-to-submit-your-entry">
+<h1><a class="toc-backref" href="#id4">3. How to submit your entry</a></h1>
 <p>Visit your entry's page any time during the challenge and up to 24 hours
 after the finish to upload your file(s). You may upload as many files
 as necessary, including screenshots.</p>
 is an entire 24-hour period in which to upload your files after the
 challenge finishes there will be no leniency for failure to upload.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id14" id="what-to-submit-as-your-entry" name="what-to-submit-as-your-entry">10. What to submit as your entry</a></h1>
-<p>Consider the advice at <a class="reference" href="http://www.pygame.org/wiki/distributing">http://www.pygame.org/wiki/distributing</a></p>
-<p><strong>We recommend you download</strong> the <a class="reference"
-href="http://media.pyweek.org/static/skellington-1.9.zip">Skellington 1.9</a> package and use that as the starting-point
-for your game.</p>
-<p>For this challenge,</p>
-<ol class="arabic simple">
-<li>Always use either ZIP or TAR / GZIP to bundle your entry.</li>
-<li>Always use a top-level directory.</li>
-<li>You <strong>MUST</strong> include a README.txt which at a minimum indicates:<ul>
-<li>who wrote the code</li>
-<li>who created the artwork</li>
-<li><em>how to run the game</em></li>
-<li>the licence for the game (the Free Software Foundation has a handy
-<a class="reference" href="http://www.fsf.org/licensing/licenses">page of free software licenses</a>)</li>
-<li>what dependencies need to be installed</li>
-<li>a plug for the challenge is nice :)</li>
-</ul>
-</li>
-<li>If possible, you should bundle other libs you've used. If it's pure
-Python, then it may be bundled straight. If not, then consider including
-the source for the library.</li>
-<li>If your entry is large (greater than 1MB) then you might want to use
-the <a class="reference" href="http://media.pyweek.org/static/pyweek-upload.py">pyweek uploader</a> script to upload it, as it will handle bigger
-uploads better.</li>
-</ol>
+<div class="section" id="editing-your-personal-details">
+<h1><a class="toc-backref" href="#id5">4. Editing your personal details</a></h1>
+<p>Once you've logged in use the &quot;Profile&quot; link in the sidebar to change your
+name, email address or password.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id15" id="when-does-pyweek-run" name="when-does-pyweek-run">11. When does PyWeek run?</a></h1>
-<p>PyWeek runs every 6 months in Spring/Autumn. This usually works out to be
-around the first week of April and September.</p>
+<div class="section" id="don-t-want-an-entry-any-more">
+<h1><a class="toc-backref" href="#id6">5. Don't want an Entry any more?</a></h1>
+<p>Just ask Richard to remove it. Mail him at <a class="reference external" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id16" id="when-can-i-sign-up" name="when-can-i-sign-up">12. When can I sign up?</a></h1>
-<p>Registration for PyWeek opens one month before the challenge start date
-and continues through until the very end of the week-long challenge.</p>
-<p>Yes, you can sign up during the week.</p>
+<div class="section" id="want-to-change-team-leaders">
+<h1><a class="toc-backref" href="#id7">6. Want to change Team Leaders?</a></h1>
+<p>Just ask Richard to change it. Mail him at <a class="reference external" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id17" id="how-do-i-upload-a-file" name="how-do-i-upload-a-file">13. How do I upload a file?</a></h1>
+<div class="section" id="want-to-join-a-team">
+<h1><a class="toc-backref" href="#id8">7. Want to join a team?</a></h1>
+<p>Ask the team leader of that team to add you.</p>
+</div>
+<div class="section" id="how-do-i-upload-a-file">
+<h1><a class="toc-backref" href="#id9">8. How do I upload a file?</a></h1>
 <p>You may only upload a file during the running of the challenge (ie. after the
 start date). If you wish to upload outside of that time, contact Richard at
-<a class="reference" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
+<a class="reference external" href="mailto:richard&#64;pyweek.org">richard&#64;pyweek.org</a></p>
 <p>To upload a file:</p>
 <ol class="arabic simple">
 <li>log in,</li>
 <li>select &quot;Upload File&quot; or &quot;Upload Screenshot&quot; in the sidebar, and</li>
 <li>fill out the &quot;Upload a File&quot; form.</li>
 </ol>
-<p>See the separate section <a class="reference" href="#how-to-submit-your-entry">9. How to submit your entry</a> for more information
+<p>See the separate section <a class="reference internal" href="#how-to-submit-your-entry">3. How to submit your entry</a> for more information
 about submitting your entry to the site.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id18" id="how-do-i-post-a-diary-entry" name="how-do-i-post-a-diary-entry">14. How do I post a diary entry?</a></h1>
+<div class="section" id="how-do-i-post-a-diary-entry">
+<h1><a class="toc-backref" href="#id10">9. How do I post a diary entry?</a></h1>
 <p>To post an entry:</p>
 <ol class="arabic simple">
 <li>log in,</li>
 </ol>
 <p>Your entry will automatically be listed on the front page of the site.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id19" id="what-s-pyweek-all-about" name="what-s-pyweek-all-about">15. What's PyWeek all about?</a></h1>
-<p><a class="reference" href="http://www.mechanicalcat.net/richard">Richard</a> speaks:</p>
+<div class="section" id="what-s-pyweek-all-about">
+<h1><a class="toc-backref" href="#id11">10. What's PyWeek all about?</a></h1>
+<p><a class="reference external" href="http://www.mechanicalcat.net/richard">Richard</a> speaks:</p>
 <blockquote>
 <p>I created PyWeek after competing in and running several Ludum Dare 48-hour
 challenges. I had a few problems with the format of that challenge:</p>
 <p>PyWeek number 1 was conceived in about May or June 2005 and run in August 2005.</p>
 <p>It's run by Richard. Lucio Torre has helped out by updating the site code
 from pre-magic-removal to post-magic-removal versions of Django.</p>
-<p>The participation in PyWeek has been increasing gradually since the start:</p>
-<div id="placeholder" style="width:600px;height:300px;"></div> 
+<p>The participation in PyWeek has been pretty steady since the start, with ups and downs depending on how widely the challenge is promoted (or whether I manage to schedule it particularly badly):</p>
+<img alt="http://media.pyweek.org/static/participation-graph.png" src="http://media.pyweek.org/static/participation-graph.png" />
 <p>The first challenge was announced about 3 months out, and a bunch of
 people registered that didn't return for the challenge, hence the low
 number of finished entries. Since then registration has only been opened
 to new users one month from the start date. This appears to have reduced
 the number of unused registrations.</p>
 </div>
-
-<script id="source" language="javascript" type="text/javascript"> 
-$(function () {
-  function onDataReceived(series) {
-    var users = [];
-    var entries = [];
-    var finals = [];
-    for (var n in series['stats']) {
-        users.push([n, series['stats'][n]['users']]);
-    }
-    for (var n in series['stats']) {
-        entries.push([n, series['stats'][n]['entries']]);
-    }
-    for (var n in series['stats']) {
-        finals.push([n, series['stats'][n]['finals']]);
-    }
-    var plot = $.plot($("#placeholder"), [
-       {
-           data: users,
-           lines: {show: true, fill: true},
-           label: 'Users'
-       },
-       {
-           data: entries,
-           lines: {show: true, fill: true},
-           label: 'Entries'
-       },
-       {
-           data: finals,
-           lines: {show: true, fill: true},
-           label: 'Games Submitted'
-       }
-    ], {
-       legend: {
-          position: "nw",
-       }
-    });
-  }
-
-  $.ajax({
-    url: 'http://pyweek.org/stats.json',
-    method: 'GET',
-    dataType: 'json',
-    success: onDataReceived
-  });
-});
-</script>
-
+</div>
+</body>
+</html>

File pyweek/challenge/media/help.rst

 ========================================
-Help for using the PyWeek Challenge Site
+Pyweek FAQ
 ========================================
 
 :revision date: 2008/09/07
 
 .. contents::
 
-0. How the heck do I write a game?
-----------------------------------
+1. When does PyWeek run?
+-------------------------
 
-There's some great tutorials out there and Al Sewigart, the author of the
-free book *Invent Your Own Computer Games with Python* has compiled a `list
-of the top 10`__.
+PyWeek runs every 6 months in Spring/Autumn. This usually works out to be
+around the first week of April and September.
 
-__ http://inventwithpython.com/blog/2010/09/01/the-top-10-pygame-tutorials/
-
-1. So you want to enter as an individual?
------------------------------------------
-
-You should log into the PyWeek site and go to the latest challenge in the
-sidebar. Then in the the sidebar you should see "Register Entry".
-Click that and fill out the details. Leave the "Team Members" bit blank.
-
-Once you've done that, your entry will appear under your "Your entries" list.
-
-You may add diary entries and upload files or screenshots to this entry
-(the latter only once the challenge has started).
-
-
-2. So you want to enter as a team?
-----------------------------------
-
-This step should be performed by the team leader.
-
-You should log into the PyWeek site and go to the latest challenge in the
-sidebar. Then in the sidebar you
-should see "Register Entry". Click that and fill out the details. You may
-fill in the "Team Members" bit now or come back and edit it later.
-
-Once they've done that, their entry will appear under your "Your entries" list.
-
-You may add diary entries and upload files or screenshots to the team entry
-(the latter only once the challenge has started).
-
-Only the team leader will be able to manage the team entry (change its name or
-membership listing).
-
-
-3. Editing your personal details
---------------------------------
-
-Once you've logged in use the "Profile" link in the sidebar to change your
-name, email address or password.
-
-
-4. Don't want an Entry any more?
---------------------------------
-
-Just ask Richard to remove it. Mail him at richard@pyweek.org
-
-
-5. Want to change Team Leaders?
--------------------------------
-
-Just ask Richard to change it. Mail him at richard@pyweek.org
-
-
-6. Want to join a team?
+2. When can I sign up?
 -----------------------
 
-Ask the team leader of that team to add you.
+Registration for PyWeek opens one month before the challenge start date
+and continues through until the very end of the week-long challenge.
 
+Yes, you can sign up during the week.
 
-7. What to do before the challenge starts
------------------------------------------
-
-1. Make sure you have working versions of the libraries you're going to use.
-2. Make sure you can build packages to submit as your final submission (if
-   you're going to use py2exe, make sure you know how to use it and that it
-   works).
-3. If you don't have access to Linux, Windows or a Mac to test on, contact
-   friends, family or other competitors to find someone who is able to test
-   for you.
-
-
-8. What do do during the challenge
-----------------------------------
-
-1. Plan on spending at least several hours packaging and testing your
-   packaging.
-2. Allow time for planning your game (for example 1/5 of the total time)
-3. Allow time for polishing the game by adding instructions, opening menus,
-   level transition screens, game over screen (for example 1/5 of the total
-   time)
-4. Upload screenshots and put them in diary entries!
-5. Hang around in the IRC channel, irc.freenode.net channel #pyweek
-
-
-9. How to submit your entry
+3. How to submit your entry
 ---------------------------
 
 Visit your entry's page any time during the challenge and up to 24 hours
 is an entire 24-hour period in which to upload your files after the
 challenge finishes there will be no leniency for failure to upload.
 
-
-10. What to submit as your entry
+4. Editing your personal details
 --------------------------------
 
-Consider the advice at http://www.pygame.org/wiki/distributing
+Once you've logged in use the "Profile" link in the sidebar to change your
+name, email address or password.
 
-**We recommend you download** the `Skellington 1.9`__ package and use that as the starting-point
-for your game.
 
-__ http://media.pyweek.org/static/skellington-1.9.zip
+5. Don't want an Entry any more?
+--------------------------------
 
-For this challenge,
+Just ask Richard to remove it. Mail him at richard@pyweek.org
 
-1. Always use either ZIP or TAR / GZIP to bundle your entry.
-2. Always use a top-level directory.
-3. You **MUST** include a README.txt which at a minimum indicates:
 
-   - who wrote the code
-   - who created the artwork
-   - *how to run the game*
-   - the licence for the game (the Free Software Foundation has a handy
-     `page of free software licenses`__)
-   - what dependencies need to be installed
-   - a plug for the challenge is nice :)
+6. Want to change Team Leaders?
+-------------------------------
 
-4. If possible, you should bundle other libs you've used. If it's pure
-   Python, then it may be bundled straight. If not, then consider including
-   the source for the library.
-5. If your entry is large (greater than 1MB) then you might want to use
-   the `pyweek uploader`__ script to upload it, as it will handle bigger
-   uploads better.
+Just ask Richard to change it. Mail him at richard@pyweek.org
 
-__ http://www.fsf.org/licensing/licenses
-__ http://media.pyweek.org/static/pyweek-upload.py
 
-
-11. When does PyWeek run?
--------------------------
-
-PyWeek runs every 6 months in Spring/Autumn. This usually works out to be
-around the first week of April and September.
-
-
-12. When can I sign up?
+7. Want to join a team?
 -----------------------
 
-Registration for PyWeek opens one month before the challenge start date
-and continues through until the very end of the week-long challenge.
+Ask the team leader of that team to add you.
 
-Yes, you can sign up during the week.
 
-
-13. How do I upload a file?
+8. How do I upload a file?
 ---------------------------
 
 You may only upload a file during the running of the challenge (ie. after the
 3. select "Upload File" or "Upload Screenshot" in the sidebar, and
 4. fill out the "Upload a File" form.
 
-See the separate section `9. How to submit your entry`_ for more information
+See the separate section `3. How to submit your entry`_ for more information
 about submitting your entry to the site.
 
 
-14. How do I post a diary entry?
+9. How do I post a diary entry?
 --------------------------------
 
 To post an entry:
 Your entry will automatically be listed on the front page of the site.
 
 
-15. What's PyWeek all about?
+10. What's PyWeek all about?
 ----------------------------
 
 Richard__ speaks:
 
 The participation in PyWeek has been pretty steady since the start, with ups and downs depending on how widely the challenge is promoted (or whether I manage to schedule it particularly badly):
 
-.. image:: participation-graph.png
+.. image:: http://media.pyweek.org/static/participation-graph.png
 
 The first challenge was announced about 3 months out, and a bunch of
 people registered that didn't return for the challenge, hence the low

File pyweek/challenge/media/rules.html

+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
+<title>PyWeek Game Progamming Challenge Rules</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="pyweek-game-progamming-challenge-rules">
 <h1 class="title">PyWeek Game Progamming Challenge Rules</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
 <col class="docinfo-content" />
 <tbody valign="top">
-<tr class="field"><th class="docinfo-name">Revision date:</th><td class="field-body">2010/04/08</td>
+<tr class="field"><th class="docinfo-name">revision date:</th><td class="field-body">2010/04/08</td>
 </tr>
 </tbody>
 </table>
 <li>Will let a lot of people actually finish a game, and</li>
 <li>May inspire new projects (with ready made teams!)</li>
 </ol>
-<div class="contents topic">
-<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
+<div class="contents topic" id="contents">
+<p class="topic-title first">Contents</p>
 <ul class="simple">
-<li><a class="reference" href="#entry-is-individual-or-team-based" id="id8" name="id8">1. Entry is individual or team-based</a></li>
-<li><a class="reference" href="#entries-are-to-be-written-from-scratch" id="id9" name="id9">2. Entries are to be written &quot;from scratch&quot;</a></li>
-<li><a class="reference" href="#the-time-limit-is-1-week" id="id10" name="id10">3. The time limit is 1 week</a></li>
-<li><a class="reference" href="#theme-is-selected-by-the-competitors" id="id11" name="id11">4. Theme is selected by the competitors</a></li>
-<li><a class="reference" href="#entries-are-judged-by-peers" id="id12" name="id12">5. Entries are judged by peers</a></li>
-<li><a class="reference" href="#existing-artwork-music-and-sound-effects-may-be-used" id="id13" name="id13">6. Existing artwork, music and sound effects may be used</a></li>
-<li><a class="reference" href="#your-final-submission" id="id14" name="id14">7. Your Final Submission</a></li>
-<li><a class="reference" href="#allowed-documentation" id="id15" name="id15">8. Allowed Documentation</a></li>
-<li><a class="reference" href="#target-platform" id="id16" name="id16">9. Target platform</a></li>
+<li><a class="reference internal" href="#entry-is-individual-or-team-based" id="id7">1. Entry is individual or team-based</a></li>
+<li><a class="reference internal" href="#entries-are-to-be-written-from-scratch" id="id8">2. Entries are to be written &quot;from scratch&quot;</a></li>
+<li><a class="reference internal" href="#the-time-limit-is-1-week" id="id9">3. The time limit is 1 week</a></li>
+<li><a class="reference internal" href="#theme-is-selected-by-the-competitors" id="id10">4. Theme is selected by the competitors</a></li>
+<li><a class="reference internal" href="#entries-are-judged-by-peers" id="id11">5. Entries are judged by peers</a></li>
+<li><a class="reference internal" href="#existing-artwork-music-and-sound-effects-may-be-used" id="id12">6. Existing artwork, music and sound effects may be used</a></li>
+<li><a class="reference internal" href="#your-final-submission" id="id13">7. Your Final Submission</a></li>
+<li><a class="reference internal" href="#allowed-documentation" id="id14">8. Allowed Documentation</a></li>
+<li><a class="reference internal" href="#target-platform" id="id15">9. Target platform</a></li>
 </ul>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id8" id="entry-is-individual-or-team-based" name="entry-is-individual-or-team-based">1. Entry is individual or team-based</a></h1>
+<div class="section" id="entry-is-individual-or-team-based">
+<h1><a class="toc-backref" href="#id7">1. Entry is individual or team-based</a></h1>
 <p>You may either enter as an individual or as a team with as many members as
 you like. Individuals and teams will be judged together (we figure the benefits
 of being in a team are outweighed by the disadvantages of being in a team).</p>
 <p>During the challenge, competitors are encouraged to hang out on IRC and
 post diary entries (diaries are supplied as part of the challenge).</p>
 <p>By signing up to the challenge, you are agreeing to abide by
-the system <a class="reference" href="conditions.html">conditions of use</a>.</p>
+the system <a class="reference external" href="conditions.html">conditions of use</a>.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id9" id="entries-are-to-be-written-from-scratch" name="entries-are-to-be-written-from-scratch">2. Entries are to be written &quot;from scratch&quot;</a></h1>
+<div class="section" id="entries-are-to-be-written-from-scratch">
+<h1><a class="toc-backref" href="#id8">2. Entries are to be written &quot;from scratch&quot;</a></h1>
 <p>The intent of this rule is to provide a level playing-field for all entrants. This has
 a number of aspects:</p>
 <ol class="arabic simple">
 that others may have reasonable opportunity of using the library, and</li>
 <li>If you do release a new version of a library around the time of the
 challenge, we would ask that you make all efforts to not sabotage
-existing users of your library (see rule <a class="reference" href="#target-platform">9. Target Platform</a>.)
+existing users of your library (see rule <a class="reference internal" href="#target-platform">9. Target Platform</a>.)
 It's probably safer to wait until after the competition to release
 the new version, and use the old version for the competition.</li>
 </ol>
 for at least one month before the challenge (and are well documented).
 The libraries must not implement any game logic. The entire PyGame library
 is OK to use, as are PIL, PyOpenGL, PyODE, PyOGRE, etc -- all the libraries
-listed in the <a class="reference" href="http://wiki.python.org/moin/PythonGameLibraries">python.org PythonGameLibraries wiki page</a>.</p>
+listed in the <a class="reference external" href="http://wiki.python.org/moin/PythonGameLibraries">python.org PythonGameLibraries wiki page</a>.</p>
 <p>You are <strong>not</strong> allowed to use any <strong>exising personal codebases</strong>. This
 includes using those codebases as a point of reference. Hint: release the
 code well before the comp as part of a tutorial. Then you may refer to
 it -- and so may the other competitors.</p>
-<p>A great resource is the <a class="reference" href="http://www.pygame.org/wiki/CookBook">pygame.org cookbook</a>. It is perfectly
+<p>A great resource is the <a class="reference external" href="http://www.pygame.org/wiki/CookBook">pygame.org cookbook</a>. It is perfectly
 acceptable to cut-n-paste code from the cookbook, as that code is released
 and should be considered equivalent to a library.</p>
 <p>This is a Python programming challenge, but that doesn't preclude the use
 of supporting languages (eg. C or C++ libraries, Javascript in HTML web
 pages, and so on).</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id10" id="the-time-limit-is-1-week" name="the-time-limit-is-1-week">3. The time limit is 1 week</a></h1>
+<div class="section" id="the-time-limit-is-1-week">
+<h1><a class="toc-backref" href="#id9">3. The time limit is 1 week</a></h1>
 <p>The challenge starts 00:00 UTC Sunday and finishes 7 days later at
 00:00UTC Sunday.</p>
 <p>Work done on entries before this time would be considered cheating.</p>
 <p>If your game crashes it's on your head. You should allow time for
 testing well before the deadline.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id11" id="theme-is-selected-by-the-competitors" name="theme-is-selected-by-the-competitors">4. Theme is selected by the competitors</a></h1>
+<div class="section" id="theme-is-selected-by-the-competitors">
+<h1><a class="toc-backref" href="#id10">4. Theme is selected by the competitors</a></h1>
 <p>The theme of the challenge will be determined by a vote in the
 week leading up to the challenge.</p>
 <p>The theme exists to serve two purposes:</p>
 at the point that the challenge begins.</p>
 <p>All votes will be recorded for later examination.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id12" id="entries-are-judged-by-peers" name="entries-are-judged-by-peers">5. Entries are judged by peers</a></h1>
+<div class="section" id="entries-are-judged-by-peers">
+<h1><a class="toc-backref" href="#id11">5. Entries are judged by peers</a></h1>
 <p>Judging of final submissions will be done by your peers, the other souls brave
 enough to grind away for 7 days and compete with you (and finish).
 Judging is performed by the
 for any prizes, though they'll still appear in the rankings (&quot;do'h, if
 only I'd followed the rules!&quot;)</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id13" id="existing-artwork-music-and-sound-effects-may-be-used" name="existing-artwork-music-and-sound-effects-may-be-used">6. Existing artwork, music and sound effects may be used</a></h1>
+<div class="section" id="existing-artwork-music-and-sound-effects-may-be-used">
+<h1><a class="toc-backref" href="#id12">6. Existing artwork, music and sound effects may be used</a></h1>
 <p>As with the use of existing codebases, the intention is that all entrants
 start with a level playing field in artwork too. This means you shouldn't
 develop artwork beforehand that you intend to use during the challenge
 cut-n-paste in artwork from The Simpsons (TM).</p>
 <p>First suggestion, try a web search for &quot;free fonts&quot; or &quot;free clip-art&quot; etc.</p>
 <p>A list of good, free art resources go to the PyGame website wiki (and
-contribute!) at <a class="reference" href="http://www.pygame.org/wiki/resources">http://www.pygame.org/wiki/resources</a></p>
+contribute!) at <a class="reference external" href="http://www.pygame.org/wiki/resources">http://www.pygame.org/wiki/resources</a></p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id14" id="your-final-submission" name="your-final-submission">7. Your Final Submission</a></h1>
+<div class="section" id="your-final-submission">
+<h1><a class="toc-backref" href="#id13">7. Your Final Submission</a></h1>
 <p>You may upload your final at any time during the challenge. You may even
 upload multiple final submissions - but only the last one will actually be
 used for judging.</p>
-<p>Your entry <strong>must</strong> include all code and data required for running, and
-instructions about how to run the entry. Consider using py2exe to generate
-a Windows executable (though also recognise that some people don't have
-Windows.) It is recommended that you include 3rd-party libraries if
-that's reasonable (ie. if they're pure-Python and don't bloat out your
-entry size unreasonably).</p>
-<p>We recommend you download the <a class="reference"
-href="http://media.pyweek.org/static/skellington-2.3.zip">Skellington 2.3</a> package and use that as the starting-point
-for your game.</p>
-<p>Your entry <strong>must</strong> include all source code. You retain ownership of all source
-code and artwork you produce. The Free Software Foundation has a handy
-<a class="reference" href="http://www.fsf.org/licensing/licenses">page of free software licenses</a> which may help you figure out how to
-license your entry.</p>
+<p>Your entry <strong>must</strong> include all source code and data required for running the game.</p>
+<p>If possible, you should bundle other libs you've used. If it's pure
+Python, then it may be bundled straight. If not, then consider including
+the source for the library.</p>
+<dl class="docutils">
+<dt>You <strong>must</strong> include a README.txt which at a minimum indicates:</dt>
+<dd><ul class="first last simple">
+<li>who wrote the code</li>
+<li>who created the artwork</li>
+<li><em>how to run the game</em></li>
+<li>the licence for the game (the Free Software Foundation has a handy
+<a class="reference external" href="http://www.fsf.org/licensing/licenses">page of free software licenses</a>)</li>
+<li>what dependencies need to be installed</li>
+<li>a plug for the challenge is nice :)</li>
+</ul>
+</dd>
+</dl>
 <p>Your game's license must allow for PyWeek to redistribute your
-game and its source through the PyWeek website (<a
-href="http://pyweek.org/">http://pyweek.org/</a>),
+game and its source through the PyWeek website (<a class="reference external" href="http://pyweek.org/">http://pyweek.org/</a>),
 BitTorrent and any other protocol deemed necessary by the PyWeek
 organisers.</p>
-<p>Please read the <a class="reference" href="http://media.pyweek.org/static/help.html">entrant help page</a> for some guidelines about how to
-package your entry.</p>
+<p><strong>We recommend you download</strong> the <a class="reference external" href="/s/skellington">Skellington</a> package and use that as the starting-point
+for your game.</p>
+<p>Always use either ZIP or TAR / GZIP to bundle your entry, and include a top-level directory.</p>
+<p>Consider using py2exe to generate a Windows executable (though also recognise that some people don't have Windows.)</p>
+<p>Consider the advice at <a class="reference external" href="http://www.pygame.org/wiki/distributing">http://www.pygame.org/wiki/distributing</a>.</p>
+<p>If your entry is large (greater than 1MB) then you might want to use
+the <a class="reference external" href="http://media.pyweek.org/static/pyweek-upload.py">pyweek uploader</a> script to upload it, as it will handle bigger
+uploads better.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id15" id="allowed-documentation" name="allowed-documentation">8. Allowed Documentation</a></h1>
+<div class="section" id="allowed-documentation">
+<h1><a class="toc-backref" href="#id14">8. Allowed Documentation</a></h1>
 <p>Any online documentation may be used. This encompasses anything that might
 be viewed in a web browser and found by Google by any of the challenge
 entrants. Mailing lists and bulletin boards count.</p>
 <p>Any existing code you've written should be considered out-of-bounds for the
 duration of the challenge.</p>
 </div>
-<div class="section">
-<h1><a class="toc-backref" href="#id16" id="target-platform" name="target-platform">9. Target platform</a></h1>
+<div class="section" id="target-platform">
+<h1><a class="toc-backref" href="#id15">9. Target platform</a></h1>
 <p>All entries must run in Python on the latest available libraries (ie. the latest
 release of PyGame, PyOpenGL, etc).</p>
 <p>This doesn't mean you have to develop on those latest versions, just that
 sabotage existing users of your library. It's probably safer to wait until after the
 challenge to release the new version, and use the old version for the challenge.</p>
 </div>
+</div>
+</body>
+</html>

File pyweek/challenge/media/rules.rst

 upload multiple final submissions - but only the last one will actually be
 used for judging.
 
-Your entry **must** include all code and data required for running, and
-instructions about how to run the entry. Consider using py2exe to generate
-a Windows executable (though also recognise that some people don't have
-Windows.) It is recommended that you include 3rd-party libraries if
-that's reasonable (ie. if they're pure-Python and don't bloat out your
-entry size unreasonably).
+Your entry **must** include all source code and data required for running the game.
 
-We recommend you download the `Skellington 1.9`__ package and use that as the starting-point
-for your game.
+If possible, you should bundle other libs you've used. If it's pure
+Python, then it may be bundled straight. If not, then consider including
+the source for the library.
 
-__ http://media.pyweek.org/static/skellington-1.9.zip
-
-Your entry **must** include all source code. You retain ownership of all source
-code and artwork you produce. The Free Software Foundation has a handy
-`page of free software licenses`__ which may help you figure out how to
-license your entry.
+You **must** include a README.txt which at a minimum indicates:
+   - who wrote the code
+   - who created the artwork
+   - *how to run the game*
+   - the licence for the game (the Free Software Foundation has a handy
+     `page of free software licenses`__)
+   - what dependencies need to be installed
+   - a plug for the challenge is nice :)
 
 __ http://www.fsf.org/licensing/licenses
 
 BitTorrent and any other protocol deemed necessary by the PyWeek
 organisers.
 
-Please read the `entrant help page`__ for some guidelines about how to
-package your entry.
+**We recommend you download** the `Skellington`__ package and use that as the starting-point
+for your game.
 
-__ http://media.pyweek.org/static/help.html
+__ /s/skellington
+
+Always use either ZIP or TAR / GZIP to bundle your entry, and include a top-level directory.
+
+Consider using py2exe to generate a Windows executable (though also recognise that some people don't have Windows.)
+
+Consider the advice at http://www.pygame.org/wiki/distributing.
+
+If your entry is large (greater than 1MB) then you might want to use
+the `pyweek uploader`__ script to upload it, as it will handle bigger
+uploads better.
+
+__ http://media.pyweek.org/static/pyweek-upload.py
 
 
 8. Allowed Documentation

File pyweek/challenge/media/skellington.html

+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
+<title>PyWeek Skellington</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="pyweek-skellington">
+<h1 class="title">PyWeek Skellington</h1>
+
+<p>The Skellington is a basic starting point for your game, including an upload script to submit your entry (this can also be done via your entry page).</p>
+<p>If you decide not to use it, make sure your source submission still contains a run_game.py and a README so that judges can easily run your game.</p>
+<p><a class="reference external" href="http://media.pyweek.org/static/skellington-2.3.zip">Download Latest Version (2.3)</a>.</p>
+<p>Older versions:
+<a class="reference external" href="http://media.pyweek.org/static/skellington-2.2.zip">2.2</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-2.1.zip">2.1</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-2.0.zip">2.0</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.9.zip">1.9</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.8.zip">1.8</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.7.zip">1.7</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.6.zip">1.6</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.5.zip">1.5</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.4.zip">1.4</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.3.zip">1.3</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.2.zip">1.2</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.1.zip">1.1</a>,
+<a class="reference external" href="http://media.pyweek.org/static/skellington-1.0.zip">1.0</a>.</p>
+</div>
+</body>
+</html>

File pyweek/challenge/media/skellington.rst

+----------------------------------------
+PyWeek Skellington
+----------------------------------------
+
+The Skellington is a basic starting point for your game, including an upload script to submit your entry (this can also be done via your entry page).
+
+If you decide not to use it, make sure your source submission still contains a run_game.py and a README so that judges can easily run your game.
+
+`Download Latest Version (2.3) <http://media.pyweek.org/static/skellington-2.3.zip>`_.
+
+Older versions:
+`2.2 <http://media.pyweek.org/static/skellington-2.2.zip>`_,
+`2.1 <http://media.pyweek.org/static/skellington-2.1.zip>`_,
+`2.0 <http://media.pyweek.org/static/skellington-2.0.zip>`_,
+`1.9 <http://media.pyweek.org/static/skellington-1.9.zip>`_,
+`1.8 <http://media.pyweek.org/static/skellington-1.8.zip>`_,
+`1.7 <http://media.pyweek.org/static/skellington-1.7.zip>`_,
+`1.6 <http://media.pyweek.org/static/skellington-1.6.zip>`_,
+`1.5 <http://media.pyweek.org/static/skellington-1.5.zip>`_,
+`1.4 <http://media.pyweek.org/static/skellington-1.4.zip>`_,
+`1.3 <http://media.pyweek.org/static/skellington-1.3.zip>`_,
+`1.2 <http://media.pyweek.org/static/skellington-1.2.zip>`_,
+`1.1 <http://media.pyweek.org/static/skellington-1.1.zip>`_,
+`1.0 <http://media.pyweek.org/static/skellington-1.0.zip>`_.

File pyweek/challenge/media/start.html

+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
+<title>PyWeek Quick Start Guide</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7514 2012-09-14 14:27:12Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {