bookends 10.4.8 → 10.5.1
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/bookends/_footer.scss +0 -75
- data/app/services/bookends/glostick_user_extractor.rb +1 -1
- data/app/views/bookends/_footer.html.erb +0 -9
- data/lib/bookends/version.rb +1 -1
- data/spec/test_app/db/test.sqlite3 +0 -0
- data/spec/test_app/log/test.log +14 -0
- metadata +12 -10
- data/app/assets/javascripts/newsletter-init.js +0 -6
- data/app/assets/javascripts/newsletter.js +0 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 683afbefafd71f4e83abb68016ee56887f95ef3a2b089de3be91f4109b62a5f8
|
4
|
+
data.tar.gz: 8816dae5ec2be907dc17ae2493949e15190bb83d48f2bd01cfb4cf4ec22b335f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b51adaad2fa8eba24e154a609a3a0bf2c0fcfeb84bd3bc738b46a1ee6f64f5e08c1003071f84f6fbe13b61b732122e5f1ce03cd6798504510cca53920889754d
|
7
|
+
data.tar.gz: b0e2c1942e240d3cee825fd001a856d996268da34d86b5c370294a6c7b3545d1b3345c241777c948e86dcede9611c245d0cef3bb5d5c5e01ccc6c7e3034610b1
|
@@ -198,80 +198,6 @@
|
|
198
198
|
}
|
199
199
|
}
|
200
200
|
|
201
|
-
#bookends-newsletter {
|
202
|
-
$input-height: 40px;
|
203
|
-
text-align: left;
|
204
|
-
|
205
|
-
position: relative;
|
206
|
-
width: 100%;
|
207
|
-
padding-bottom: 15px;
|
208
|
-
@include screen(min-width, $threshold-tablet) {
|
209
|
-
border-bottom: 1px solid $color-border;
|
210
|
-
}
|
211
|
-
|
212
|
-
input[type="text"],
|
213
|
-
input[type="email"] {
|
214
|
-
-webkit-appearance: none;
|
215
|
-
appearance: none;
|
216
|
-
width: 100%;
|
217
|
-
height: $input-height;
|
218
|
-
padding: 0 10px;
|
219
|
-
border-radius: 4px;
|
220
|
-
border: 1px solid $color-border;
|
221
|
-
box-shadow: 0 0 4px fade-out($color-purple, 1);
|
222
|
-
transition: all .2s ease;
|
223
|
-
|
224
|
-
&:focus {
|
225
|
-
outline: none;
|
226
|
-
box-shadow: 0 0 4px fade-out($color-purple, .5);
|
227
|
-
border-color: $color-purple;
|
228
|
-
}
|
229
|
-
}
|
230
|
-
|
231
|
-
input[type="submit"] {
|
232
|
-
-webkit-appearance: none;
|
233
|
-
appearance: none;
|
234
|
-
position: absolute;
|
235
|
-
bottom: 15px;
|
236
|
-
right: 0;
|
237
|
-
margin: 5px;
|
238
|
-
width: $input-height;
|
239
|
-
height: ($input-height - 10);
|
240
|
-
border: 1px solid transparent; // accessibility for high contrast mode in windows
|
241
|
-
background-color: $color-purple;
|
242
|
-
border-radius: 3px;
|
243
|
-
text-transform: uppercase;
|
244
|
-
letter-spacing: .05em;
|
245
|
-
padding: 0;
|
246
|
-
font-weight: $font-bold;
|
247
|
-
text-align: center;
|
248
|
-
color: #fff;
|
249
|
-
|
250
|
-
&:focus {
|
251
|
-
outline: none;
|
252
|
-
border: 1px solid fade-out($color-purple, .5);
|
253
|
-
}
|
254
|
-
|
255
|
-
&:hover {
|
256
|
-
background-color: darken($color-purple, 5%);
|
257
|
-
}
|
258
|
-
}
|
259
|
-
|
260
|
-
p {
|
261
|
-
margin: 6px 0;
|
262
|
-
padding: 8px;
|
263
|
-
border-radius: 3px;
|
264
|
-
font-size: 11px;
|
265
|
-
text-align: left;
|
266
|
-
background-color: #fff;
|
267
|
-
height: $input-height;
|
268
|
-
|
269
|
-
&.error {
|
270
|
-
background-color: tomato;
|
271
|
-
}
|
272
|
-
}
|
273
|
-
}
|
274
|
-
|
275
201
|
.social-list {
|
276
202
|
margin: 0;
|
277
203
|
> li {
|
@@ -374,7 +300,6 @@
|
|
374
300
|
instagram -129px 0,
|
375
301
|
linkedin -105px 0,
|
376
302
|
podcasts -150px 0,
|
377
|
-
newsletter -21px -63px,
|
378
303
|
submit 0 -42px,
|
379
304
|
youtube -173px 0
|
380
305
|
);
|
@@ -50,15 +50,6 @@
|
|
50
50
|
</nav>
|
51
51
|
</div>
|
52
52
|
<div class="col heroku-footer-social">
|
53
|
-
<h3 class="hide"><span class="heroku-footer-icon-newsletter"></span>Subscribe to our monthly newsletter</h3>
|
54
|
-
<form class="hide" id="bookends-newsletter" accept-charset="UTF-8" action="<%= Bookends::Config.host_www %>/newsletter_signups" method="post">
|
55
|
-
<input name="utf8" type="hidden" value="✓">
|
56
|
-
<input type="text" name="website" id="bookends-website" placeholder="do not fill this in" tabindex="-1">
|
57
|
-
<label for="newsletter_signup[email]">Your email address:</label>
|
58
|
-
<input type="email" name="newsletter_signup[email]" id="newsletter_signup_email" required="required" aria-required="true">
|
59
|
-
<input type="submit" name="commit" value="Go">
|
60
|
-
<p id="bookends-newsletter-result" class="hide"></p>
|
61
|
-
</form>
|
62
53
|
<ul class="social-list">
|
63
54
|
<li class="has-dropdown">
|
64
55
|
<a class="heroku-footer-icon-rss" href="<%= Bookends::Config.host_blog %>/feed" target="_blank" aria-label="Opens in new window"> RSS</a>
|
data/lib/bookends/version.rb
CHANGED
Binary file
|
@@ -0,0 +1,14 @@
|
|
1
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
2
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
3
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
4
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
5
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
6
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
7
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
8
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
9
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
10
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
11
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
12
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
13
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
|
14
|
+
[1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bookends
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.
|
4
|
+
version: 10.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marketing Web Ops at heroku
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puma
|
@@ -30,20 +30,20 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '8.
|
33
|
+
version: '8.1'
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 7.0.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "<"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '8.
|
43
|
+
version: '8.1'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 7.0.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: autoprefixer-rails
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,14 +174,14 @@ dependencies:
|
|
174
174
|
requirements:
|
175
175
|
- - "~>"
|
176
176
|
- !ruby/object:Gem::Version
|
177
|
-
version:
|
177
|
+
version: '2'
|
178
178
|
type: :development
|
179
179
|
prerelease: false
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
181
181
|
requirements:
|
182
182
|
- - "~>"
|
183
183
|
- !ruby/object:Gem::Version
|
184
|
-
version:
|
184
|
+
version: '2'
|
185
185
|
description: an engine to abstract common html/css elements across Heroku properties
|
186
186
|
email:
|
187
187
|
- max.beizer@gmail.com
|
@@ -259,8 +259,6 @@ files:
|
|
259
259
|
- app/assets/javascripts/lscache.js
|
260
260
|
- app/assets/javascripts/md5.js
|
261
261
|
- app/assets/javascripts/moment.js
|
262
|
-
- app/assets/javascripts/newsletter-init.js
|
263
|
-
- app/assets/javascripts/newsletter.js
|
264
262
|
- app/assets/javascripts/search-page.js
|
265
263
|
- app/assets/javascripts/search/search-results-paginator.js
|
266
264
|
- app/assets/javascripts/search/search-results-renderer.js
|
@@ -342,7 +340,9 @@ files:
|
|
342
340
|
- spec/test_app/db/development.sqlite3
|
343
341
|
- spec/test_app/db/development.sqlite3-shm
|
344
342
|
- spec/test_app/db/development.sqlite3-wal
|
343
|
+
- spec/test_app/db/test.sqlite3
|
345
344
|
- spec/test_app/log/development.log
|
345
|
+
- spec/test_app/log/test.log
|
346
346
|
- spec/test_app/public/404.html
|
347
347
|
- spec/test_app/public/422.html
|
348
348
|
- spec/test_app/public/500.html
|
@@ -841,7 +841,9 @@ test_files:
|
|
841
841
|
- spec/test_app/db/development.sqlite3
|
842
842
|
- spec/test_app/db/development.sqlite3-shm
|
843
843
|
- spec/test_app/db/development.sqlite3-wal
|
844
|
+
- spec/test_app/db/test.sqlite3
|
844
845
|
- spec/test_app/log/development.log
|
846
|
+
- spec/test_app/log/test.log
|
845
847
|
- spec/test_app/public/404.html
|
846
848
|
- spec/test_app/public/422.html
|
847
849
|
- spec/test_app/public/500.html
|
@@ -1,54 +0,0 @@
|
|
1
|
-
var Heroku = Heroku || {};
|
2
|
-
var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
3
|
-
|
4
|
-
Heroku.NewsletterSignup = (function() {
|
5
|
-
function NewsletterSignup() {
|
6
|
-
this.handleSubmit = bind(this.handleSubmit, this);
|
7
|
-
this.$container = $('#bookends-newsletter');
|
8
|
-
this.$honeyPot = this.$container.find('#bookends-website');
|
9
|
-
this.$input = this.$container.find('input[type=email]');
|
10
|
-
this.$submit = this.$container.find(':submit');
|
11
|
-
this.$resultContainer = $('#bookends-newsletter-result');
|
12
|
-
|
13
|
-
this.$container.on('submit', this.handleSubmit);
|
14
|
-
}
|
15
|
-
|
16
|
-
NewsletterSignup.prototype.handleSubmit = function(e) {
|
17
|
-
var val;
|
18
|
-
var self;
|
19
|
-
|
20
|
-
e.preventDefault();
|
21
|
-
if(this.$honeyPot.val() !== '') {
|
22
|
-
return this.handleSuccess();
|
23
|
-
}
|
24
|
-
|
25
|
-
val = this.$input.val();
|
26
|
-
self = this;
|
27
|
-
$.ajax({
|
28
|
-
url: 'https://www.heroku.com/newsletter_signups',
|
29
|
-
type: 'POST',
|
30
|
-
crossDomain: true,
|
31
|
-
data: { newsletter_signup: { email: val } }
|
32
|
-
})
|
33
|
-
.done(function(res) {
|
34
|
-
return self.handleSuccess();
|
35
|
-
})
|
36
|
-
.fail(function(err) {
|
37
|
-
return self.handleFailure();
|
38
|
-
});
|
39
|
-
};
|
40
|
-
|
41
|
-
NewsletterSignup.prototype.handleSuccess = function() {
|
42
|
-
this.$input.replaceWith('<p>Check your email now to confirm your sign-up.</p>');
|
43
|
-
};
|
44
|
-
|
45
|
-
NewsletterSignup.prototype.handleFailure = function() {
|
46
|
-
this.$input.val("");
|
47
|
-
this.$resultContainer
|
48
|
-
.removeClass('hide')
|
49
|
-
.text('There was an error registering you. Please refresh.');
|
50
|
-
};
|
51
|
-
|
52
|
-
return NewsletterSignup;
|
53
|
-
|
54
|
-
})();
|