add pagination to the page
This commit is contained in:
parent
6e412a6aa9
commit
294625f251
|
@ -6,8 +6,15 @@ module Routes
|
|||
end
|
||||
|
||||
def self.define_posts(session)
|
||||
page = (session.request.params['page'] || 0).to_i
|
||||
per_page = (session.request.params['per_page'] || 10).to_i
|
||||
# compute pages
|
||||
page = session.request.params['page'].to_i
|
||||
session.options[:page] = page if page
|
||||
per_page = session.request.params['per_page'].to_i
|
||||
per_page = 10 if per_page == 0
|
||||
session.options[:per_page] = per_page if per_page
|
||||
session.options[:pages] = DB[:posts].filter(:released => true).count / per_page
|
||||
|
||||
# fetch the posts to show
|
||||
posts = DB[:posts].
|
||||
filter(:released => true).
|
||||
select(:posts__id___post_id, :written, :title, :content, :username).
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
- if 0 < fetch(:page)
|
||||
a.page.up(
|
||||
href="/post?page=#{fetch(:page) - 1}&per_page=#{fetch(:per_page)}"
|
||||
) show newer
|
||||
|
||||
- for post in fetch(:posts)
|
||||
article
|
||||
header
|
||||
|
@ -8,3 +13,8 @@
|
|||
.date= post[:written].strftime('%Y-%m-%d')
|
||||
.time= post[:written].strftime('%H-%M')
|
||||
section==Kramdown::Document.new(post[:content]).to_html
|
||||
|
||||
- if fetch(:page) < fetch(:pages)
|
||||
a.page.down(
|
||||
href="/post?page=#{fetch(:page) + 1}&per_page=#{fetch(:per_page)}"
|
||||
) show older
|
||||
|
|
Loading…
Reference in New Issue