Rakefile in markdownizer-0.1.1 vs Rakefile in markdownizer-0.1.2

- old
+ new

@@ -1,7 +1,61 @@ require 'bundler' Bundler::GemHelper.install_tasks +# Bring in Rocco tasks +require 'rocco/tasks' +require 'rake/clean' +Rocco::make 'docs/', 'lib/markdownizer.rb' + +desc 'Build markdownizer docs' +task :docs => :rocco +directory 'docs/' + +desc 'Build docs and open in browser for the reading' +task :read => :docs do + sh 'open docs/lib/rocco.html' +end + +# Make index.html a copy of markdownizer.html +file 'docs/index.html' => 'docs/lib/markdownizer.html' do |f| + cp 'docs/lib/markdownizer.html', 'docs/index.html', :preserve => true +end +task :docs => 'docs/index.html' +CLEAN.include 'docs/index.html' + +# Alias for docs task +task :doc => :docs + +# GITHUB PAGES =============================================================== + +site = 'docs' +source_branch = 'master' +deploy_branch = 'gh-pages' + +desc "generate and deploy website to github user pages" +multitask :pages do + puts ">>> Deploying #{deploy_branch} branch to Github Pages <<<" + require 'git' + repo = Git.open('.') + puts "\n>>> Checking out #{deploy_branch} branch <<<\n" + repo.branch("#{deploy_branch}").checkout + (Dir["*"] - [site]).each { |f| rm_rf(f) } + Dir["#{site}/*"].each {|f| mv(f, "index.html")} + rm_rf(site) + puts "\n>>> Moving generated site files <<<\n" + Dir["**/*"].each {|f| repo.add(f) } + repo.status.deleted.each {|f, s| repo.remove(f)} + puts "\n>>> Commiting: Site updated at #{Time.now.utc} <<<\n" + message = ENV["MESSAGE"] || "Site updated at #{Time.now.utc}" + repo.commit(message) + puts "\n>>> Pushing generated site to #{deploy_branch} branch <<<\n" + repo.push + puts "\n>>> Github Pages deploy complete <<<\n" + repo.branch("#{source_branch}").checkout +end + +# TESTS ===================================================================== + require 'rspec/core' require 'rspec/core/rake_task' RSpec::Core::RakeTask.new(:spec) do |spec| spec.pattern = FileList['spec/**/*_spec.rb'] end