require 'jekyll' require 'html-proofer' 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 desc 'Test the site using html-proofer' task :testsite => [:buildsite] do options = { :assume_extension => true } HTMLProofer.check_directory("./_site", options).run 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 ; set ssl:verify-certificate/92:9B:AD:F2:60:81:52:34:90:ED:C9:11:54:B3:80:A4:77:6E:21:85 no; open w019f723.kasserver.com ; mirror -R --delete --verbose --no-perms --no-umask -P 3; bye" Dir.chdir ".." #sh "cat", "lftp.log" end end