add pagination to the page
This commit is contained in:
parent
6e412a6aa9
commit
294625f251
|
@ -6,8 +6,15 @@ module Routes
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.define_posts(session)
|
def self.define_posts(session)
|
||||||
page = (session.request.params['page'] || 0).to_i
|
# compute pages
|
||||||
per_page = (session.request.params['per_page'] || 10).to_i
|
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].
|
posts = DB[:posts].
|
||||||
filter(:released => true).
|
filter(:released => true).
|
||||||
select(:posts__id___post_id, :written, :title, :content, :username).
|
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)
|
- for post in fetch(:posts)
|
||||||
article
|
article
|
||||||
header
|
header
|
||||||
|
@ -8,3 +13,8 @@
|
||||||
.date= post[:written].strftime('%Y-%m-%d')
|
.date= post[:written].strftime('%Y-%m-%d')
|
||||||
.time= post[:written].strftime('%H-%M')
|
.time= post[:written].strftime('%H-%M')
|
||||||
section==Kramdown::Document.new(post[:content]).to_html
|
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