cobweb 0.0.38 → 0.0.39
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/README.textile +1 -1
- data/lib/cobweb.rb +3 -1
- data/lib/cobweb_crawler.rb +98 -100
- data/lib/crawl_job.rb +3 -4
- data/lib/server.rb +98 -0
- data/lib/stats.rb +141 -64
- data/public/css/accordion.css +45 -0
- data/public/css/custom.css +13 -0
- data/public/css/datatable.css +189 -0
- data/public/css/datepicker.css +171 -0
- data/public/css/form-buttons.css +180 -0
- data/public/css/forms.css +489 -0
- data/public/css/jquery.fancybox-1.3.4.css +282 -0
- data/public/css/jquery.treeview.css +103 -0
- data/public/css/link-buttons.css +187 -0
- data/public/css/login.css +110 -0
- data/public/css/menu.css +156 -0
- data/public/css/messages.css +58 -0
- data/public/css/modalbox.css +63 -0
- data/public/css/statics.css +57 -0
- data/public/css/style.css +497 -0
- data/public/css/style_text.css +128 -0
- data/public/css/tabs.css +58 -0
- data/public/css/wysiwyg-editor.css +18 -0
- data/public/css/wysiwyg.css +149 -0
- data/public/css/wysiwyg.modal.css +69 -0
- data/public/gfx/back-menu.gif +0 -0
- data/public/gfx/back-submenu.gif +0 -0
- data/public/gfx/background.gif +0 -0
- data/public/gfx/box-hide.png +0 -0
- data/public/gfx/box-search.png +0 -0
- data/public/gfx/box-title.gif +0 -0
- data/public/gfx/code.gif +0 -0
- data/public/gfx/datepicker-arrows.gif +0 -0
- data/public/gfx/fancybox/blank.gif +0 -0
- data/public/gfx/fancybox/fancy_close.png +0 -0
- data/public/gfx/fancybox/fancy_loading.png +0 -0
- data/public/gfx/fancybox/fancy_nav_left.png +0 -0
- data/public/gfx/fancybox/fancy_nav_right.png +0 -0
- data/public/gfx/fancybox/fancy_title_left.png +0 -0
- data/public/gfx/fancybox/fancy_title_main.png +0 -0
- data/public/gfx/fancybox/fancy_title_over.png +0 -0
- data/public/gfx/fancybox/fancy_title_right.png +0 -0
- data/public/gfx/fancybox/fancybox-x.png +0 -0
- data/public/gfx/fancybox/fancybox.png +0 -0
- data/public/gfx/forms/date-next.gif +0 -0
- data/public/gfx/forms/date-prev.gif +0 -0
- data/public/gfx/forms/forms-checkbox.gif +0 -0
- data/public/gfx/forms/forms-date.gif +0 -0
- data/public/gfx/forms/forms-file.gif +0 -0
- data/public/gfx/forms/forms-input-big.gif +0 -0
- data/public/gfx/forms/forms-input-medium.gif +0 -0
- data/public/gfx/forms/forms-input-small.gif +0 -0
- data/public/gfx/forms/forms-input-xl.gif +0 -0
- data/public/gfx/forms/forms-radio.gif +0 -0
- data/public/gfx/forms/forms-selectbox-small.gif +0 -0
- data/public/gfx/forms/forms-selectbox.gif +0 -0
- data/public/gfx/forms/forms-textarea-big.gif +0 -0
- data/public/gfx/forms/forms-textarea-medium.gif +0 -0
- data/public/gfx/forms/forms-textarea-small.gif +0 -0
- data/public/gfx/forms/forms-textarea-xl.gif +0 -0
- data/public/gfx/icon-delete.png +0 -0
- data/public/gfx/icon-edit.png +0 -0
- data/public/gfx/icon-home.gif +0 -0
- data/public/gfx/img-delete.png +0 -0
- data/public/gfx/img-hover.png +0 -0
- data/public/gfx/img-zoom.png +0 -0
- data/public/gfx/jquery.wysiwyg.gif +0 -0
- data/public/gfx/label-icons.gif +0 -0
- data/public/gfx/label.gif +0 -0
- data/public/gfx/li-down.gif +0 -0
- data/public/gfx/li.gif +0 -0
- data/public/gfx/link-button-big.gif +0 -0
- data/public/gfx/link-button-medium.gif +0 -0
- data/public/gfx/link-button.gif +0 -0
- data/public/gfx/loading-2.gif +0 -0
- data/public/gfx/loading.gif +0 -0
- data/public/gfx/logo.png +0 -0
- data/public/gfx/modal-title.gif +0 -0
- data/public/gfx/photos/00.jpg +0 -0
- data/public/gfx/photos/01.jpg +0 -0
- data/public/gfx/photos/01xl.jpg +0 -0
- data/public/gfx/photos/02.jpg +0 -0
- data/public/gfx/photos/02xl.jpg +0 -0
- data/public/gfx/photos/03.jpg +0 -0
- data/public/gfx/photos/03xl.jpg +0 -0
- data/public/gfx/photos/04.jpg +0 -0
- data/public/gfx/photos/04xl.jpg +0 -0
- data/public/gfx/photos/05.jpg +0 -0
- data/public/gfx/photos/05xl.jpg +0 -0
- data/public/gfx/photos/06.jpg +0 -0
- data/public/gfx/photos/06xl.jpg +0 -0
- data/public/gfx/photos/07.jpg +0 -0
- data/public/gfx/photos/07xl.jpg +0 -0
- data/public/gfx/photos/08.jpg +0 -0
- data/public/gfx/photos/08xl.jpg +0 -0
- data/public/gfx/photos/09.jpg +0 -0
- data/public/gfx/photos/09xl.jpg +0 -0
- data/public/gfx/photos/10.jpg +0 -0
- data/public/gfx/photos/10xl.jpg +0 -0
- data/public/gfx/photos/11.jpg +0 -0
- data/public/gfx/photos/11xl.jpg +0 -0
- data/public/gfx/photos/12.jpg +0 -0
- data/public/gfx/photos/12xl.jpg +0 -0
- data/public/gfx/photos/13.jpg +0 -0
- data/public/gfx/photos/13xl.jpg +0 -0
- data/public/gfx/photos/14.jpg +0 -0
- data/public/gfx/photos/14xl.jpg +0 -0
- data/public/gfx/photos/15.jpg +0 -0
- data/public/gfx/photos/15xl.jpg +0 -0
- data/public/gfx/search-button.gif +0 -0
- data/public/gfx/search-input.gif +0 -0
- data/public/gfx/slider-button.gif +0 -0
- data/public/gfx/system-messages.gif +0 -0
- data/public/gfx/table-asc-arrow.gif +0 -0
- data/public/gfx/table-desc-arrow.gif +0 -0
- data/public/gfx/table-first.gif +0 -0
- data/public/gfx/table-last.gif +0 -0
- data/public/gfx/table-next.gif +0 -0
- data/public/gfx/table-number.gif +0 -0
- data/public/gfx/table-prev.gif +0 -0
- data/public/gfx/table-rows.gif +0 -0
- data/public/gfx/table-search.gif +0 -0
- data/public/gfx/table-thead.gif +0 -0
- data/public/gfx/tooltip.gif +0 -0
- data/public/gfx/treeview/ajax-loader.gif +0 -0
- data/public/gfx/treeview/file.gif +0 -0
- data/public/gfx/treeview/folder-closed.gif +0 -0
- data/public/gfx/treeview/folder.gif +0 -0
- data/public/gfx/treeview/minus.gif +0 -0
- data/public/gfx/treeview/plus.gif +0 -0
- data/public/gfx/treeview/treeview-default-line.gif +0 -0
- data/public/gfx/treeview/treeview-default.gif +0 -0
- data/public/js/controls/wysiwyg.image.js +284 -0
- data/public/js/controls/wysiwyg.link.js +210 -0
- data/public/js/controls/wysiwyg.table.js +151 -0
- data/public/js/customInput.jquery.js +68 -0
- data/public/js/excanvas.min.js +1 -0
- data/public/js/hoverIntent.js +84 -0
- data/public/js/inline.js +392 -0
- data/public/js/jquery-1.7.1.min.js +4 -0
- data/public/js/jquery-ui-select.js +522 -0
- data/public/js/jquery-ui-timepicker-addon.js +1299 -0
- data/public/js/jquery-ui.js +791 -0
- data/public/js/jquery.dataTables.js +7440 -0
- data/public/js/jquery.fancybox-1.3.4.js +1156 -0
- data/public/js/jquery.filestyle.mini.js +2 -0
- data/public/js/jquery.flot.js +2600 -0
- data/public/js/jquery.flot.resize.min.js +60 -0
- data/public/js/jquery.graphtable-0.2.js +179 -0
- data/public/js/jquery.tipsy.js +104 -0
- data/public/js/jquery.treeview.js +256 -0
- data/public/js/jquery.wysiwyg.js +2454 -0
- data/public/js/plugins/wysiwyg.rmFormat.js +348 -0
- data/public/js/superfish.js +121 -0
- data/public/js/supersubs.js +90 -0
- data/views/home.haml +54 -0
- data/views/layout.haml +89 -0
- data/views/statistics.haml +251 -71
- metadata +175 -22
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
* Supersubs v0.2b - jQuery plugin
|
|
4
|
+
* Copyright (c) 2008 Joel Birch
|
|
5
|
+
*
|
|
6
|
+
* Dual licensed under the MIT and GPL licenses:
|
|
7
|
+
* http://www.opensource.org/licenses/mit-license.php
|
|
8
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
|
|
12
|
+
* their longest list item children. If you use this, please expect bugs and report them
|
|
13
|
+
* to the jQuery Google Group with the word 'Superfish' in the subject line.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
;(function($){ // $ will refer to jQuery within this closure
|
|
18
|
+
|
|
19
|
+
$.fn.supersubs = function(options){
|
|
20
|
+
var opts = $.extend({}, $.fn.supersubs.defaults, options);
|
|
21
|
+
// return original object to support chaining
|
|
22
|
+
return this.each(function() {
|
|
23
|
+
// cache selections
|
|
24
|
+
var $$ = $(this);
|
|
25
|
+
// support metadata
|
|
26
|
+
var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
|
|
27
|
+
// get the font size of menu.
|
|
28
|
+
// .css('fontSize') returns various results cross-browser, so measure an em dash instead
|
|
29
|
+
var fontsize = $('<li id="menu-fontsize">—</li>').css({
|
|
30
|
+
'padding' : 0,
|
|
31
|
+
'position' : 'absolute',
|
|
32
|
+
'top' : '-999em',
|
|
33
|
+
'width' : 'auto'
|
|
34
|
+
}).appendTo($$).width(); //clientWidth is faster, but was incorrect here
|
|
35
|
+
// remove em dash
|
|
36
|
+
$('#menu-fontsize').remove();
|
|
37
|
+
// cache all ul elements
|
|
38
|
+
$ULs = $$.find('ul');
|
|
39
|
+
// loop through each ul in menu
|
|
40
|
+
$ULs.each(function(i) {
|
|
41
|
+
// cache this ul
|
|
42
|
+
var $ul = $ULs.eq(i);
|
|
43
|
+
// get all (li) children of this ul
|
|
44
|
+
var $LIs = $ul.children();
|
|
45
|
+
// get all anchor grand-children
|
|
46
|
+
var $As = $LIs.children('a');
|
|
47
|
+
// force content to one line and save current float property
|
|
48
|
+
var liFloat = $LIs.css('white-space','nowrap').css('float');
|
|
49
|
+
// remove width restrictions and floats so elements remain vertically stacked
|
|
50
|
+
var emWidth = $ul.add($LIs).add($As).css({
|
|
51
|
+
'float' : 'none',
|
|
52
|
+
'width' : 'auto'
|
|
53
|
+
})
|
|
54
|
+
// this ul will now be shrink-wrapped to longest li due to position:absolute
|
|
55
|
+
// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
|
|
56
|
+
.end().end()[0].clientWidth / fontsize;
|
|
57
|
+
// add more width to ensure lines don't turn over at certain sizes in various browsers
|
|
58
|
+
emWidth += o.extraWidth;
|
|
59
|
+
// restrict to at least minWidth and at most maxWidth
|
|
60
|
+
if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
|
|
61
|
+
else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
|
|
62
|
+
emWidth += 'em';
|
|
63
|
+
// set ul to width in ems
|
|
64
|
+
$ul.css('width',emWidth);
|
|
65
|
+
// restore li floats to avoid IE bugs
|
|
66
|
+
// set li width to full width of this ul
|
|
67
|
+
// revert white-space to normal
|
|
68
|
+
$LIs.css({
|
|
69
|
+
'float' : liFloat,
|
|
70
|
+
'width' : '100%',
|
|
71
|
+
'white-space' : 'normal'
|
|
72
|
+
})
|
|
73
|
+
// update offset position of descendant ul to reflect new width of parent
|
|
74
|
+
.each(function(){
|
|
75
|
+
var $childUl = $('>ul',this);
|
|
76
|
+
var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
|
|
77
|
+
$childUl.css(offsetDirection,emWidth);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
// expose defaults
|
|
84
|
+
$.fn.supersubs.defaults = {
|
|
85
|
+
minWidth : 9, // requires em unit.
|
|
86
|
+
maxWidth : 25, // requires em unit.
|
|
87
|
+
extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
})(jQuery); // plugin code ends
|
data/views/home.haml
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
.section
|
|
2
|
+
.full
|
|
3
|
+
.box
|
|
4
|
+
.title
|
|
5
|
+
%h2 Cobweb Statistics
|
|
6
|
+
%span.hide
|
|
7
|
+
.content
|
|
8
|
+
.caption Totals for the last 30 mins
|
|
9
|
+
%table.statics{:style => "width : 100%;"}
|
|
10
|
+
%thead
|
|
11
|
+
%tr
|
|
12
|
+
%th
|
|
13
|
+
- counter = 0
|
|
14
|
+
- @crawls.each do |crawl|
|
|
15
|
+
%th{:style => "color : #{@colors[counter]};"}= crawl[:crawl_details][:base_url]
|
|
16
|
+
- counter = counter += 1
|
|
17
|
+
- counter = 0 if counter > (@colors.length-1)
|
|
18
|
+
|
|
19
|
+
%tbody
|
|
20
|
+
- (1..30).each do |minutes|
|
|
21
|
+
- date = (DateTime.now - (minutes/1440.0)).strftime("%Y-%m-%d %H:%M").to_sym
|
|
22
|
+
%tr
|
|
23
|
+
%th= minutes
|
|
24
|
+
- @crawls.each do |crawl|
|
|
25
|
+
- if crawl[:minute_totals][date].nil?
|
|
26
|
+
%td
|
|
27
|
+
- else
|
|
28
|
+
%td= crawl[:minute_totals][date]
|
|
29
|
+
.section
|
|
30
|
+
.full
|
|
31
|
+
.box
|
|
32
|
+
.title
|
|
33
|
+
%h2 Running Crawls
|
|
34
|
+
%span.hide
|
|
35
|
+
.content
|
|
36
|
+
- if @crawls.empty?
|
|
37
|
+
No crawls running just now
|
|
38
|
+
- else
|
|
39
|
+
%table.all{:border => "0", :cellpadding => "0", :cellspacing => "0"}
|
|
40
|
+
%thead
|
|
41
|
+
%tr
|
|
42
|
+
%th Base URL
|
|
43
|
+
%th Total Pages
|
|
44
|
+
%th Total Assets
|
|
45
|
+
%th Queued Objects
|
|
46
|
+
%tbody
|
|
47
|
+
- @crawls.each do |crawl|
|
|
48
|
+
%tr
|
|
49
|
+
%td
|
|
50
|
+
%a{:href => "/statistics/#{crawl[:crawl_details][:crawl_id]}"}= crawl[:crawl_details][:base_url]
|
|
51
|
+
%td= crawl[:statistics][:page_count]
|
|
52
|
+
%td= crawl[:statistics][:asset_count]
|
|
53
|
+
%td= crawl[:statistics][:queue_counter]
|
|
54
|
+
|
data/views/layout.haml
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
!!!
|
|
2
|
+
%html{:lang => "en", "xml:lang" => "en", :xmlns => "http://www.w3.org/1999/xhtml"}
|
|
3
|
+
%head
|
|
4
|
+
%meta{:content => "text/html;charset=utf-8", "http-equiv" => "Content-Type"}/
|
|
5
|
+
%title Cobweb Statistics
|
|
6
|
+
:css
|
|
7
|
+
@import url("/css/style.css");
|
|
8
|
+
@import url('/css/style_text.css');
|
|
9
|
+
@import url('/css/form-buttons.css');
|
|
10
|
+
@import url('/css/link-buttons.css');
|
|
11
|
+
@import url('/css/menu.css');
|
|
12
|
+
@import url('/css/statics.css');
|
|
13
|
+
@import url('/css/messages.css');
|
|
14
|
+
@import url('/css/datatable.css');
|
|
15
|
+
@import url('/css/accordion.css');
|
|
16
|
+
@import url('/css/tabs.css');
|
|
17
|
+
@import url('/css/forms.css');
|
|
18
|
+
@import url('/css/datepicker.css');
|
|
19
|
+
@import url('/css/modalbox.css');
|
|
20
|
+
@import url('/css/jquery.fancybox-1.3.4.css');
|
|
21
|
+
@import url('/css/jquery.treeview.css');
|
|
22
|
+
@import url('/css/wysiwyg.css');
|
|
23
|
+
@import url('/css/wysiwyg.modal.css');
|
|
24
|
+
@import url('/css/wysiwyg-editor.css');
|
|
25
|
+
@import url("/css/custom.css");
|
|
26
|
+
%script{:src => "/js/jquery-1.7.1.min.js", :type => "text/javascript"}
|
|
27
|
+
%body
|
|
28
|
+
.container
|
|
29
|
+
.logo-labels
|
|
30
|
+
%h1
|
|
31
|
+
%a{:href => "#"} CleanDream
|
|
32
|
+
%ul.hidden
|
|
33
|
+
%li
|
|
34
|
+
%a{:href => "#"}
|
|
35
|
+
%span Settings
|
|
36
|
+
%li.usermessage
|
|
37
|
+
%a{:href => "#"}
|
|
38
|
+
%span 1 new message
|
|
39
|
+
%li.logout
|
|
40
|
+
%a{:href => "#"}
|
|
41
|
+
%span Logout
|
|
42
|
+
.menu-search
|
|
43
|
+
%ul
|
|
44
|
+
%li.current
|
|
45
|
+
%a{:href => "/"} Dashboard
|
|
46
|
+
%li.current
|
|
47
|
+
%a{:href => "https://github.com/stewartmckee/cobweb/blob/master/README.textile"} Readme
|
|
48
|
+
%li.current
|
|
49
|
+
%a{:href => "http://travis-ci.org/#!/stewartmckee/cobweb"} Test Results
|
|
50
|
+
.breadcrumbs.hidden
|
|
51
|
+
%ul
|
|
52
|
+
%li.home
|
|
53
|
+
%a{:href => "#"}
|
|
54
|
+
%li.break »
|
|
55
|
+
%li
|
|
56
|
+
%a{:href => "#"} Menu item
|
|
57
|
+
%li.break »
|
|
58
|
+
%li
|
|
59
|
+
%a{:href => "#"} Menu item
|
|
60
|
+
= yield
|
|
61
|
+
|
|
62
|
+
.footer
|
|
63
|
+
.split
|
|
64
|
+
© Copyright
|
|
65
|
+
%a{:href => "http://www.activeinformationdesign.com"} activeinformationdesign.com
|
|
66
|
+
.split.right
|
|
67
|
+
Powered by
|
|
68
|
+
%a{:href => "http://github.com/stewartmckee/cobweb", :target => "_blank"} Cobweb
|
|
69
|
+
%script{:src => "/js/superfish.js", :type => "text/javascript"}
|
|
70
|
+
%script{:src => "/js/supersubs.js", :type => "text/javascript"}
|
|
71
|
+
%script{:src => "/js/hoverIntent.js", :type => "text/javascript"}
|
|
72
|
+
%script{:src => "/js/jquery.flot.js", :type => "text/javascript"}
|
|
73
|
+
%script{:src => "/js/jquery.graphtable-0.2.js", :type => "text/javascript"}
|
|
74
|
+
%script{:src => "/js/jquery.flot.resize.min.js", :type => "text/javascript"}
|
|
75
|
+
%script{:src => "/js/jquery-ui.js", :type => "text/javascript"}
|
|
76
|
+
%script{:src => "/js/jquery-ui-select.js", :type => "text/javascript"}
|
|
77
|
+
%script{:src => "/js/customInput.jquery.js", :type => "text/javascript"}
|
|
78
|
+
%script{:src => "/js/jquery.dataTables.js", :type => "text/javascript"}
|
|
79
|
+
%script{:src => "/js/jquery.fancybox-1.3.4.js", :type => "text/javascript"}
|
|
80
|
+
%script{:src => "/js/jquery.filestyle.mini.js", :type => "text/javascript"}
|
|
81
|
+
%script{:src => "/js/jquery-ui-timepicker-addon.js", :type => "text/javascript"}
|
|
82
|
+
%script{:src => "/js/jquery.treeview.js", :type => "text/javascript"}
|
|
83
|
+
%script{:src => "/js/jquery.tipsy.js", :type => "text/javascript"}
|
|
84
|
+
%script{:src => "/js/jquery.wysiwyg.js", :type => "text/javascript"}
|
|
85
|
+
%script{:src => "/js/plugins/wysiwyg.rmFormat.js", :type => "text/javascript"}
|
|
86
|
+
%script{:src => "/js/controls/wysiwyg.image.js", :type => "text/javascript"}
|
|
87
|
+
%script{:src => "/js/controls/wysiwyg.link.js", :type => "text/javascript"}
|
|
88
|
+
%script{:src => "/js/controls/wysiwyg.table.js", :type => "text/javascript"}
|
|
89
|
+
%script{:src => "/js/inline.js", :type => "text/javascript"}
|
data/views/statistics.haml
CHANGED
|
@@ -1,71 +1,251 @@
|
|
|
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
|
-
|
|
1
|
+
|
|
2
|
+
.section
|
|
3
|
+
.big
|
|
4
|
+
.box
|
|
5
|
+
.title
|
|
6
|
+
%h2 Status
|
|
7
|
+
%span.hide
|
|
8
|
+
.content
|
|
9
|
+
= @crawl[:statistics][:current_status]
|
|
10
|
+
.small
|
|
11
|
+
.box
|
|
12
|
+
.title
|
|
13
|
+
%h2 Queues
|
|
14
|
+
%span.hide
|
|
15
|
+
.content
|
|
16
|
+
%table
|
|
17
|
+
%thead
|
|
18
|
+
%tr
|
|
19
|
+
%th Crawled
|
|
20
|
+
%th Queued
|
|
21
|
+
%tbody
|
|
22
|
+
%tr
|
|
23
|
+
%td= @crawl[:statistics][:crawl_counter]
|
|
24
|
+
%td= @crawl[:statistics][:queue_counter]
|
|
25
|
+
|
|
26
|
+
.section
|
|
27
|
+
.big
|
|
28
|
+
.box
|
|
29
|
+
.title
|
|
30
|
+
%h2 Pages and Assets
|
|
31
|
+
%span.hide
|
|
32
|
+
.content
|
|
33
|
+
.caption Counts of assets and pages that have been crawled
|
|
34
|
+
%table.statics{:style => "width : 100%;"}
|
|
35
|
+
%thead
|
|
36
|
+
%tr
|
|
37
|
+
%th
|
|
38
|
+
%th{:style => "color: #00366f;"} Pages
|
|
39
|
+
%th{:style => "color: #006ba0;"} Assets
|
|
40
|
+
|
|
41
|
+
%tbody
|
|
42
|
+
- (1..30).each do |minutes|
|
|
43
|
+
- date = (DateTime.now - (minutes/1440.0)).strftime("%Y-%m-%d %H:%M").to_sym
|
|
44
|
+
%tr
|
|
45
|
+
%th= minutes
|
|
46
|
+
%td= @crawl[:pages_count][date]
|
|
47
|
+
%td= @crawl[:assets_count][date]
|
|
48
|
+
.small
|
|
49
|
+
.box
|
|
50
|
+
.title
|
|
51
|
+
%h2 Totals
|
|
52
|
+
%span.hide
|
|
53
|
+
.content
|
|
54
|
+
.caption Totals for crawl
|
|
55
|
+
%table{:style => "width : 100%;"}
|
|
56
|
+
%thead
|
|
57
|
+
%tr
|
|
58
|
+
%th
|
|
59
|
+
%th{:style => "color: #00366f;"} Pages
|
|
60
|
+
%th{:style => "color: #006ba0;"} Assets
|
|
61
|
+
|
|
62
|
+
%tbody
|
|
63
|
+
%tr
|
|
64
|
+
%th Count
|
|
65
|
+
%td= @crawl[:statistics][:page_count]
|
|
66
|
+
%td= @crawl[:statistics][:asset_count]
|
|
67
|
+
%tr
|
|
68
|
+
%th Size
|
|
69
|
+
%td= @crawl[:statistics][:page_size].to_i.to_human
|
|
70
|
+
%td= @crawl[:statistics][:asset_size].to_i.to_human
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
.section
|
|
74
|
+
.medium
|
|
75
|
+
.box
|
|
76
|
+
.title
|
|
77
|
+
%h2 Status counts
|
|
78
|
+
%span.hide
|
|
79
|
+
.content
|
|
80
|
+
.caption Status codes returned per minute
|
|
81
|
+
%table.statics{:style => "width : 100%;"}
|
|
82
|
+
%thead
|
|
83
|
+
%tr
|
|
84
|
+
%th
|
|
85
|
+
%th{:style => "color: #00366f;"} 200
|
|
86
|
+
%th{:style => "color: #006ba0;"} 400
|
|
87
|
+
%th{:style => "color: #0486D6;"} 500
|
|
88
|
+
|
|
89
|
+
%tbody
|
|
90
|
+
- (1..30).each do |minutes|
|
|
91
|
+
- date = (DateTime.now - (minutes/1440.0)).strftime("%Y-%m-%d %H:%M").to_sym
|
|
92
|
+
%tr
|
|
93
|
+
%th= minutes
|
|
94
|
+
%td= @crawl[:status_200_count][date]
|
|
95
|
+
%td= @crawl[:status_400_count][date]
|
|
96
|
+
%td= @crawl[:status_500_count][date]
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
.medium
|
|
100
|
+
.box
|
|
101
|
+
.title
|
|
102
|
+
%h2 Mime counts
|
|
103
|
+
%span.hide
|
|
104
|
+
.content
|
|
105
|
+
.caption Mime types processed per minute
|
|
106
|
+
%table.statics{:style => "width : 100%;"}
|
|
107
|
+
%thead
|
|
108
|
+
%tr
|
|
109
|
+
%th
|
|
110
|
+
%th{:style => "color: #00366f;"} Text
|
|
111
|
+
%th{:style => "color: #006ba0;"} Image
|
|
112
|
+
%th{:style => "color: #0486D6;"} Application
|
|
113
|
+
|
|
114
|
+
%tbody
|
|
115
|
+
- (1..30).each do |minutes|
|
|
116
|
+
- date = (DateTime.now - (minutes/1440.0)).strftime("%Y-%m-%d %H:%M").to_sym
|
|
117
|
+
%tr
|
|
118
|
+
%th= minutes
|
|
119
|
+
%td= @crawl[:mime_text_count][date]
|
|
120
|
+
%td= @crawl[:mime_image_count][date]
|
|
121
|
+
%td= @crawl[:mime_application_count][date]
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
.section
|
|
125
|
+
.medium
|
|
126
|
+
.box
|
|
127
|
+
.title
|
|
128
|
+
%h2 Status counts
|
|
129
|
+
%span.hide
|
|
130
|
+
.content
|
|
131
|
+
.caption Total status codes returned
|
|
132
|
+
%table{:style => "width : 100%;"}
|
|
133
|
+
%thead
|
|
134
|
+
%tr
|
|
135
|
+
%th Status code
|
|
136
|
+
%th Count
|
|
137
|
+
|
|
138
|
+
%tbody
|
|
139
|
+
- @crawl[:statistics][:status_counts].keys.each do |status|
|
|
140
|
+
- unless status.nil? || status == ""
|
|
141
|
+
%tr
|
|
142
|
+
%td= status
|
|
143
|
+
%td= @crawl[:statistics][:status_counts][status]
|
|
144
|
+
|
|
145
|
+
.medium
|
|
146
|
+
.box
|
|
147
|
+
.title
|
|
148
|
+
%h2 Mime type counts
|
|
149
|
+
%span.hide
|
|
150
|
+
.content
|
|
151
|
+
.caption Total mime-types returned
|
|
152
|
+
%table{:style => "width : 100%;"}
|
|
153
|
+
%thead
|
|
154
|
+
%tr
|
|
155
|
+
%th Mime-type
|
|
156
|
+
%th Count
|
|
157
|
+
|
|
158
|
+
%tbody
|
|
159
|
+
- @crawl[:statistics][:mime_counts].keys.each do |mime_type|
|
|
160
|
+
%tr
|
|
161
|
+
%td= mime_type
|
|
162
|
+
%td= @crawl[:statistics][:mime_counts][mime_type]
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
.section
|
|
169
|
+
.small
|
|
170
|
+
.box
|
|
171
|
+
.title
|
|
172
|
+
%h2 Counts
|
|
173
|
+
%span.hide
|
|
174
|
+
.content
|
|
175
|
+
%table
|
|
176
|
+
%thead
|
|
177
|
+
%tr
|
|
178
|
+
%th Page Count
|
|
179
|
+
%th Asset Count
|
|
180
|
+
%th Redirect Count
|
|
181
|
+
%tbody
|
|
182
|
+
%tr
|
|
183
|
+
%td= @crawl[:statistics][:page_count]
|
|
184
|
+
%td= @crawl[:statistics][:asset_count]
|
|
185
|
+
%td= @crawl[:statistics][:total_redirects]
|
|
186
|
+
|
|
187
|
+
.small
|
|
188
|
+
.box
|
|
189
|
+
.title
|
|
190
|
+
%h2 Total Sizes
|
|
191
|
+
%span.hide
|
|
192
|
+
.content
|
|
193
|
+
%table
|
|
194
|
+
%thead
|
|
195
|
+
%tr
|
|
196
|
+
%th Total Page Size
|
|
197
|
+
%th Total Asset Size
|
|
198
|
+
%tbody
|
|
199
|
+
%tr
|
|
200
|
+
%td= @crawl[:statistics][:page_size].to_i.to_human
|
|
201
|
+
%td= @crawl[:statistics][:asset_size].to_i.to_human
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
.section
|
|
205
|
+
.medium
|
|
206
|
+
.box
|
|
207
|
+
.title
|
|
208
|
+
%h2 Response Times
|
|
209
|
+
%span.hide
|
|
210
|
+
.content
|
|
211
|
+
%table
|
|
212
|
+
%thead
|
|
213
|
+
%tr
|
|
214
|
+
%th
|
|
215
|
+
%th{:colspan => 2} milliseconds
|
|
216
|
+
%tbody
|
|
217
|
+
%tr
|
|
218
|
+
%th Average
|
|
219
|
+
%td= @crawl[:statistics][:average_response_time]
|
|
220
|
+
%tr
|
|
221
|
+
%th Maximum
|
|
222
|
+
%td= @crawl[:statistics][:maximum_response_time]
|
|
223
|
+
%tr
|
|
224
|
+
%th Minimum
|
|
225
|
+
%td= @crawl[:statistics][:minimum_response_time]
|
|
226
|
+
|
|
227
|
+
.medium
|
|
228
|
+
.box
|
|
229
|
+
.title
|
|
230
|
+
%h2 Content Sizes
|
|
231
|
+
%span.hide
|
|
232
|
+
.content
|
|
233
|
+
%table
|
|
234
|
+
%thead
|
|
235
|
+
%tr
|
|
236
|
+
%th
|
|
237
|
+
%th{:colspan => 2} Content Sizes
|
|
238
|
+
%tbody
|
|
239
|
+
%tr
|
|
240
|
+
%th Average
|
|
241
|
+
%td= @crawl[:statistics][:average_length].to_i.to_human
|
|
242
|
+
%tr
|
|
243
|
+
%th Maximum
|
|
244
|
+
%td= @crawl[:statistics][:maximum_length].to_i.to_human
|
|
245
|
+
%tr
|
|
246
|
+
%th Minimum
|
|
247
|
+
%td= @crawl[:statistics][:minimum_length].to_i.to_human
|
|
248
|
+
%tr
|
|
249
|
+
%th Total
|
|
250
|
+
%td= @crawl[:statistics][:total_length].to_i.to_human
|
|
251
|
+
|