wraith 2.3.1 → 2.3.2
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/configs/custom_height.yaml +42 -0
- data/lib/wraith/cli.rb +1 -1
- data/lib/wraith/folder.rb +1 -1
- data/lib/wraith/javascript/customHeight.js +99 -0
- data/lib/wraith/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21c2e2f34b4f57be52b02d9c1812068629fab964
|
4
|
+
data.tar.gz: e0db82084db042e981d2141385e95a9f79d3bdf7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa0e6f3d579ca6e85f8a08a00ad09a059dc54798d82f8e90767585f3e85b718d9aee3a95d910987e9853edb43190ec724c1428f993562f29c167687182559aa5
|
7
|
+
data.tar.gz: 2de08d53d57c00f582d1535383d837be73d4a7c4594481081c8d47147f5ee0b02dc8a006b00f2c60e494b1b8b001c0b7bfd973e9f8310dedfc509dadf58a8059
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#Headless browser option
|
2
|
+
browser:
|
3
|
+
phantomjs: "phantomjs"
|
4
|
+
# slimerjs: "slimerjs"
|
5
|
+
|
6
|
+
#If you want to have multiple snapping files, set the file name here
|
7
|
+
snap_file: "lib/wraith/javascript/customHeight.js"
|
8
|
+
|
9
|
+
# Type the name of the directory that shots will be stored in
|
10
|
+
directory: 'shots'
|
11
|
+
|
12
|
+
# Add only 2 domains, key will act as a label
|
13
|
+
domains:
|
14
|
+
english: "http://www.live.bbc.co.uk/news"
|
15
|
+
russian: "http://www.live.bbc.co.uk/russian"
|
16
|
+
|
17
|
+
#Type screen widths below, here are a couple of examples
|
18
|
+
screen_widths:
|
19
|
+
# - widthxheight
|
20
|
+
- 480x320
|
21
|
+
- 400x600
|
22
|
+
- 600x768
|
23
|
+
- 800x1024
|
24
|
+
- 720x1280
|
25
|
+
|
26
|
+
#Type page URL paths below, here are a couple of examples
|
27
|
+
paths:
|
28
|
+
home: /
|
29
|
+
uk_index: /uk
|
30
|
+
|
31
|
+
#Amount of fuzz ImageMagick will use
|
32
|
+
fuzz: '20%'
|
33
|
+
|
34
|
+
#Set the number of days to keep the site spider file
|
35
|
+
spider_days:
|
36
|
+
- 10
|
37
|
+
|
38
|
+
#Choose how results are displayed, by default alphanumeric. Different screen widths are always grouped.
|
39
|
+
#alphanumeric - all paths (with, and without, a difference) are shown, sorted by path
|
40
|
+
#diffs_first - all paths (with, and without, a difference) are shown, sorted by difference size (largest first)
|
41
|
+
#diffs_only - only paths with a difference are shown, sorted by difference size (largest first)
|
42
|
+
#mode: diffs_first
|
data/lib/wraith/cli.rb
CHANGED
@@ -83,7 +83,7 @@ class Wraith::CLI < Thor
|
|
83
83
|
end
|
84
84
|
|
85
85
|
desc 'generate_gallery [config_name]', 'create page for viewing images'
|
86
|
-
def generate_gallery(config_name, multi)
|
86
|
+
def generate_gallery(config_name, multi = false)
|
87
87
|
gallery = Wraith::GalleryGenerator.new(config_name, multi)
|
88
88
|
gallery.generate_gallery
|
89
89
|
end
|
data/lib/wraith/folder.rb
CHANGED
@@ -0,0 +1,99 @@
|
|
1
|
+
var system = require('system');
|
2
|
+
var page = require('webpage').create();
|
3
|
+
var fs = require('fs');
|
4
|
+
|
5
|
+
if (system.args.length === 3) {
|
6
|
+
console.log('Usage: snap.js <some URL> <view port width> <target image name>');
|
7
|
+
phantom.exit();
|
8
|
+
}
|
9
|
+
|
10
|
+
var url = system.args[1];
|
11
|
+
var image_name = system.args[3];
|
12
|
+
var dimensions = /(\d*)x?((\d*))?/i.exec(system.args[2]);
|
13
|
+
var view_port_width = dimensions[1];
|
14
|
+
var view_port_height = dimensions[2] || 1500;
|
15
|
+
var current_requests = 0;
|
16
|
+
var last_request_timeout;
|
17
|
+
var final_timeout;
|
18
|
+
|
19
|
+
|
20
|
+
page.viewportSize = { width: view_port_width, height: view_port_height};
|
21
|
+
page.settings = { loadImages: true, javascriptEnabled: true };
|
22
|
+
|
23
|
+
// If you want to use additional phantomjs commands, place them here
|
24
|
+
page.settings.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.17';
|
25
|
+
|
26
|
+
// You can place custom headers here, example below.
|
27
|
+
// page.customHeaders = {
|
28
|
+
|
29
|
+
// 'X-Candy-OVERRIDE': 'https://api.live.bbc.co.uk/'
|
30
|
+
|
31
|
+
// };
|
32
|
+
|
33
|
+
// If you want to set a cookie, just add your details below in the following way.
|
34
|
+
|
35
|
+
// phantom.addCookie({
|
36
|
+
// 'name': 'ckns_policy',
|
37
|
+
// 'value': '111',
|
38
|
+
// 'domain': '.bbc.co.uk'
|
39
|
+
// });
|
40
|
+
// phantom.addCookie({
|
41
|
+
// 'name': 'locserv',
|
42
|
+
// 'value': '1#l1#i=6691484:n=Oxford+Circus:h=e@w1#i=8:p=London@d1#1=l:2=e:3=e:4=2@n1#r=40',
|
43
|
+
// 'domain': '.bbc.co.uk'
|
44
|
+
// });
|
45
|
+
|
46
|
+
page.onResourceRequested = function(req) {
|
47
|
+
current_requests += 1;
|
48
|
+
};
|
49
|
+
|
50
|
+
page.onResourceReceived = function(res) {
|
51
|
+
if (res.stage === 'end') {
|
52
|
+
current_requests -= 1;
|
53
|
+
debounced_render();
|
54
|
+
}
|
55
|
+
};
|
56
|
+
|
57
|
+
page.open(url, function(status) {
|
58
|
+
if (status !== 'success') {
|
59
|
+
console.log('Error with page ' + url);
|
60
|
+
phantom.exit();
|
61
|
+
}
|
62
|
+
});
|
63
|
+
|
64
|
+
|
65
|
+
function debounced_render() {
|
66
|
+
clearTimeout(last_request_timeout);
|
67
|
+
clearTimeout(final_timeout);
|
68
|
+
|
69
|
+
// If there's no more ongoing resource requests, wait for 1 second before
|
70
|
+
// rendering, just in case the page kicks off another request
|
71
|
+
if (current_requests < 1) {
|
72
|
+
clearTimeout(final_timeout);
|
73
|
+
last_request_timeout = setTimeout(function() {
|
74
|
+
console.log('Snapping ' + url + ' at width ' + view_port_width);
|
75
|
+
page.clipRect = {
|
76
|
+
top: 0,
|
77
|
+
left: 0,
|
78
|
+
height: view_port_height,
|
79
|
+
width: view_port_width
|
80
|
+
};
|
81
|
+
page.render(image_name);
|
82
|
+
phantom.exit();
|
83
|
+
}, 1000);
|
84
|
+
}
|
85
|
+
|
86
|
+
// Sometimes, straggling requests never make it back, in which
|
87
|
+
// case, timeout after 5 seconds and render the page anyway
|
88
|
+
final_timeout = setTimeout(function() {
|
89
|
+
console.log('Snapping ' + url + ' at width ' + view_port_width);
|
90
|
+
page.clipRect = {
|
91
|
+
top: 0,
|
92
|
+
left: 0,
|
93
|
+
height: view_port_height,
|
94
|
+
width: view_port_width
|
95
|
+
};
|
96
|
+
page.render(image_name);
|
97
|
+
phantom.exit();
|
98
|
+
}, 5000);
|
99
|
+
}
|
data/lib/wraith/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wraith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Blooman
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -189,6 +189,7 @@ files:
|
|
189
189
|
- configs/component.yaml
|
190
190
|
- configs/config.yaml
|
191
191
|
- configs/config_nojs.yaml
|
192
|
+
- configs/custom_height.yaml
|
192
193
|
- configs/history.yaml
|
193
194
|
- configs/test_config.yaml
|
194
195
|
- lib/wraith.rb
|
@@ -200,6 +201,7 @@ files:
|
|
200
201
|
- lib/wraith/gallery_template/bootstrap.min.css
|
201
202
|
- lib/wraith/gallery_template/gallery_template.erb
|
202
203
|
- lib/wraith/javascript/casper.js
|
204
|
+
- lib/wraith/javascript/customHeight.js
|
203
205
|
- lib/wraith/javascript/nojs.js
|
204
206
|
- lib/wraith/javascript/snap.js
|
205
207
|
- lib/wraith/save_images.rb
|