X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FView.pm;h=867ed6fab2e33508ed7f8380251e45025441d95b;hb=3cda6050b7c8f73e7fd86f88efc5cd42d0c13f73;hp=beb99895db76ef9da62e62df11643ae7aee08ef9;hpb=9d39eb9bd16f3f2d81785b14e94f10e105f497d7;p=public-inbox.git diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index beb99895..867ed6fa 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -1,5 +1,8 @@ # Copyright (C) 2014-2015 all contributors # License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) +# +# Used for displaying the HTML web interface. +# See Documentation/design_www.txt for this. package PublicInbox::View; use strict; use warnings; @@ -9,16 +12,13 @@ use Encode qw/find_encoding/; use Encode::MIME::Header; use Email::MIME::ContentType qw/parse_content_type/; use PublicInbox::Hval; -use PublicInbox::MID qw/mid_clean id_compress mid2path/; -use Digest::SHA qw/sha1_hex/; -my $SALT = rand; -my $MBOX_TITLE = 'title="download thread as gzipped mbox"'; +use PublicInbox::Linkify; +use PublicInbox::MID qw/mid_clean id_compress mid2path mid_mime/; require POSIX; # TODO: make these constants tunable use constant MAX_INLINE_QUOTED => 12; # half an 80x24 terminal use constant MAX_TRUNC_LEN => 72; -use constant PRE_WRAP => "
"; use constant T_ANCHOR => '#u'; use constant INDENT => ' '; @@ -34,27 +34,69 @@ sub msg_html { } else { $footer = ''; } - headers_to_html_header($mime, $full_pfx, $ctx) . + my $hdr = $mime->header_obj; + headers_to_html_header($hdr, $full_pfx, $ctx) . multipart_text_as_html($mime, $full_pfx) . - '
' . + html_footer($hdr, 1, $full_pfx, $ctx) . $footer . '