Set flag in preview mode and re-generate files before deployment if necessary

This commit is contained in:
Frederic Hemberger 2011-11-29 15:13:50 +01:00
parent f1ebf35869
commit 6714e5c7f5
2 changed files with 11 additions and 1 deletions

View File

@ -200,6 +200,13 @@ end
desc "Default deploy task" desc "Default deploy task"
task :deploy do task :deploy do
# Check if preview posts exist, which should not be published
if File.exists?(".preview-mode")
puts "## Found posts in preview mode, regenerating files ..."
File.delete(".preview-mode")
Rake::Task[:generate].execute
end
Rake::Task[:copydot].invoke(source_dir, public_dir) Rake::Task[:copydot].invoke(source_dir, public_dir)
Rake::Task["#{deploy_default}"].execute Rake::Task["#{deploy_default}"].execute
end end

View File

@ -24,8 +24,11 @@ module Jekyll
# Monkeypatch: # Monkeypatch:
# On preview environment (localhost), publish all posts # On preview environment (localhost), publish all posts
if ENV.has_key?('OCTOPRESS_ENV') && ENV['OCTOPRESS_ENV'] == 'preview' if ENV.has_key?('OCTOPRESS_ENV') && ENV['OCTOPRESS_ENV'] == 'preview' && post.data.has_key?('published') && post.data['published'] == false
post.published = true post.published = true
# Set preview mode flag (if necessary), `rake generate` will check for it
# to prevent pushing preview posts to productive environment
File.open(".preview-mode", "w") {}
end end
if post.published && (self.future || post.date <= self.time) if post.published && (self.future || post.date <= self.time)