aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Hemberger <mail@frederic-hemberger.de>2011-11-29 15:13:50 +0100
committerFrederic Hemberger <mail@frederic-hemberger.de>2011-11-29 15:13:50 +0100
commit6714e5c7f5b3a874732e58dd2e6383e184da7019 (patch)
treee807398362b2e43d5627737332443cb15f3d2412
parentf1ebf358693582d310aac2599870c197a5188e8f (diff)
downloadmy_new_personal_website-6714e5c7f5b3a874732e58dd2e6383e184da7019.tar.xz
my_new_personal_website-6714e5c7f5b3a874732e58dd2e6383e184da7019.zip
Set flag in preview mode and re-generate files before deployment if necessary
Diffstat (limited to '')
-rw-r--r--Rakefile7
-rw-r--r--plugins/preview_unpublished.rb5
2 files changed, 11 insertions, 1 deletions
diff --git a/Rakefile b/Rakefile
index c3ad68be..ebc386e6 100644
--- a/Rakefile
+++ b/Rakefile
@@ -200,6 +200,13 @@ end
desc "Default deploy task"
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["#{deploy_default}"].execute
end
diff --git a/plugins/preview_unpublished.rb b/plugins/preview_unpublished.rb
index 20b27d6b..321ffd6f 100644
--- a/plugins/preview_unpublished.rb
+++ b/plugins/preview_unpublished.rb
@@ -24,8 +24,11 @@ module Jekyll
# Monkeypatch:
# 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
+ # 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
if post.published && (self.future || post.date <= self.time)