Split archive in past and future list
This commit is contained in:
parent
b68b3c9a62
commit
ff16ff78a0
3 changed files with 6 additions and 4 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
<%= render 'pager', :linkprev => @linkprev, :linknext => @linknext %>
|
<%= render 'pager', :linkprev => @linkprev, :linknext => @linknext %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<section itemscope itemtype="http://schema.org/Blog">
|
<section itemscope itemtype="http://schema.org/Blog">
|
||||||
<% @item[:archiveitems].each do |item| %>
|
<% (@item[:futureitems] + @item[:pastitems]).each do |item| %>
|
||||||
<div class="span8">
|
<div class="span8">
|
||||||
<%= render 'item_intro', :item => item, :extended => true %>
|
<%= render 'item_intro', :item => item, :extended => true %>
|
||||||
<p>
|
<p>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<%= render 'pager', :linkprev => @linkprev, :linknext => @linknext %>
|
<%= render 'pager', :linkprev => @linkprev, :linknext => @linknext %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<% @item[:archiveitems].each do |item| %>
|
<% (@item[:futureitems] + @item[:pastitems]).each do |item| %>
|
||||||
<div class="span8">
|
<div class="span8">
|
||||||
<article itemscope itemtype="http://schema.org/EducationEvent">
|
<article itemscope itemtype="http://schema.org/EducationEvent">
|
||||||
<%= render 'event_header', :item => item, :heading => true, :link => true %>
|
<%= render 'event_header', :item => item, :heading => true, :link => true %>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
require 'ostruct'
|
require 'ostruct'
|
||||||
|
|
||||||
def generate_yearly_archive(articles, date_attribute, basepath, title, templatename = 'article_archive', attributes = {})
|
def generate_yearly_archive(articles, date_attribute, basepath, title, templatename = 'article_archive', attributes = {})
|
||||||
currentyear = Time.now.year
|
today = Time.now
|
||||||
|
currentyear = today.year
|
||||||
yearmap = articles.group_by { |item| item[date_attribute].year }
|
yearmap = articles.group_by { |item| item[date_attribute].year }
|
||||||
if !yearmap.has_key?(currentyear)
|
if !yearmap.has_key?(currentyear)
|
||||||
yearmap[currentyear] = []
|
yearmap[currentyear] = []
|
||||||
|
|
@ -10,6 +11,7 @@ def generate_yearly_archive(articles, date_attribute, basepath, title, templaten
|
||||||
yearlist.each_index { |i|
|
yearlist.each_index { |i|
|
||||||
year = yearlist[i]
|
year = yearlist[i]
|
||||||
yearmap[year].sort! { |a,b| b[date_attribute] <=> a[date_attribute] }
|
yearmap[year].sort! { |a,b| b[date_attribute] <=> a[date_attribute] }
|
||||||
|
pastfuture = yearmap[year].partition { |a| a[date_attribute].to_datetime > today.to_datetime }
|
||||||
linkprev = if (i>0)
|
linkprev = if (i>0)
|
||||||
", :linkprev => OpenStruct.new(:title => '#{yearlist[i-1]}', :link => '#{basepath}/#{yearlist[i-1]}/')"
|
", :linkprev => OpenStruct.new(:title => '#{yearlist[i-1]}', :link => '#{basepath}/#{yearlist[i-1]}/')"
|
||||||
else
|
else
|
||||||
|
|
@ -22,7 +24,7 @@ def generate_yearly_archive(articles, date_attribute, basepath, title, templaten
|
||||||
end
|
end
|
||||||
@items << Nanoc::Item.new(
|
@items << Nanoc::Item.new(
|
||||||
"<%= render '#{templatename}' #{linkprev} #{linknext} %>",
|
"<%= render '#{templatename}' #{linkprev} #{linknext} %>",
|
||||||
attributes.merge({ :title => "#{title} #{year}", :kind => "page", :archiveitems => yearmap[year] }),
|
attributes.merge({ :title => "#{title} #{year}", :kind => "page", :futureitems => pastfuture[0], :pastitems => pastfuture[1] }),
|
||||||
"#{basepath}/#{year}/")
|
"#{basepath}/#{year}/")
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue