jekyll-s3-yearofmoo 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/jekyll-s3-yearofmoo/uploader.rb +30 -12
- data/lib/jekyll-s3-yearofmoo/version.rb +1 -1
- metadata +2 -2
@@ -42,14 +42,22 @@ cloudfront_distribution_id: YOUR_CLOUDFRONT_DIST_ID (OPTIONAL)
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
def local_files(
|
45
|
+
def local_files(campaign=nil)
|
46
46
|
dir = @production_directory || SITE_DIR
|
47
47
|
paths = []
|
48
48
|
|
49
|
-
|
50
|
-
if
|
49
|
+
campaign = @config['campaigns'][campaign]
|
50
|
+
if campaign
|
51
|
+
include_files = campaign['include_files']
|
52
|
+
exclude_files = campaign['exclude_files']
|
53
|
+
end
|
54
|
+
|
55
|
+
include_pattern ||= '**/*'
|
56
|
+
exclude_pattern ||= nil
|
57
|
+
|
58
|
+
if include_pattern.is_a?(Array)
|
51
59
|
files = []
|
52
|
-
|
60
|
+
include_pattern.each do |pat|
|
53
61
|
files |= Dir[dir + '/' + pat]
|
54
62
|
end
|
55
63
|
else
|
@@ -63,8 +71,20 @@ cloudfront_distribution_id: YOUR_CLOUDFRONT_DIST_ID (OPTIONAL)
|
|
63
71
|
f.gsub(dir + '/', '')
|
64
72
|
}
|
65
73
|
|
66
|
-
if
|
67
|
-
|
74
|
+
if exclude_pattern
|
75
|
+
exclude_pattern = exclude_pattern.is_a?(Array) ? exclude_pattern : [exclude_pattern]
|
76
|
+
end
|
77
|
+
|
78
|
+
exclude_pattern ||= []
|
79
|
+
|
80
|
+
p = @config['exclude_files']
|
81
|
+
if p
|
82
|
+
p = p.is_a?(Array) ? p : [p]
|
83
|
+
exclude_pattern |= p
|
84
|
+
end
|
85
|
+
|
86
|
+
if exclude_pattern.length > 0
|
87
|
+
patterns = exclude_pattern.map do |p|
|
68
88
|
Regexp.new(p)
|
69
89
|
end
|
70
90
|
files.each do |file|
|
@@ -125,17 +145,15 @@ cloudfront_distribution_id: YOUR_CLOUDFRONT_DIST_ID (OPTIONAL)
|
|
125
145
|
def upload_to_s3!(campaign=nil)
|
126
146
|
|
127
147
|
if campaign
|
128
|
-
raise campaign.to_s+'-'+@config.to_yaml
|
129
148
|
campaign = @config['campaigns'][campaign]
|
130
149
|
end
|
131
150
|
|
132
|
-
remove_files = true
|
133
|
-
pattern = '**/*'
|
134
151
|
if campaign
|
135
|
-
pattern = campaign['files']
|
136
152
|
remove_files = false
|
153
|
+
puts "Deploying *#{campaign}* to #{@s3_bucket}"
|
154
|
+
else
|
155
|
+
puts "Deploying _site/#{pattern} to #{@s3_bucket}"
|
137
156
|
end
|
138
|
-
puts "Deploying _site/#{pattern} to #{@s3_bucket}"
|
139
157
|
|
140
158
|
AWS::S3::Base.establish_connection!(
|
141
159
|
:access_key_id => @s3_id,
|
@@ -152,7 +170,7 @@ cloudfront_distribution_id: YOUR_CLOUDFRONT_DIST_ID (OPTIONAL)
|
|
152
170
|
remote_files = bucket.objects.map { |f| f.key }
|
153
171
|
|
154
172
|
dir = @production_directory || SITE_DIR
|
155
|
-
to_upload = local_files(
|
173
|
+
to_upload = local_files(campaign)
|
156
174
|
to_upload.each do |f|
|
157
175
|
run_with_retry do
|
158
176
|
path = "#{dir}/#{f}"
|