[rt-commit] [svn] r639 - in rtfm/trunk: . html/RTFM/Article/Elements

leira at fsck.com leira at fsck.com
Tue Mar 30 18:57:44 EST 2004


Author: leira
Date: Tue Mar 30 18:57:43 2004
New Revision: 639

Modified:
   rtfm/trunk/README
   rtfm/trunk/html/RTFM/Article/Elements/Preformatted
Log:
Remove HTML from articles when they're sent out.


Modified: rtfm/trunk/README
==============================================================================
--- rtfm/trunk/README	(original)
+++ rtfm/trunk/README	Tue Mar 30 18:57:43 2004
@@ -27,6 +27,12 @@
 
     perl -MCPAN -e'install Text::WikiFormat'
 
+RTFM requires HTML::TreeBuilder and HTML::Format in addition to RT's
+standartd dependencies.  You can install it by executing the command:
+
+    perl -MCPAN -e'install HTML::TreeBuilder'
+    perl -MCPAN -e'install HTML::Format'
+
 
 Upgrade instructions (From an earlier 2.0.x release):
 -----------------------------------------------------

Modified: rtfm/trunk/html/RTFM/Article/Elements/Preformatted
==============================================================================
--- rtfm/trunk/html/RTFM/Article/Elements/Preformatted	(original)
+++ rtfm/trunk/html/RTFM/Article/Elements/Preformatted	Tue Mar 30 18:57:43 2004
@@ -28,18 +28,44 @@
 % if ($cf->Type eq 'TextSingle') {
 % my $value = $values->First; 
 % my $content = $value->Content;
+% if ($content =~ /<(.{1,5})>/) {
+%    $content = de_htmlify($content);
+% }
 <%$cf->Name%>:
 <%'-' x length($cf->Name) %>
 <%$content%>
 % } else {
 % my $val = $values->Next;
-<%$cf->Name%>: <%$val && $val->Content%>
+% my $content = $val->Content;
+% if ($content =~ /<(.{1,5})>/) {
+%    $content = de_htmlify($content);
+% }
+<%$cf->Name%>: <%$val && $content%>
 % while ($val = $values->Next) { 
 % my $content = $val->Content;
+% if ($content =~ /<(.{1,5})>/) {
+%    $content = de_htmlify($content);
+% }
 <%' ' x length($cf->Name)%>  <%$content%>
 % } 
 % }
 % }
+
+<%init>
+sub de_htmlify {
+    my $content = shift;
+    require HTML::TreeBuilder;
+    my $tree = HTML::TreeBuilder->new;
+    $tree->parse($content);
+    $tree->eof();
+
+    require HTML::FormatText;
+    my $formatter = HTML::FormatText->new(leftmargin => 0, rightmargin => 50);
+    $content = $formatter->format($tree);
+    return $content;
+}
+</%init>
+
 <%args>
 $Article
 </%args>



More information about the Rt-commit mailing list