Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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

…ecessary
  • Loading branch information...
commit 6714e5c7f5b3a874732e58dd2e6383e184da7019 1 parent f1ebf35
@fhemberger fhemberger authored
Showing with 11 additions and 1 deletion.
  1. +7 −0 Rakefile
  2. +4 −1 plugins/preview_unpublished.rb
View
7 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
View
5 plugins/preview_unpublished.rb
@@ -24,8 +24,11 @@ def read_posts(dir)
# 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)
Please sign in to comment.
Something went wrong with that request. Please try again.