From f1ebf358693582d310aac2599870c197a5188e8f Mon Sep 17 00:00:00 2001 From: Frederic Hemberger Date: Wed, 23 Nov 2011 14:37:30 +0100 Subject: Introduce distinction between preview/productive site generation Posts which contain the YAML attribute `published: false` are usually not generated by Jekyll. With this patch they can be previewed just like published posts on localhost using `rake watch`or `rake preview`. NOTICE: Before pushing to the productive environment, use `rake generate` to update the public directory and remove posts which are flagged not to be published. --- Rakefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Rakefile') diff --git a/Rakefile b/Rakefile index 7d7f6d8f..c3ad68be 100644 --- a/Rakefile +++ b/Rakefile @@ -59,7 +59,7 @@ task :watch do raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) puts "Starting to watch source with Jekyll and Compass." system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") - jekyllPid = Process.spawn("jekyll --auto") + jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll --auto") compassPid = Process.spawn("compass watch") trap("INT") { @@ -75,7 +75,7 @@ task :preview do raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir) puts "Starting to watch source with Jekyll and Compass. Starting Rack on port #{server_port}" system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") - jekyllPid = Process.spawn("jekyll --auto") + jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll --auto") compassPid = Process.spawn("compass watch") rackupPid = Process.spawn("rackup --port #{server_port}") -- cgit v1.2.1 From 6714e5c7f5b3a874732e58dd2e6383e184da7019 Mon Sep 17 00:00:00 2001 From: Frederic Hemberger Date: Tue, 29 Nov 2011 15:13:50 +0100 Subject: Set flag in preview mode and re-generate files before deployment if necessary --- Rakefile | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Rakefile') 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 -- cgit v1.2.1