title: Determining a page is outdated on github pages
body: <p><a href="http://pages.github.com/">Github pages</a> sets very aggressive cache headers (<code>Cache-Control: max-age=86400</code> 1 day, <code>Expires</code> 1 month ahead) on all served content.</p>
  
  <p>If you update your pages and push to github, people revisiting the pages who have already got cached copies will not get the new pages without actually cleaning their browser cache.</p>
  
  <p>How can a script running in a page determine that it is stale and force an update?</p>
  
  <p>The steps might be:</p>
  
  <ol>
  <li>determine you are running on github pages: <em>easy</em>, parse <code>window.location</code> for <code>github.com/</code></li>
  <li>determine current version of page: <em>hard</em>, git doesn't let you embed the sha1 <em>in</em> a commited page; no RCS <code>$id$</code>.  So how do you know what version you are?</li>
  <li>get the current version in github; <em>hard</em>, github got rid of non-authenticated v2 API.  And there's a time disconnect between pushing to github and github getting around to publishing too.  So how do you know what version you could get?</li>
  <li>having determined you're stale, how do invalidate a page and force reload?  <em>hard</em>, <code>window.location.reload(true)</code> doesn't work in Safari/Chrome, for example...</li>
  </ol>
  
  <p>So its solve-these-steps; of course there may be another way?</p>