mirror of
https://github.com/jimeh/jimeh.me-v3.0.git
synced 2026-02-19 05:46:40 +00:00
updated Rakefile with some new tasks, and added descriptions
This commit is contained in:
54
Rakefile
54
Rakefile
@@ -12,26 +12,31 @@ $path = "jimeh.me/www"
|
||||
# Build tasks
|
||||
#
|
||||
|
||||
task :reset do
|
||||
desc "Reset public folder."
|
||||
task :reset => ["clean", "build:all"]
|
||||
|
||||
desc "Remove public folder."
|
||||
task :clean do
|
||||
system "rm -rf ./public"
|
||||
build
|
||||
build_js
|
||||
end
|
||||
|
||||
task :clean => :reset
|
||||
|
||||
desc "Build site, excluding JavaScript libs."
|
||||
task :build => "build:default"
|
||||
|
||||
namespace :build do
|
||||
task :default do
|
||||
build
|
||||
system "jekyll ./source/site ./public"
|
||||
system "jekyll ./source/blog ./public/blog"
|
||||
end
|
||||
desc "Compress JavaScript libs specified in the Jimfile."
|
||||
task :js do
|
||||
build_js
|
||||
system "jim compress"
|
||||
end
|
||||
desc "Build site and compress JavaScript libs"
|
||||
task :all => ["build", "build:js"]
|
||||
end
|
||||
|
||||
desc "Sync assets into public folder for local testing."
|
||||
task :assets do
|
||||
rsync "assets/", "public/"
|
||||
end
|
||||
@@ -41,14 +46,25 @@ end
|
||||
# Server tasks
|
||||
#
|
||||
|
||||
task :server => "server:default"
|
||||
desc "Start jekyll server."
|
||||
task :server => "server:default" do
|
||||
system "jekyll source/site public --server --auto"
|
||||
end
|
||||
|
||||
namespace :server do
|
||||
#
|
||||
# Auto-rebuild tasks
|
||||
#
|
||||
|
||||
desc "Auto-rebuild site when files are changed."
|
||||
task :auto => "auto:default"
|
||||
|
||||
namespace :auto do
|
||||
task :default do
|
||||
system "jekyll source/site public --server --auto"
|
||||
system "jekyll source/site public --auto"
|
||||
end
|
||||
desc "Auto-rebuild blog when files are changed."
|
||||
task :blog do
|
||||
system "jekyll source/blog public/blog --server --auto"
|
||||
system "jekyll source/blog public/blog --auto"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -57,21 +73,26 @@ end
|
||||
# Deploy tasks
|
||||
#
|
||||
|
||||
desc "Deploy public folder to remote server via rsync."
|
||||
task :deploy => "deploy:default"
|
||||
|
||||
namespace :deploy do
|
||||
task :default => "build:all" do
|
||||
task :default do
|
||||
rsync "public/", "#{$user}@#{$server}:#{$path}"
|
||||
end
|
||||
desc "Deploy assets folder to remote server."
|
||||
task :assets do
|
||||
rsync "assets/", "#{$user}@#{$server}:#{$path}"
|
||||
end
|
||||
desc "Deploy both public and assets folders to remote server."
|
||||
task :all => "build:all" do
|
||||
rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}"
|
||||
end
|
||||
desc "Deploy all via rsync removing remote files that don't exist locally."
|
||||
task :clean => "build:all" do
|
||||
rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}", ["--delete"]
|
||||
end
|
||||
desc "Reset remote files completely via 'rm -rf' and redeploy everything via rsync."
|
||||
task :reset => "build:all" do
|
||||
system "ssh #{$user}@#{$server} 'cd \"#{$path}\" && rm -rf ./* && rm -rf ./.*'"
|
||||
rsync ["public/", "assets/"], "#{$user}@#{$server}:#{$path}"
|
||||
@@ -83,15 +104,6 @@ end
|
||||
# Helper methods
|
||||
#
|
||||
|
||||
def build
|
||||
system "jekyll ./source/site ./public"
|
||||
system "jekyll ./source/blog ./public/blog"
|
||||
end
|
||||
|
||||
def build_js
|
||||
system "jim compress"
|
||||
end
|
||||
|
||||
def rsync(source, dest, options = [])
|
||||
if source.is_a?(Array)
|
||||
source.map! { |dir, i| "\"#{dir}\"" }
|
||||
|
||||
Reference in New Issue
Block a user