forked from dzchilds/stats-for-bio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrakefile.rb
40 lines (31 loc) · 1.21 KB
/
rakefile.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Rquire jekyll to compile the site.
require "jekyll"
# Github pages publishing.
namespace :stats_for_bio do
#
# Because we are using not using jekyll we have to process the site
# localy before pushing it to the branch to publish.
# Usaage:
# bundle exec rake blog:publish
desc "Publish course book to gh-pages"
task :publish do
# Get the origin to which we are going to push the site.
origin = `git config --get remote.origin.url`
# Make a temporary directory for the build before production release.
# This will be torn down once the task is complete.
Dir.mktmpdir do |tmp|
# Copy accross our compiled _site directory.
cp_r "_book/.", tmp
# Switch in to the tmp dir.
Dir.chdir tmp
# Prepare all the content in the repo for deployment.
system "git init" # Init the repo.
system "git add . && git commit -m 'Site updated at #{Time.now.utc}'" # Add and commit all the files.
# Add the origin remote for the parent repo to the tmp folder.
system "git remote add origin #{origin}"
# Push the files to the gh-pages branch, forcing an overwrite.
system "git push origin master:refs/heads/gh-pages --force"
end
# Done.
end
end