module PostHelper def articles_by_year(articles) hash = Hash.new { |h, k| h[k] = [] } articles.inject(hash) do |output, article| year = attribute_to_time(article[:created_at]).year output[year] << article output end end def get_summary(post, length = 200) doc = Nokogiri.HTML(post.compiled_content) summary = "" paragraphs = doc.search("p") paragraphs.each do |paragraph| summary += paragraph.to_s break if summary.size >= length end summary end def get_short_date(post) attribute_to_time(post[:created_at]).strftime('%Y-%m-%d') end def get_pretty_date(post) attribute_to_time(post[:created_at]).strftime('%A %-d %B %Y') end def get_tags(post) if post[:tags].nil? || post[:tags].empty? "(not tagged)" else post[:tags].compact.map { |tag| tag.downcase }.sort.join(", ") end end end