<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -16,6 +16,7 @@ AUTHOR = { :name =&gt; 'Eivind Uggedal',
            :url =&gt; 'http://redflavor.com' }
 ANALYTICS = 'UA-1857692-3'
 PUBLIC = File.join(File.dirname(__FILE__), 'public')
+TEMP = File.join(File.dirname(__FILE__), 'temp')
 ASSETS = File.join(File.dirname(__FILE__), 'assets')
 
 # Format of time objects.
@@ -75,17 +76,25 @@ def meta_from_file(file)
     :slug =&gt; slugify(title) }
 end
 
-def write_file(fname, data, root=PUBLIC)
+def write_file(fname, data, root=TEMP)
   File.open(File.join(root, fname), 'w') { |f| f.puts data }
 end
 
-def create_dir(dirname, root=PUBLIC)
+def create_dir(dirname, root=TEMP)
   FileUtils.mkdir_p File.join(root, dirname)
 end
 
+def clean_and_create_temp
+  FileUtils.rm_r TEMP if File.exists? TEMP
+  FileUtils.mkdir_p TEMP
+end
+
 def clean_public
   FileUtils.rm_r PUBLIC if File.exists? PUBLIC
-  FileUtils.mkdir_p PUBLIC
+end
+
+def distribute_temp_files
+  File.rename TEMP, PUBLIC
 end
 
 def generate_style
@@ -163,18 +172,19 @@ def generate_entries
   end
 end
 
-
 def distribute_assets
   FileUtils.cp_r &quot;#{ASSETS}/.&quot;, PUBLIC
 end
 
 if __FILE__ == $0
-  clean_public
+  clean_and_create_temp
   generate_style
   generate_fourofour
   generate_index
   generate_tag_indexes
   generate_entries
+  clean_public
+  distribute_temp_files
   distribute_assets
 end
 </diff>
      <filename>reprise.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e2555096c0d89e8bf6c6c8ba8e7524fd2eae6857</id>
    </parent>
  </parents>
  <author>
    <name>Eivind Uggedal</name>
    <email>eu@redflavor.com</email>
  </author>
  <url>http://github.com/uggedal/reprise/commit/8d68a5b72dcd5652d444f7b9a6d0dfe18a0344b4</url>
  <id>8d68a5b72dcd5652d444f7b9a6d0dfe18a0344b4</id>
  <committed-date>2009-03-04T11:27:57-08:00</committed-date>
  <authored-date>2009-03-04T11:27:57-08:00</authored-date>
  <message>Build to a temp dir and then blow away the old public dir before moving the temp dir to public.</message>
  <tree>d7b99312f4b6dcc13605f6eafede2fbd1d08fe08</tree>
  <committer>
    <name>Eivind Uggedal</name>
    <email>eu@redflavor.com</email>
  </committer>
</commit>
