aboutsummaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorBrandon Mathis <brandon@imathis.com>2011-12-10 18:18:34 -0600
committerBrandon Mathis <brandon@imathis.com>2011-12-10 18:18:34 -0600
commitbdc3cb8bd3a59f1340a393dda545bb2522bc7b92 (patch)
treefc06d76504a5cda3d9f06f1e514e0b7d491fc183 /Rakefile
parent692c8f3491cac66c0bffc88fa44153ca7a2efcc3 (diff)
downloadmy_new_personal_website-bdc3cb8bd3a59f1340a393dda545bb2522bc7b92.tar.xz
my_new_personal_website-bdc3cb8bd3a59f1340a393dda545bb2522bc7b92.zip
Rsync --delete option can be turned off in Rakefile configuration and users can exclude directories from sync by adding an rsync-exclude file to their root directory. fixes #247
Diffstat (limited to '')
-rw-r--r--Rakefile9
1 files changed, 7 insertions, 2 deletions
diff --git a/Rakefile b/Rakefile
index 34479d25..4a415c34 100644
--- a/Rakefile
+++ b/Rakefile
@@ -7,6 +7,7 @@ require "stringex"
ssh_user = "user@domain.com"
ssh_port = "22"
document_root = "~/website.com/"
+rsync_delete = true
deploy_default = "rsync"
# This will be configured for you when you run config_deploy
@@ -116,7 +117,7 @@ task :new_page, :filename do |t, args|
raise "### You haven't set anything up yet. First run `rake install` to set up an Octopress theme." unless File.directory?(source_dir)
args.with_defaults(:filename => 'new-page')
page_dir = [source_dir]
- if args.filename.downcase =~ /(^.+\/)?(.+)/
+ if args.filename.downcase =~ /(^.+\/)?(.+)/
filename, dot, extension = $2.rpartition('.').reject(&:empty?) # Get filename and extension
title = filename
page_dir.concat($1.downcase.sub(/^\//, '').split('/')) unless $1.nil? # Add path to page_dir Array
@@ -231,8 +232,12 @@ end
desc "Deploy website via rsync"
task :rsync do
+ exclude = ""
+ if File.exists?('./rsync-exclude'))
+ exclude = "--exclude-from '#{File.expand_path('./rsync-exclude')}'"
+ end
puts "## Deploying website via Rsync"
- ok_failed system("rsync -avze 'ssh -p #{ssh_port}' --delete #{public_dir}/ #{ssh_user}:#{document_root}")
+ ok_failed system("rsync -avze 'ssh -p #{ssh_port}' #{exclude} #{"--delete" unless rsync_delete == false} #{public_dir}/ #{ssh_user}:#{document_root}")
end
desc "deploy public directory to github pages"