+* configurable constants (quote folding, index limits)
+* use tags as date-based skiplists for navigating history
+* per-message views should be able to quickly navigate do replies.
+ (n.b.: this is SMTP, we must account for out-of-order delivery)
+* NNTP server (is there demand for one?)
use PublicInbox::Hval;
use PublicInbox::GitCatFile;
use constant {
- DATEFMT => '%Y-%m-%dT%H:%M:%SZ',
- MAX_PER_PAGE => 25,
+ DATEFMT => '%Y-%m-%dT%H:%M:%SZ', # atom standard
+ MAX_PER_PAGE => 25, # this needs to be tunable
};
# main function
use Email::Address;
use Encode qw/decode/;
use Date::Parse qw(strptime);
-use constant MAX_SIZE => 1024 * 500; # same as spamc default
+use constant MAX_SIZE => 1024 * 500; # same as spamc default, should be tunable
use constant cmd => qw/ssoma-mda -1/;
# drop plus addressing for matching
use Encode qw/find_encoding/;
use Encode::MIME::Header;
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;
+
*ascii_html = *PublicInbox::Hval::ascii_html;
my $enc_utf8 = find_encoding('UTF-8');
my ($enc, $part, $part_nr, $full_pfx) = @_;
my $n = 0;
my $s = ascii_html($enc->decode($part->body));
+ # TODO: fold the "so-and-so wrote:" attribute line here, too:
$s =~ s!^((?:(?:>[^\n]*)\n)+)!
my $cur = $1;
my @lines = split(/\n/, $cur);