about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2014-05-06 19:44:43 +0000
committerEric Wong <e@80x24.org>2014-05-07 01:35:30 +0000
commit98c3b0f53ffbdbf61cc25f6c3678090eaa54a799 (patch)
treed4876fea05c62a7de98478f5e0a58e40bd816006 /lib
parentfa243b4ed7c56b9e4ac5ef6745caf4d35e9b5b28 (diff)
downloadpublic-inbox-98c3b0f53ffbdbf61cc25f6c3678090eaa54a799.tar.gz
consistently whitespace wrap on <pre> sections
Horizontal scrolling is a usability problem for GUI browsers,
so help them avoid it.  I love GUI users, really! :)
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/Feed.pm5
-rw-r--r--lib/PublicInbox/View.pm7
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index e9989e41..0104a6ba 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -11,6 +11,7 @@ use PublicInbox::GitCatFile;
 use constant {
         DATEFMT => '%Y-%m-%dT%H:%M:%SZ', # atom standard
         MAX_PER_PAGE => 25, # this needs to be tunable
+        PRE_WRAP => '<pre style="white-space:pre-wrap">',
 };
 
 # main function
@@ -75,7 +76,7 @@ sub generate_html_index {
         my $html = "<html><head><title>$title</title>" .
                 '<link rel="alternate" title="Atom feed" href="' .
                 $feed_opts->{atomurl} . '" type="application/atom+xml"/>' .
-                '</head><body><pre>';
+                '</head><body>' . PRE_WRAP;
 
         # sort by date, most recent at top
         $th->order(sub {
@@ -91,7 +92,7 @@ sub generate_html_index {
         my $footer = nav_footer($args->{cgi}, $last, $feed_opts);
         my $list_footer = $args->{footer};
         $footer .= "\n" . $list_footer if ($footer && $list_footer);
-        $footer = "<hr /><pre>$footer</pre>" if $footer;
+        $footer = "<hr />" . PRE_WRAP . "$footer</pre>" if $footer;
         $html . "</pre>$footer</html>";
 }
 
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 86066311..8bc28cd1 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -12,6 +12,7 @@ use Email::MIME::ContentType qw/parse_content_type/;
 # TODO: make these constants tunable
 use constant MAX_INLINE_QUOTED => 5;
 use constant MAX_TRUNC_LEN => 72;
+use constant PRE_WRAP => '<pre style="white-space:pre-wrap">';
 
 *ascii_html = *PublicInbox::Hval::ascii_html;
 
@@ -28,7 +29,7 @@ sub msg_html {
         }
         headers_to_html_header($mime, $full_pfx) .
                 multipart_text_as_html($mime, $full_pfx) .
-                '</pre><hr /><pre>' .
+                '</pre><hr />' . PRE_WRAP .
                 html_footer($mime) . $footer .
                 '</pre></body></html>';
 }
@@ -36,7 +37,7 @@ sub msg_html {
 sub feed_entry {
         my ($class, $mime, $full_pfx) = @_;
 
-        '<pre>' . multipart_text_as_html($mime, $full_pfx) . '</pre>';
+        PRE_WRAP . multipart_text_as_html($mime, $full_pfx) . '</pre>';
 }
 
 
@@ -199,7 +200,7 @@ sub headers_to_html_header {
         $rv .= "\n";
 
         ("<html><head><title>".  join(' - ', @title) .
-         '</title></head><body><pre style="white-space:pre-wrap">' .  $rv);
+         '</title></head><body>' . PRE_WRAP . $rv);
 }
 
 sub html_footer {