-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
112 lines (102 loc) · 3.63 KB
/
Rakefile
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
require 'html-proofer'
# Change your GitHub reponame - Basic configurations.
# Note I deploy to master. Travis deploys to gh-pages!
GITHUB_REPONAME = "vcaldas/vcaldas.github.io"
GITHUB_REPO_BRANCH = "source"
GITHUB_DEPLOY_BRANCH = "master"
task default: %w[deploy]
desc "Copy tst"
task :gulp do
system "gulp deploy"
end
desc "Publish website Files"
task :publish => ['gulp', 'deploy'] do
puts "Create Dummy directory for website"
system "git clone [email protected]:#{GITHUB_REPONAME}.git temp"
Dir.chdir('temp') do
puts "----------------------------------"
system "git checkout master"
#system "rm -rf *"
#File.join(RAILS_ROOT, "../_site", "./")
end
FileUtils.rm_rf(Dir.glob('./temp/*'))
FileUtils.cp_r('./_site/.', './temp')
Dir.chdir('temp') do
puts "----------------------------------"
puts "\n## Staging modified files"
status = system("git add --all")
puts status ? "Success" : "Failed"
puts "----------------------------------"
puts "\n# Checking repository status"
status = system("git status")
puts "----------------------------------"
puts "\n## Committing a site build at #{Time.now.utc}"
message = ENV["message"] || "Site updated at #{Time.now.utc}"
status = system("git commit -m \"#{message}\"")
puts status ? "Success" : "Failed"
puts "----------------------------------"
system "git commit -m #{message.inspect}"
puts "\n## Pushing commits to remote"
#system "git remote add origin [email protected]:#{GITHUB_REPONAME}.git"
system "git push origin #{GITHUB_DEPLOY_BRANCH} --force"
puts status ? "Success" : "Failed"
puts "Website deployed!"
end
system "git checkout source"
FileUtils.rm_rf('temp')
end
desc "Run gulp"
task :gulp do
puts "Run gulp"
system "gulp"
end
desc "Generate and publish blog to master"
task :deploy do
puts "----------------------------------"
puts "\n##Initiating #{GITHUB_REPONAME}"
system "git init"
puts "----------------------------------"
puts "\n## Staging modified files"
status = system("git add --all")
puts status ? "Success" : "Failed"
puts "----------------------------------"
puts "\n# Checking repository status"
status = system("git status")
puts "----------------------------------"
puts "\n## Committing a site build at #{Time.now.utc}"
#Example rake message="mymessage"
message = ENV["message"] || "Site updated at #{Time.now.utc}"
status = system("git commit -m \"#{message}\"")
puts status ? "Success" : "Failed"
puts "----------------------------------"
system "git commit -m #{message.inspect}"
puts "\n## Pushing commits to remote"
#system "git remote add origin [email protected]:#{GITHUB_REPONAME}.git"
system "git push origin #{GITHUB_REPO_BRANCH} --force"
puts status ? "Success" : "Failed"
puts "Source branch updated."
end
desc "build and test website"
task :test do
sh "bundle exec jekyll build"
HTMLProofer.check_directory(
"./_site",
{
:allow_hash_href => true,
:url_ignore => ["/linkedin.com/","/^(?:http(?:s)?:\/\/)?(?:[^\.]+\.)?drupal\.org(?:/.*)?$/",
"/^(?:http(?:s)?:\/\/)?(?:[^\.]+\.)?linkedin\.com(?:/.*)?$/",
"/^(?:http(?:s)?:\/\/)?(?:[^\.]+\.)?fldrupal\.camp(?:/.*)?$/",
"/^(?:http(?:s)?:\/\/)?(?:[^\.]+\.)?vimeo\.camp(?:/.*)?$/"],
:empty_alt_ignore => false,
:disable_external => true,
:verbose => true,
:typhoeus => {
:followlocation => true,
:ssl_verifypeer => false,
:headers => {
'User-Agent' => 'html-proofer'
}
}
}
).run
end