diff options
author | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-11-29 15:13:50 +0100 |
---|---|---|
committer | Frederic Hemberger <mail@frederic-hemberger.de> | 2011-11-29 15:13:50 +0100 |
commit | 6714e5c7f5b3a874732e58dd2e6383e184da7019 (patch) | |
tree | e807398362b2e43d5627737332443cb15f3d2412 | |
parent | f1ebf358693582d310aac2599870c197a5188e8f (diff) | |
download | my_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-- | Rakefile | 7 | ||||
-rw-r--r-- | plugins/preview_unpublished.rb | 5 |
2 files changed, 11 insertions, 1 deletions
@@ -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) |