An UI wrapper of page-monitor, to show webpage history captures and diff them.
see http://phantomjs.org/download.html
mkdir page-monitor
cd page-monitor
vim package.json
content of package.json:
{
"name": "my-monitor",
"description": "monitor www.google.com",
"version": "0.0.1",
"private": true,
"dependencies": {
"pmui": "*",
"page-monitor": "*"
}
}
npm install
vim app.js
content of app.js:
var app = require('pmui');
app.set('port', process.env.PORT || 8894);
// app.set('page monitor root', process.cwd()); // path to save captures
// app.set('page monitor ext', 'jpg'); // screenshot format
// app.set('page monitor title', 'Page Monitor'); // page title
var cluster = require('cluster'),
os = require('os'),
cpuCount = os.cpus().length,
logger = app.get('logger') || console;
if (cluster.isMaster) {
for (var i = 0; i < cpuCount; i++) cluster.fork();
cluster.on('exit', function (worker) {
logger.error('Worker ' + worker.id + 'died :(');
cluster.fork();
});
} else {
app.listen(app.get('port'), function () {
logger.log('[%s] Express server listening on port %d',
app.get('env').toUpperCase(), app.get('port'));
});
}
node app.js
It is recommended to use forever to run server as a daemon in the background.
vim www.google.com.js
content of www.google.com.js:
var Monitor = require('page-monitor');
var url = 'http://www.google.com/';
var opt = { /* see https://github.com/fouber/page-monitor#monitor */ };
var monitor = new Monitor(url, opt);
monitor.on('debug', function (data) {
console.log('[DEBUG] ' + data);
});
monitor.on('error', function (data) {
console.error('[ERROR] ' + data);
});
monitor.capture(function (code) {
console.log('[DONE ] ' + (new Date));
});
node www.google.com
I highly recommend to use forever to run monitor script as a daemon in the background.
forever start --spinSleepTime 60000 www.google.com.js
npm update