require 'jekyll' task :default => [:buildsite] desc 'Build the site' task :buildsite do #def Jekyll::env # "production" #end # fuck this, the whole process won't work unless I figure out how to activate all plugins ###Jekyll::Commands::Build.process({}) ENV["JEKYLL_ENV"]="production" sh "bundle", "exec", "jekyll", "build" end desc 'Clean up built files' task :clean do puts 'Cleaning up _site...'.bold Jekyll::Commands::Clean.process({}) end namespace :deploy do desc "Deploy via SSH" task :ssh => [:buildsite] do sh "rsync", "-av", "_site/", "w019f723.kasserver.com:/www/htdocs/w019f723/blog.uvokchee.de/" end desc "Deploy via FTP" task :ftp => [:buildsite] do Dir.chdir "_site" # quicker, but possibly error-prone # sh "lftp", "-c", "set ftp:ssl-force true ; open w019f723.kasserver.com ; mirror -R --delete --verbose --ignore-time --no-perms --no-umask; bye" # always copy everything sh "lftp", "-c", "set ftp:ssl-force true ; open w019f723.kasserver.com ; mirror -R --delete --verbose --no-perms --no-umask ; bye" Dir.chdir ".." #sh "cat", "lftp.log" end end