From 168d9bfec39a2a84105df50562d283dede82d606 Mon Sep 17 00:00:00 2001 From: joshua stein Date: Sat, 21 Mar 2015 21:56:34 -0500 Subject: [PATCH] story list: break up long words in titles and domains with --- app/helpers/application_helper.rb | 32 +++++++++++++++++--------- app/views/stories/_listdetail.html.erb | 10 ++++---- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0b51bfc..af480e0 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,6 +1,16 @@ module ApplicationHelper MAX_PAGES = 15 + def break_long_words(str, len = 30) + safe_join(str.split(" ").map{|w| + if w.length > len + safe_join(w.split(/(.{#{len}})/), "".html_safe) + else + w + end + }, " ") + end + def errors_for(object, message=nil) html = "" unless object.errors.blank? @@ -14,17 +24,6 @@ module ApplicationHelper raw(html) end - def time_ago_in_words_label(time, options = {}) - strip_about = options.delete(:strip_about) - ago = time_ago_in_words(time, options) - - if strip_about - ago.gsub!(/^about /, "") - end - - raw(label_tag(nil, ago, :title => time.strftime("%F %T %z"))) - end - def page_numbers_for_pagination(max, cur) if max <= MAX_PAGES return (1 .. max).to_a @@ -60,4 +59,15 @@ module ApplicationHelper pages end + + def time_ago_in_words_label(time, options = {}) + strip_about = options.delete(:strip_about) + ago = time_ago_in_words(time, options) + + if strip_about + ago.gsub!(/^about /, "") + end + + raw(label_tag(nil, ago, :title => time.strftime("%F %T %z"))) + end end diff --git a/app/views/stories/_listdetail.html.erb b/app/views/stories/_listdetail.html.erb index 406db77..bcca39d 100644 --- a/app/views/stories/_listdetail.html.erb +++ b/app/views/stories/_listdetail.html.erb @@ -15,7 +15,8 @@ class="story <%= story.vote && story.vote[:vote] == 1 ? "upvoted" : "" %>
<% if story.can_be_seen_by_user?(@user) %> - <%= story.title %> + <%= + break_long_words(story.title) %> <% end %> <% if story.is_gone? %> [Story removed by <%= story.is_moderated? ? "moderator" : @@ -32,7 +33,7 @@ class="story <%= story.vote && story.vote[:vote] == 1 ? "upvoted" : "" %> <% if story.domain.present? %> <%= - story.domain %> + break_long_words(story.domain) %> <% end %> <% if defined?(single_story) && single_story %> @@ -40,7 +41,8 @@ class="story <%= story.vote && story.vote[:vote] == 1 ? "upvoted" : "" %>
- <%= ms.title %> + <%= + break_long_words(ms.title) %> <% ms.sorted_taggings.each do |tagging| %> @@ -51,7 +53,7 @@ class="story <%= story.vote && story.vote[:vote] == 1 ? "upvoted" : "" %> <% if ms.domain.present? %> <%= - ms.domain %> + break_long_words(ms.domain) %> <% end %>