forked from publify/publify
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding a "most popular posts" sidebar plugin that will use the Articl…
…e.bestof method. This because I'm going to remove the Most Popular articles widget from the dashboard, as it's not really useful to manage a blog on a daily basis.
- Loading branch information
Frédéric de Villamil
committed
Aug 10, 2013
1 parent
cfbeafa
commit 0f3a357
Showing
5 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
require 'rake' | ||
require 'rake/testtask' | ||
require 'rake/rdoctask' | ||
|
||
desc 'Default: run unit tests.' | ||
task :default => :test | ||
|
||
desc 'Test the popular_sidebar plugin.' | ||
Rake::TestTask.new(:test) do |t| | ||
t.libs << 'lib' | ||
t.pattern = 'test/**/*_test.rb' | ||
t.verbose = true | ||
end | ||
|
||
desc 'Generate documentation for the popular_sidebar plugin.' | ||
Rake::RDocTask.new(:rdoc) do |rdoc| | ||
rdoc.rdoc_dir = 'rdoc' | ||
rdoc.title = 'ArchivesSidebar' | ||
rdoc.options << '--line-numbers' << '--inline-source' | ||
rdoc.rdoc_files.include('README') | ||
rdoc.rdoc_files.include('lib/**/*.rb') | ||
end |
11 changes: 11 additions & 0 deletions
11
lib/popular_sidebar/app/views/popular_sidebar/_content.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<h3 class="sidebar-title"><%= sidebar.title %></h3> | ||
<ul class='popular_sidebar'> | ||
<% if sidebar.popular.empty? || sidebar.popular.size == 0 %> | ||
<li class='alert'><%= _("Nothing to show yet") %> !</li> | ||
<% else %> | ||
<% sidebar.popular.each do |article| %> | ||
<%= sprintf("%s (%s)", link_to_permalink(article, article.title), _("%d comments", article.comment_count)) %> | ||
<% end %> | ||
<% end %> | ||
</li> | ||
</ul> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
require 'sidebar' | ||
require 'popular_sidebar' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
class PopularSidebar < Sidebar | ||
description 'Displays the most popular posts' | ||
setting :title, 'Most popular' | ||
setting :count, 5, :label => 'Number articles' | ||
|
||
attr_accessor :popular | ||
|
||
def parse_request(contents, params) | ||
@popular = Article.bestof.limit(5) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
require 'test/unit' | ||
require File.dirname(__FILE__) + '/../../../../test/test_helper' | ||
|
||
class PopularSidebarTest < Test::Unit::TestCase | ||
def test_popular_is_available | ||
assert Sidebar.available_sidebars.include?(PopularSidebar) | ||
end | ||
end |