Skip to content

Commit

Permalink
We've got page filtering
Browse files Browse the repository at this point in the history
  • Loading branch information
gus committed Jan 26, 2010
1 parent d6f3e4d commit b3d3b68
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 16 deletions.
19 changes: 11 additions & 8 deletions app.rb
Expand Up @@ -19,15 +19,18 @@ class App < Sinatra::Base

get %r{^/analyze/([\w.-]+)/page/(.*)$} do |domain, path|
page = Page.new("http://#{domain}", path)
valid = page.valid?
content_type 'application/json', :charset => 'utf-8'
{:valid => valid, :uri => page.uri,
:title => {:value => page.title, :failures => page.failures_on(:title)},
:description => {:value => page.description, :failures => page.failures_on(:description)},
:keywords => {:value => page.keywords, :failures => page.failures_on(:keywords)},
:single_word_density => page.single_word_density,
:double_word_density => page.double_word_density
}.to_json
result = {:uri => page.uri, :exists => page.exists?, :valid => false}
if page.exists?
result = result.merge({:valid => page.valid?,
:title => {:value => page.title, :failures => page.failures_on(:title)},
:description => {:value => page.description, :failures => page.failures_on(:description)},
:keywords => {:value => page.keywords, :failures => page.failures_on(:keywords)},
:single_word_density => page.single_word_density,
:double_word_density => page.double_word_density
})
end
result.to_json
end
end # App
end
6 changes: 4 additions & 2 deletions bin/seota
Expand Up @@ -27,8 +27,10 @@ sitemap.pages.each do |page|
puts " Meta(description): #{page.description}"
puts " Meta(keywords): #{page.keywords}"
puts " Word Count: #{page.word_count}"
puts " Single word density: #{page.single_word_density.inspect}"
puts " Double word density: #{page.double_word_density.inspect}"
# puts " Single word density: #{page.single_word_density.inspect}"
# puts " Double word density: #{page.double_word_density.inspect}"
puts " Anchors with titles: 0"
puts " Anchors without titles: 0"
else
puts " ! Page not found: #{page.uri}"
end
Expand Down
12 changes: 8 additions & 4 deletions public/javascripts/app/page.js
Expand Up @@ -98,9 +98,13 @@ Seota.Page.prototype = $.extend({}, {

render: function(container) {
container.empty();
var meta_div = $("<div></div>").addClass("half").
append(this._title_tag()).append(this._description_tag()).append(this._keywords_tag());
container.append($("<h5></h5>").text(this.details.uri)).
append(meta_div).append($("<div></div>").addClass("half").append(this._densities_tag()));
container.append($("<h5></h5>").text(this.details.uri));
if (this.details.exists) {
var meta_div = $("<div></div>").addClass("half").
append(this._title_tag()).append(this._description_tag()).append(this._keywords_tag());
container.append(meta_div).append($("<div></div>").addClass("half").append(this._densities_tag()));
} else {
container.append($("<p></p>").text("Page could not be found"));
}
}
});
9 changes: 9 additions & 0 deletions public/javascripts/app/seota.js
Expand Up @@ -78,5 +78,14 @@ $(document).ready(function() {
return false;
});

$("#page_filter").keyup(function() {
var value = $(this).val();
$("#pages li").show();
if (!(value == "" || value == $(this).data("label"))) {
$("#pages li").hide();
$("#pages li[data-path*=" + $(this).val() + "]").show();
}
});

app.run(); // Sammy!
});
2 changes: 1 addition & 1 deletion public/javascripts/app/sitemap.js
Expand Up @@ -8,7 +8,7 @@ Seota.Sitemap.prototype = $.extend({}, {
var that = this;
$.each(that.pages, function(i, path) {
var link = $("<a>").attr("href", "#/analyze/" + that.domain + "/page/" + path).text(path);
sitemap_list.append( $("<li>").append(link) );
sitemap_list.append( $("<li></li>").attr("data-path", path).append(link) );
});
}
});
10 changes: 10 additions & 0 deletions public/stylesheets/site.css
Expand Up @@ -199,6 +199,16 @@ a.button:hover { text-decoration: none; }
}
#content #navigation ul li:last-child { border-bottom: 0; }
#content #navigation ul li:hover { background-color: #fafafa; }
#content #navigation form {
margin: 0;
padding: 0;
display: inline;
}
#content #navigation form #page_filter {
padding: 0.25ex 1ex;
width: 100%;
border-width: 1px;
}
#content #details {
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
Expand Down
6 changes: 6 additions & 0 deletions public/stylesheets/site.less
Expand Up @@ -150,6 +150,12 @@ a.button {
li:last-child { border-bottom: 0; }
li:hover { background-color: #fafafa; }
}

form {
margin: 0; padding: 0;
display: inline;
#page_filter { padding: .25ex 1ex; width: 100%; border-width: 1px;}
}
}
#details {
.rounded_tight; background-color: white; border: 1px solid @gray;
Expand Down
4 changes: 3 additions & 1 deletion views/index.haml
Expand Up @@ -39,8 +39,10 @@
%ul#sitemaps.runtime
%li Sitemap list coming soon
%h6 Pages
%form.runtime
%input#page_filter.input_prompt{:value => "Search by path"}
%ul#pages.runtime.clearable
Page list
Page listing
.default.caption You need to analyze a site first :)
.grid_12.omega
#details.clearfix
Expand Down

0 comments on commit b3d3b68

Please sign in to comment.