leshill-will_paginate 2.3.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/CHANGELOG.rdoc +110 -0
  2. data/LICENSE +18 -0
  3. data/README.rdoc +111 -0
  4. data/Rakefile +53 -0
  5. data/examples/apple-circle.gif +0 -0
  6. data/examples/index.haml +69 -0
  7. data/examples/index.html +92 -0
  8. data/examples/pagination.css +90 -0
  9. data/examples/pagination.sass +91 -0
  10. data/init.rb +1 -0
  11. data/lib/will_paginate.rb +90 -0
  12. data/lib/will_paginate/array.rb +16 -0
  13. data/lib/will_paginate/collection.rb +146 -0
  14. data/lib/will_paginate/core_ext.rb +43 -0
  15. data/lib/will_paginate/finder.rb +264 -0
  16. data/lib/will_paginate/named_scope.rb +170 -0
  17. data/lib/will_paginate/named_scope_patch.rb +37 -0
  18. data/lib/will_paginate/version.rb +9 -0
  19. data/lib/will_paginate/view_helpers.rb +432 -0
  20. data/test/boot.rb +21 -0
  21. data/test/collection_test.rb +143 -0
  22. data/test/console +8 -0
  23. data/test/database.yml +22 -0
  24. data/test/finder_test.rb +473 -0
  25. data/test/fixtures/admin.rb +3 -0
  26. data/test/fixtures/developer.rb +14 -0
  27. data/test/fixtures/developers_projects.yml +13 -0
  28. data/test/fixtures/project.rb +15 -0
  29. data/test/fixtures/projects.yml +6 -0
  30. data/test/fixtures/replies.yml +29 -0
  31. data/test/fixtures/reply.rb +7 -0
  32. data/test/fixtures/schema.rb +38 -0
  33. data/test/fixtures/topic.rb +10 -0
  34. data/test/fixtures/topics.yml +30 -0
  35. data/test/fixtures/user.rb +2 -0
  36. data/test/fixtures/users.yml +35 -0
  37. data/test/helper.rb +40 -0
  38. data/test/lib/activerecord_test_case.rb +43 -0
  39. data/test/lib/activerecord_test_connector.rb +75 -0
  40. data/test/lib/load_fixtures.rb +11 -0
  41. data/test/lib/view_test_process.rb +180 -0
  42. data/test/tasks.rake +59 -0
  43. data/test/view_test.rb +405 -0
  44. metadata +127 -0
@@ -0,0 +1,110 @@
1
+ == 2.3.6, released 2008-10-26
2
+
3
+ * Rails 2.2 fix: stop using `extract_attribute_names_from_match` inernal AR method, it no longer exists
4
+
5
+ == 2.3.5, released 2008-10-07
6
+
7
+ * update the backported named_scope implementation for Rails versions older than 2.1
8
+ * break out of scope of paginated_each() yielded block when used on named scopes
9
+ * fix paginate(:from)
10
+
11
+ == 2.3.4, released 2008-09-16
12
+
13
+ * Removed gem dependency to Active Support (causes trouble with vendored rails).
14
+ * Rails 2.1: fix a failing test and a deprecation warning.
15
+ * Cope with scoped :select when counting.
16
+
17
+ == 2.3.3, released 2008-08-29
18
+
19
+ * Ensure that paginate_by_sql doesn't change the original SQL query.
20
+ * RDoc love (now live at http://mislav.caboo.se/static/will_paginate/doc/)
21
+ * Rename :prev_label to :previous_label for consistency. old name still functions but is deprecated
22
+ * ActiveRecord 2.1: Remove :include option from count_all query when it's possible.
23
+
24
+ == 2.3.2, released 2008-05-16
25
+
26
+ * Fixed LinkRenderer#stringified_merge by removing "return" from iterator block
27
+ * Ensure that 'href' values in pagination links are escaped URLs
28
+
29
+ == 2.3.1, released 2008-05-04
30
+
31
+ * Fixed page numbers not showing with custom routes and implicit first page
32
+ * Try to use Hanna for documentation (falls back to default RDoc template if not)
33
+
34
+ == 2.3.0, released 2008-04-29
35
+
36
+ * Changed LinkRenderer to receive collection, options and reference to view template NOT in
37
+ constructor, but with the #prepare method. This is a step towards supporting passing of
38
+ LinkRenderer (or subclass) instances that may be preconfigured in some way
39
+ * LinkRenderer now has #page_link and #page_span methods for easier customization of output in
40
+ subclasses
41
+ * Changed page_entries_info() method to adjust its output according to humanized class name of
42
+ collection items. Override this with :entry_name parameter (singular).
43
+
44
+ page_entries_info(@posts)
45
+ #-> "Displaying all 12 posts"
46
+ page_entries_info(@posts, :entry_name => 'item')
47
+ #-> "Displaying all 12 items"
48
+
49
+ == 2.2.3, released 2008-04-26
50
+
51
+ * will_paginate gem is no longer published on RubyForge, but on
52
+ gems.github.com:
53
+
54
+ gem sources -a http://gems.github.com/ (you only need to do this once)
55
+ gem install mislav-will_paginate
56
+
57
+ * extract reusable pagination testing stuff into WillPaginate::View
58
+ * rethink the page URL construction mechanizm to be more bulletproof when
59
+ combined with custom routing for page parameter
60
+ * test that anchor parameter can be used in pagination links
61
+
62
+ == 2.2.2, released 2008-04-21
63
+
64
+ * Add support for page parameter in custom routes like "/foo/page/2"
65
+ * Change output of "page_entries_info" on single-page collection and erraneous
66
+ output with empty collection as reported by Tim Chater
67
+
68
+ == 2.2.1, released 2008-04-08
69
+
70
+ * take less risky path when monkeypatching named_scope; fix that it no longer
71
+ requires ActiveRecord::VERSION
72
+ * use strings in "respond_to?" calls to work around a bug in acts_as_ferret
73
+ stable (ugh)
74
+ * add rake release task
75
+
76
+
77
+ == 2.2.0, released 2008-04-07
78
+
79
+ === API changes
80
+ * Rename WillPaginate::Collection#page_count to "total_pages" for consistency.
81
+ If you implemented this interface, change your implementation accordingly.
82
+ * Remove old, deprecated style of calling Array#paginate as "paginate(page,
83
+ per_page)". If you want to specify :page, :per_page or :total_entries, use a
84
+ parameter hash.
85
+ * Rename LinkRenderer#url_options to "url_for" and drastically optimize it
86
+
87
+ === View changes
88
+ * Added "prev_page" and "next_page" CSS classes on previous/next page buttons
89
+ * Add examples of pagination links styling in "examples/index.html"
90
+ * Change gap in pagination links from "..." to
91
+ "<span class="gap">&hellip;</span>".
92
+ * Add "paginated_section", a block helper that renders pagination both above and
93
+ below content in the block
94
+ * Add rel="prev|next|start" to page links
95
+
96
+ === Other
97
+
98
+ * Add ability to opt-in for Rails 2.1 feature "named_scope" by calling
99
+ WillPaginate.enable_named_scope (tested in Rails 1.2.6 and 2.0.2)
100
+ * Support complex page parameters like "developers[page]"
101
+ * Move Array#paginate definition to will_paginate/array.rb. You can now easily
102
+ use pagination on arrays outside of Rails:
103
+
104
+ gem 'will_paginate'
105
+ require 'will_paginate/array'
106
+
107
+ * Add "paginated_each" method for iterating through every record by loading only
108
+ one page of records at the time
109
+ * Rails 2: Rescue from WillPaginate::InvalidPage error with 404 Not Found by
110
+ default
data/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ Copyright (c) 2007 PJ Hyett and Mislav Marohnić
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7
+ the Software, and to permit persons to whom the Software is furnished to do so,
8
+ subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,111 @@
1
+ = NOTE
2
+
3
+ This fork is available on {Gemcutter}[http://gemcutter.org]
4
+
5
+ = WillPaginate
6
+
7
+ Pagination is just limiting the number of records displayed. Why should you let
8
+ it get in your way while developing, then? This plugin makes magic happen. Did
9
+ you ever want to be able to do just this on a model:
10
+
11
+ Post.paginate :page => 1, :order => 'created_at DESC'
12
+
13
+ ... and then render the page links with a single view helper? Well, now you
14
+ can.
15
+
16
+ Some resources to get you started:
17
+
18
+ * {Installation instructions}[http://github.com/mislav/will_paginate/wikis/installation]
19
+ on {the wiki}[http://github.com/mislav/will_paginate/wikis]
20
+ * Your mind reels with questions? Join our
21
+ {Google group}[http://groups.google.com/group/will_paginate].
22
+ * {How to report bugs}[http://github.com/mislav/will_paginate/wikis/report-bugs]
23
+
24
+
25
+ == Example usage
26
+
27
+ Use a paginate finder in the controller:
28
+
29
+ @posts = Post.paginate_by_board_id @board.id, :page => params[:page], :order => 'updated_at DESC'
30
+
31
+ Yeah, +paginate+ works just like +find+ -- it just doesn't fetch all the
32
+ records. Don't forget to tell it which page you want, or it will complain!
33
+ Read more on WillPaginate::Finder::ClassMethods.
34
+
35
+ Render the posts in your view like you would normally do. When you need to render
36
+ pagination, just stick this in:
37
+
38
+ <%= will_paginate @posts %>
39
+
40
+ You're done. (You can find the option list at WillPaginate::ViewHelpers.)
41
+
42
+ How does it know how much items to fetch per page? It asks your model by calling
43
+ its <tt>per_page</tt> class method. You can define it like this:
44
+
45
+ class Post < ActiveRecord::Base
46
+ cattr_reader :per_page
47
+ @@per_page = 50
48
+ end
49
+
50
+ ... or like this:
51
+
52
+ class Post < ActiveRecord::Base
53
+ def self.per_page
54
+ 50
55
+ end
56
+ end
57
+
58
+ ... or don't worry about it at all. WillPaginate defines it to be <b>30</b> by default.
59
+ But you can always specify the count explicitly when calling +paginate+:
60
+
61
+ @posts = Post.paginate :page => params[:page], :per_page => 50
62
+
63
+ The +paginate+ finder wraps the original finder and returns your resultset that now has
64
+ some new properties. You can use the collection as you would with any ActiveRecord
65
+ resultset. WillPaginate view helpers also need that object to be able to render pagination:
66
+
67
+ <ol>
68
+ <% for post in @posts -%>
69
+ <li>Render `post` in some nice way.</li>
70
+ <% end -%>
71
+ </ol>
72
+
73
+ <p>Now let's render us some pagination!</p>
74
+ <%= will_paginate @posts %>
75
+
76
+ More detailed documentation:
77
+
78
+ * WillPaginate::Finder::ClassMethods for pagination on your models;
79
+ * WillPaginate::ViewHelpers for your views.
80
+
81
+
82
+ == Authors and credits
83
+
84
+ Authors:: Mislav Marohnić, PJ Hyett
85
+ Original announcement:: http://errtheblog.com/post/929
86
+ Original PHP source:: http://www.strangerstudios.com/sandbox/pagination/diggstyle.php
87
+
88
+ All these people helped making will_paginate what it is now with their code
89
+ contributions or just simply awesome ideas:
90
+
91
+ Chris Wanstrath, Dr. Nic Williams, K. Adam Christensen, Mike Garey, Bence
92
+ Golda, Matt Aimonetti, Charles Brian Quinn, Desi McAdam, James Coglan, Matijs
93
+ van Zuijlen, Maria, Brendan Ribera, Todd Willey, Bryan Helmkamp, Jan Berkel,
94
+ Lourens Naudé, Rick Olson, Russell Norris, Piotr Usewicz, Chris Eppstein,
95
+ Denis Barushev, Ben Pickles.
96
+
97
+
98
+ == Usable pagination in the UI
99
+
100
+ There are some CSS styles to get you started in the "examples/" directory. They
101
+ are {showcased online here}[http://mislav.caboo.se/static/will_paginate/].
102
+
103
+ More reading about pagination as design pattern:
104
+
105
+ * {Pagination 101}[http://kurafire.net/log/archive/2007/06/22/pagination-101]
106
+ * {Pagination gallery}[http://www.smashingmagazine.com/2007/11/16/pagination-gallery-examples-and-good-practices/]
107
+ * {Pagination on Yahoo Design Pattern Library}[http://developer.yahoo.com/ypatterns/parent.php?pattern=pagination]
108
+
109
+ Want to discuss, request features, ask questions? Join the
110
+ {Google group}[http://groups.google.com/group/will_paginate].
111
+
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ begin
3
+ hanna_dir = '/Users/mislav/Projects/Hanna/lib'
4
+ $:.unshift hanna_dir if File.exists? hanna_dir
5
+ require 'hanna/rdoctask'
6
+ rescue LoadError
7
+ require 'rake'
8
+ require 'rake/rdoctask'
9
+ end
10
+ load 'test/tasks.rake'
11
+
12
+ desc 'Default: run unit tests.'
13
+ task :default => :test
14
+
15
+ desc 'Generate RDoc documentation for the will_paginate plugin.'
16
+ Rake::RDocTask.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_files.include('README.rdoc', 'LICENSE', 'CHANGELOG.rdoc').
18
+ include('lib/**/*.rb').
19
+ exclude('lib/will_paginate/named_scope*').
20
+ exclude('lib/will_paginate/array.rb').
21
+ exclude('lib/will_paginate/version.rb')
22
+
23
+ rdoc.main = "README.rdoc" # page to start on
24
+ rdoc.title = "will_paginate documentation"
25
+
26
+ rdoc.rdoc_dir = 'doc' # rdoc output folder
27
+ rdoc.options << '--inline-source' << '--charset=UTF-8'
28
+ rdoc.options << '--webcvs=http://github.com/mislav/will_paginate/tree/master/'
29
+ end
30
+
31
+ desc %{Update ".manifest" with the latest list of project filenames. Respect\
32
+ .gitignore by excluding everything that git ignores. Update `files` and\
33
+ `test_files` arrays in "*.gemspec" file if it's present.}
34
+ task :manifest do
35
+ list = `git ls-files --full-name --exclude=*.gemspec --exclude=.*`.chomp.split("\n")
36
+
37
+ if spec_file = Dir['*.gemspec'].first
38
+ spec = File.read spec_file
39
+ spec.gsub! /^(\s* s.(test_)?files \s* = \s* )( \[ [^\]]* \] | %w\( [^)]* \) )/mx do
40
+ assignment = $1
41
+ bunch = $2 ? list.grep(/^test\//) : list
42
+ '%s%%w(%s)' % [assignment, bunch.join(' ')]
43
+ end
44
+
45
+ File.open(spec_file, 'w') { |f| f << spec }
46
+ end
47
+ File.open('.manifest', 'w') { |f| f << list.join("\n") }
48
+ end
49
+
50
+ task :examples do
51
+ %x(haml examples/index.haml examples/index.html)
52
+ %x(sass examples/pagination.sass examples/pagination.css)
53
+ end
Binary file
@@ -0,0 +1,69 @@
1
+ !!!
2
+ %html
3
+ %head
4
+ %title Samples of pagination styling for will_paginate
5
+ %link{ :rel => 'stylesheet', :type => 'text/css', :href => 'pagination.css' }
6
+ %style{ :type => 'text/css' }
7
+ :sass
8
+ html
9
+ :margin 0
10
+ :padding 0
11
+ :background #999
12
+ :font normal 76% "Lucida Grande", Verdana, Helvetica, sans-serif
13
+ body
14
+ :margin 2em
15
+ :padding 2em
16
+ :border 2px solid gray
17
+ :background white
18
+ :color #222
19
+ h1
20
+ :font-size 2em
21
+ :font-weight normal
22
+ :margin 0 0 1em 0
23
+ h2
24
+ :font-size 1.4em
25
+ :margin 1em 0 .5em 0
26
+ pre
27
+ :font-size 13px
28
+ :font-family Monaco, "DejaVu Sans Mono", "Bitstream Vera Mono", "Courier New", monospace
29
+
30
+ - pagination = '<span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>'
31
+ - pagination_no_page_links = '<span class="disabled prev_page">&laquo; Previous</span> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>'
32
+
33
+ %body
34
+ %h1 Samples of pagination styling for will_paginate
35
+ %p
36
+ Find these styles in <b>"examples/pagination.css"</b> of <i>will_paginate</i> library.
37
+ There is a Sass version of it for all you sassy people.
38
+ %p
39
+ Read about good rules for pagination:
40
+ %a{ :href => 'http://kurafire.net/log/archive/2007/06/22/pagination-101' } Pagination 101
41
+ %p
42
+ %em Warning:
43
+ page links below don't lead anywhere (so don't click on them).
44
+
45
+ %h2 Unstyled pagination <span style="font-weight:normal">(<i>ewww!</i>)</span>
46
+ %div= pagination
47
+
48
+ %h2 Digg.com
49
+ .digg_pagination= pagination
50
+
51
+ %h2 Digg-style, no page links
52
+ .digg_pagination= pagination_no_page_links
53
+ %p Code that renders this:
54
+ %pre= '<code>%s</code>' % %[<%= will_paginate @posts, :page_links => false %>].gsub('<', '&lt;').gsub('>', '&gt;')
55
+
56
+ %h2 Digg-style, extra content
57
+ .digg_pagination
58
+ .page_info Displaying entries <b>1&nbsp;-&nbsp;6</b> of <b>180</b> in total
59
+ = pagination
60
+ %p Code that renders this:
61
+ %pre= '<code>%s</code>' % %[<div class="digg_pagination">\n <div clas="page_info">\n <%= page_entries_info @posts %>\n </div>\n <%= will_paginate @posts, :container => false %>\n</div>].gsub('<', '&lt;').gsub('>', '&gt;')
62
+
63
+ %h2 Apple.com store
64
+ .apple_pagination= pagination
65
+
66
+ %h2 Flickr.com
67
+ .flickr_pagination
68
+ = pagination
69
+ .page_info (118 photos)
@@ -0,0 +1,92 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ </html>
4
+ <head>
5
+ <title>Samples of pagination styling for will_paginate</title>
6
+ <link href='pagination.css' rel='stylesheet' type='text/css' />
7
+ <style type='text/css'>
8
+ html {
9
+ margin: 0;
10
+ padding: 0;
11
+ background: #999;
12
+ font: normal 76% "Lucida Grande", Verdana, Helvetica, sans-serif; }
13
+
14
+ body {
15
+ margin: 2em;
16
+ padding: 2em;
17
+ border: 2px solid gray;
18
+ background: white;
19
+ color: #222; }
20
+
21
+ h1 {
22
+ font-size: 2em;
23
+ font-weight: normal;
24
+ margin: 0 0 1em 0; }
25
+
26
+ h2 {
27
+ font-size: 1.4em;
28
+ margin: 1em 0 .5em 0; }
29
+
30
+ pre {
31
+ font-size: 13px;
32
+ font-family: Monaco, "DejaVu Sans Mono", "Bitstream Vera Mono", "Courier New", monospace; }
33
+ </style>
34
+ </head>
35
+ <body>
36
+ <h1>Samples of pagination styling for will_paginate</h1>
37
+ <p>
38
+ Find these styles in <b>"examples/pagination.css"</b> of <i>will_paginate</i> library.
39
+ There is a Sass version of it for all you sassy people.
40
+ </p>
41
+ <p>
42
+ Read about good rules for pagination:
43
+ <a href='http://kurafire.net/log/archive/2007/06/22/pagination-101'>Pagination 101</a>
44
+ </p>
45
+ <p>
46
+ <em>Warning:</em>
47
+ page links below don't lead anywhere (so don't click on them).
48
+ </p>
49
+ <h2>
50
+ Unstyled pagination <span style="font-weight:normal">(<i>ewww!</i>)</span>
51
+ </h2>
52
+ <div>
53
+ <span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
54
+ </div>
55
+ <h2>Digg.com</h2>
56
+ <div class='digg_pagination'>
57
+ <span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
58
+ </div>
59
+ <h2>Digg-style, no page links</h2>
60
+ <div class='digg_pagination'>
61
+ <span class="disabled prev_page">&laquo; Previous</span> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
62
+ </div>
63
+ <p>Code that renders this:</p>
64
+ <pre>
65
+ <code>&lt;%= will_paginate @posts, :page_links =&gt; false %&gt;</code>
66
+ </pre>
67
+ <h2>Digg-style, extra content</h2>
68
+ <div class='digg_pagination'>
69
+ <div class='page_info'>
70
+ Displaying entries <b>1&nbsp;-&nbsp;6</b> of <b>180</b> in total
71
+ </div>
72
+ <span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
73
+ </div>
74
+ <p>Code that renders this:</p>
75
+ <pre>
76
+ <code>&lt;div class="digg_pagination"&gt;
77
+ &lt;div clas="page_info"&gt;
78
+ &lt;%= page_entries_info @posts %&gt;
79
+ &lt;/div&gt;
80
+ &lt;%= will_paginate @posts, :container =&gt; false %&gt;
81
+ &lt;/div&gt;</code>
82
+ </pre>
83
+ <h2>Apple.com store</h2>
84
+ <div class='apple_pagination'>
85
+ <span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
86
+ </div>
87
+ <h2>Flickr.com</h2>
88
+ <div class='flickr_pagination'>
89
+ <span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="./?page=2" rel="next">2</a> <a href="./?page=3">3</a> <a href="./?page=4">4</a> <a href="./?page=5">5</a> <a href="./?page=6">6</a> <a href="./?page=7">7</a> <a href="./?page=8">8</a> <a href="./?page=9">9</a> <span class="gap">&hellip;</span> <a href="./?page=29">29</a> <a href="./?page=30">30</a> <a href="./?page=2" rel="next" class="next_page">Next &raquo;</a>
90
+ <div class='page_info'>(118 photos)</div>
91
+ </div>
92
+ </body>