Update to rakefile to allow working on a single post at a time (and saving regeneration time)

This commit is contained in:
Ryan Daigle 2010-01-23 15:47:43 -05:00 committed by B Mathis
parent de113ecfeb
commit 2f41517191
2 changed files with 22 additions and 4 deletions

5
.gitignore vendored
View File

@ -1,3 +1,4 @@
site
*/.sass-cache
.DS_Store
.sass-cache
test
source/_stash

View File

@ -4,6 +4,8 @@ site_url = "http://yoursite.com" # deployed site url for sitemap.xml generato
port = "4000" # preview project port eg. http://localhost:4000
site = "site" # compiled site directory
source = "source" # source file directory
stash = "_stash"
posts = "_posts"
## -- Rsync Deploy config -- ##
ssh_user = "user@host.com" # for rsync deployment
@ -47,6 +49,21 @@ task :post, :filename do |t, args|
end
end
# usage rake isolate[my-post]
desc "Move all other posts than the one currently being worked on to a temporary stash location (stash) so regenerating the site happens much quicker."
task :isolate, :filename do |t, args|
stash_dir = "#{source}/#{stash}"
FileUtils.mkdir(stash_dir) unless File.exist?(stash_dir)
Dir.glob("#{source}/#{posts}/*.*") do |post|
FileUtils.mv post, stash_dir unless post.include?(args.filename)
end
end
desc "Move all stashed posts back into the posts directory, ready for site generation."
task :integrate do
FileUtils.mv Dir.glob("#{source}/#{stash}/*.*"), "#{source}/#{posts}/"
end
desc "list tasks"
task :list do
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:list]]).to_sentence}"
@ -109,13 +126,13 @@ task :watch do
end
desc "generate and deploy website via rsync"
multitask :deploy_rsync => [:default, :clean_debug] do
multitask :deploy_rsync => [:integrate, :default, :clean_debug] do
puts ">>> Deploying website to #{site_url} <<<"
ok_failed system("rsync -avz --delete #{site}/ #{ssh_user}:#{document_root}")
end
desc "generate and deploy website to github user pages"
multitask :deploy_github => [:default, :clean_debug] do
multitask :deploy_github => [:integrate, :default, :clean_debug] do
puts ">>> Deploying #{deploy_branch} branch to Github Pages <<<"
require 'git'
repo = Git.open('.')