misp-website/Rakefile

74 lines
1.6 KiB
Ruby
Executable File

require "rubygems"
require "tmpdir"
require "bundler/setup"
require "jekyll"
# Usage:
# rake site:publish -> testing: http://misp.github.io/misp-website
# rake publish -> prod: http://www.misp-project.org/ or http://misp.github.io
# Testing website
GITHUB_TESTING = "MISP/misp-website"
# Testing website
GITHUB_PROD = "MISP/misp.github.io"
desc "Generate blog files"
task :generate do
Jekyll::Site.new(Jekyll.configuration({
"source" => ".",
"destination" => "_site"
})).process
end
desc "Generate and publish blog to gh-pages"
task :publish => [:generate] do
Dir.mktmpdir do |tmp|
cp_r "_site/.", tmp
pwd = Dir.pwd
Dir.chdir tmp
system "git init"
system "git add ."
message = "Site updated at #{Time.now.utc}"
system "git commit -m #{message.inspect}"
system "git remote add origin git@github.com:#{GITHUB_PROD}.git"
system "git push origin master --force"
Dir.chdir pwd
end
end
namespace :site do
desc "Generate blog files"
task :generate do
Jekyll::Site.new(Jekyll.configuration({
"source" => ".",
"destination" => "_site"
})).process
end
desc "Generate and publish blog to gh-pages"
task :publish => [:generate] do
Dir.mktmpdir do |tmp|
cp_r "_site/.", tmp
pwd = Dir.pwd
Dir.chdir tmp
system "git init"
system "git add ."
message = "Site updated at #{Time.now.utc}"
system "git commit -m #{message.inspect}"
system "git remote add origin git@github.com:#{GITHUB_TESTING}.git"
system "git push origin master:refs/heads/gh-pages --force"
Dir.chdir pwd
end
end
end