diff --git a/Rakefile b/Rakefile index 54a41db..6daeba3 100644 --- a/Rakefile +++ b/Rakefile @@ -1,8 +1,17 @@ +# +# Config +# + $server = "new.jimeh.me" $user = "jimeh" $path = "#{$server}/public" + +# +# Build tasks +# + task :clean do system "rm -rf ./public" build @@ -16,9 +25,26 @@ task :assets do rsync "assets/", "public/" end -# task :server do -# system "jekyll --server --auto" -# end + +# +# Server tasks +# + +task :server => "server:site" + +namespace :server do + task :site do + system "jekyll source/site public --server --auto" + end + task :blog do + system "jekyll source/blog public/blog --server --auto" + end +end + + +# +# Deploy tasks +# task :deploy => "deploy:site" @@ -26,25 +52,26 @@ namespace :deploy do task :site do rsync "public/", "#{$user}@#{$server}:#{$path}" end - task :assets do rsync "assets/", "#{$user}@#{$server}:#{$path}" end - task :all do rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}" end - task :reset do rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}", ["--delete"] end - task :clean do system "ssh #{$user}@#{$server} 'cd \"#{$path}\" && rm -rf ./* && rm -rf ./.*'" rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}" end end + +# +# Helper methods +# + def build system "jekyll ./source/site ./public" system "jekyll ./source/blog ./public/blog" @@ -58,4 +85,5 @@ def rsync(source, dest, options = []) options << "--exclude='.DS_Store'" options << "--exclude='.git*'" system "rsync -vr #{options.join(" ")} #{source} #{dest}" -end \ No newline at end of file +end +