myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2109] trunk: added plain text description render


From: noreply
Subject: [myexperiment-hackers] [2109] trunk: added plain text description renderer and removed double white_list cases
Date: Wed, 18 Feb 2009 11:50:26 -0500 (EST)

Revision
2109
Author
dgc
Date
2009-02-18 11:50:25 -0500 (Wed, 18 Feb 2009)

Log Message

added plain text description renderer and removed double white_list cases

Modified Paths

Diff

Modified: trunk/app/views/announcements/show.rhtml (2108 => 2109)


--- trunk/app/views/announcements/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/announcements/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -30,6 +30,6 @@
 	<br/>
 	
 	<div class="message">
-		<%=white_list @announcement.body_html %>
+		<%= @announcement.body_html %>
 	</div>
-</div>
\ No newline at end of file
+</div>

Modified: trunk/app/views/blobs/show.rhtml (2108 => 2109)


--- trunk/app/views/blobs/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blobs/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -69,7 +69,7 @@
 			
 			<% unless @blob.body.blank? %>
 				<div class="contribution_description">
-					<%= white_list @blob.body_html %>
+					<%= @blob.body_html %>
 				</div>
 			<% else %>
 				<p class="none_text">

Modified: trunk/app/views/blog_posts/_post.rhtml (2108 => 2109)


--- trunk/app/views/blog_posts/_post.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blog_posts/_post.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -8,7 +8,7 @@
 </p>
 
 <p>
-  <%= white_list post.body_html %>
+  <%= post.body_html %>
 </p>
 
-<br/>
\ No newline at end of file
+<br/>

Modified: trunk/app/views/blog_posts/show.rhtml (2108 => 2109)


--- trunk/app/views/blog_posts/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blog_posts/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -10,7 +10,7 @@
 
 <p>
   <b>Body:</b><br />
-  <%= white_list @blog_post.body_html %>
+  <%= @blog_post.body_html %>
 </p>
 
 <p>
@@ -21,4 +21,4 @@
 <p>
   <b>Updated at:</b>
   <%=datetime @blog_post.updated_at %>
-</p>
\ No newline at end of file
+</p>

Modified: trunk/app/views/experiments/show.rhtml (2108 => 2109)


--- trunk/app/views/experiments/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/experiments/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -24,7 +24,7 @@
 			<td style="vertical-align: top;">
 				<div class="box_standout" style="padding: 0em 0.5em; margin-bottom: 0.5em;">
 					<% unless @experiment.description.blank? -%>
-						<%= white_list @experiment.description_html -%>
+						<%= @experiment.description_html -%>
 					<% else -%>
 						<p class="none_text">No description</p>
 					<% end -%>

Modified: trunk/app/views/group_announcements/show.rhtml (2108 => 2109)


--- trunk/app/views/group_announcements/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/group_announcements/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -43,6 +43,6 @@
 	<br/>
 	
 	<div class="message">
-		<%=white_list @announcement.body_html %>
+		<%= @announcement.body_html %>
 	</div>
 </div>

Modified: trunk/app/views/jobs/show.rhtml (2108 => 2109)


--- trunk/app/views/jobs/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/jobs/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -24,7 +24,7 @@
 			<td style="vertical-align: top;">
 				<div class="box_standout" style="padding: 0em 0.5em; margin-bottom: 0.5em;">
 					<% unless @job.description.blank? -%>
-						<%= white_list @job.description_html -%>
+						<%= @job.description_html -%>
 					<% else -%>
 						<p class="none_text">No description</p>
 					<% end -%>

Modified: trunk/app/views/layouts/_announcement.rxml (2108 => 2109)


--- trunk/app/views/layouts/_announcement.rxml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_announcement.rxml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,8 +1,8 @@
 xm.item do
   xm.title announcement.title
-  xm.description white_list(announcement.body_html)
+  xm.description announcement.body_html
   xm.pubDate announcement.updated_at.rfc822
   xm.guid [request.host_with_port, "announcement", announcement.id.to_s].join(":"), "isPermaLink" => "false"
   xm.author h(announcement.user.name)
   xm.link announcement_url(announcement)
-end
\ No newline at end of file
+end

Modified: trunk/app/views/layouts/_group_announcement.rxml (2108 => 2109)


--- trunk/app/views/layouts/_group_announcement.rxml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_group_announcement.rxml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,8 +1,8 @@
 xm.item do
   xm.title group_announcement.title
-  xm.description white_list(group_announcement.body_html)
+  xm.description group_announcement.body_html
   xm.pubDate group_announcement.updated_at.rfc822
   xm.guid [request.host_with_port, "announcement", group_announcement.id.to_s].join(":"), "isPermaLink" => "false"
   xm.author h(group_announcement.user.name)
   xm.link group_announcement_url(group, group_announcement)
-end
\ No newline at end of file
+end

Modified: trunk/app/views/layouts/_workflow.rxml (2108 => 2109)


--- trunk/app/views/layouts/_workflow.rxml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_workflow.rxml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,9 +1,9 @@
 xm.item do
   xm.title "#{h(workflow.title)} (#{h(workflow.contribution.contributor.name || workflow.contribution.contributor.title)}) [#{h(workflow.type_display_name)} Workflow]"
-  xm.description white_list(workflow.body_html)
+  xm.description workflow.body_html
   xm.version workflow.current_version
   xm.pubDate workflow.contribution.updated_at.rfc822
   xm.guid [request.host_with_port, "workflow", workflow.id.to_s].join(":"), "isPermaLink" => "false"
   xm.author h(workflow.contribution.contributor.name || workflow.contribution.contributor.title)
   xm.link workflow_url(workflow)
-end
\ No newline at end of file
+end

Modified: trunk/app/views/messages/show.rhtml (2108 => 2109)


--- trunk/app/views/messages/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/messages/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -53,9 +53,9 @@
 	<p><b>Message</b></p>
 	<div class="message">
 		<% unless @message.body.blank? %>
-			<%=white_list @message.body_html %>
+			<%= @message.body_html %>
 		<% else %>
 			<p class="none_text">No message body</p>
 		<% end %>
 	</div>
-</div>
\ No newline at end of file
+</div>

Modified: trunk/app/views/networks/show.rhtml (2108 => 2109)


--- trunk/app/views/networks/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/networks/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -73,7 +73,7 @@
 	
 	<div class="box_simple" style="margin: 0 0 0.4em 0;">
 		<% unless @network.description.nil? or @network.description.empty? %>
-			<%= white_list @network.description_html %>
+			<%= @network.description_html %>
 		<% else %>
 			<p><i>No description</i></p>
 		<% end %>

Modified: trunk/app/views/packs/show.rhtml (2108 => 2109)


--- trunk/app/views/packs/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/packs/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -53,7 +53,7 @@
 			
 			<% unless @pack.description.blank? %>
 				<div class="contribution_description">
-					<%= white_list @pack.description_html %>
+					<%= @pack.description_html %>
 				</div>
 				<% if mine?(@pack) %>
 					<br/>

Modified: trunk/app/views/profiles/_profile.rhtml (2108 => 2109)


--- trunk/app/views/profiles/_profile.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/profiles/_profile.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,6 +1,6 @@
 <% unless profile.body.nil? or profile.body.empty? %>
   <div class="box_simple" style="margin: 0.4em 0;">
-    <%= white_list profile.body_html %>
+    <%= profile.body_html %>
   </div>
 <% end %>
 

Modified: trunk/app/views/users/show.rhtml (2108 => 2109)


--- trunk/app/views/users/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/users/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -275,7 +275,7 @@
 	<% unless @user.profile.nil? %>
 	  <div class="box_standout">
 	    <% unless @user.profile.body.blank? %>
-				<%= white_list @user.profile.body_html %>
+				<%= @user.profile.body_html %>
 			<% else %>
 				<p class="none_text">Description/summary not set</p>
 			<% end %>	

Modified: trunk/app/views/workflows/show.rhtml (2108 => 2109)


--- trunk/app/views/workflows/show.rhtml	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/workflows/show.rhtml	2009-02-18 16:50:25 UTC (rev 2109)
@@ -197,7 +197,7 @@
 			
 			<% unless @viewing_version.body.blank? %>
 				<div class="contribution_description">
-					<%= white_list @viewing_version.body_html %>
+					<%= @viewing_version.body_html %>
 				</div>
 				<% if @authorised_to_edit %>
 					<p style="text-align: right; color: #666666;">[ <%= link_to "edit", workflow_version_edit_url(@workflow.id, @viewing_version.version) %> ]</p>

Modified: trunk/vendor/plugins/white_list_formatted_content/init.rb (2108 => 2109)


--- trunk/vendor/plugins/white_list_formatted_content/init.rb	2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/vendor/plugins/white_list_formatted_content/init.rb	2009-02-18 16:50:25 UTC (rev 2109)
@@ -13,13 +13,62 @@
   end
 
   protected
+
+  def render_plain_text_to_html(text)
+
+    # separate paragraphs that end with a colon
+
+    text.gsub!(/:\n/, ":\n\n")
+    
+    # fold indented parts of bulleted lines
+
+    text.gsub!(/^\* .*\n(  .*\n)+/) { |b|
+      b.gsub(/\n/, " ") + "\n"
+    }
+
+    # fold indented parts of numbered lines
+
+    text.gsub!(/^[0-9]+\. .*\n(   .*\n)+/) { |b|
+      b.gsub(/\n/, " ") + "\n"
+    }
+
+    # convert each adjacent set of bulleted lines into HTML
+
+    text.gsub!(/^\* .*\n(\* .*\n|\s*\n)*/) { |b|
+      b.gsub!(/^\s*\n/, "")
+      "\n<ul>\n" + b.gsub(/^\* (.*)/, '<li>\1</li>') + "</ul>\n\n"
+    }
+
+    # convert each adjacent set of numbered lines into HTML
+
+    text.gsub!(/^[0-9]+\. .*\n(([0-9]+\. .*\n)|\s*\n)*/) { |b|
+      b.gsub!(/^\s*\n/, "")
+      "\n<ol>\n" + b.gsub(/^([0-9]+)\. (.*)/, '<li value="\1">\2</li>') + "</ol>\n\n"
+    }
+
+    # make sure the last line is terminated
+
+    text = "#{text}\n"
+
+    # fold multiple adjacent blank lines
+
+    text.gsub!(/^\s*\n(\s*\n)*/, "\n")
+
+    # place each section in an HTML paragraph
+
+    text.gsub!(/((^.*\S+.*\n)+)/, "<p>\n\\1</p>\n")
+
+    text
+  end
+
+
     def format_content
       body.strip! if body.respond_to?(:strip!)
       self.body_html = body.blank? ? '' : body_html_with_formatting
     end
     
     def body_html_with_formatting
-      body_html = auto_link body { |text| truncate(text, 50) }
+      body_html = auto_link(body.starts_with?('<') ? body : render_plain_text_to_html(body))
       white_list(body_html)
     end
 end

reply via email to

[Prev in Thread] Current Thread [Next in Thread]