require 'sanitize' module ReaderHelper def standard_gravatar_for(reader=nil, url=nil) size = Radiant::Config['forum.gravatar_size'] || 40 url ||= reader_url(reader) gravatar = gravatar_for(reader, {:size => size}, {:class => 'gravatar offset', :width => size, :height => size}) link_to gravatar, url end def gravatar_for(reader=nil, gravatar_options={}, img_options ={}) size = gravatar_options[:size] || 40 img_options[:size] ||= "#{size}x#{size}" gravatar_options[:default] ||= "#{request.protocol}#{request.host_with_port}/images/furniture/no_gravatar.png" img_options[:alt] ||= reader.name if reader if reader.nil? || reader.email.blank? image_tag gravatar_options[:default], img_options else image_tag gravatar_url(reader.email, gravatar_options), img_options end end def home_page_link(options={}) home_page = Page.find_by_parent_id(nil) link_to home_page.title, home_page.url, options end def clean_textilize(text) Sanitize.clean(textilize(text), Sanitize::Config::RELAXED) end def clean_textilize_without_paragraph(text) textiled = clean_textilize(text) if textiled[0..2] == "
" then textiled = textiled[3..-1] end if textiled[-4..-1] == "
" then textiled = textiled[0..-5] end textiled end def truncate_words(text='', length=64, omission="...") return '' if text.blank? words = text.split omission = '' unless words.size > length words[0..(length-1)].join(" ") + omission end def truncate_and_textilize(text, length=64) clean_textilize( truncate_words(text, length) ) end def pagination_and_summary_for(list, name='') %{