diff options
author | Eric Wong <e@80x24.org> | 2014-09-13 21:50:31 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2014-09-13 22:00:32 +0000 |
commit | 6b770362ceb3dd9089de0cffb7716fb533d2709b (patch) | |
tree | fda7ef0652bfe1a6d22167459f71d55236671348 | |
parent | 627b9bd388d67d6532a7f2dba0603a602a412a07 (diff) | |
download | public-inbox-6b770362ceb3dd9089de0cffb7716fb533d2709b.tar.gz |
It's important to keep HTML source readable to folks who prefer to read raw HTML. This should improve readability of the HTML source by keeping line length in check without wasting bytes.
-rw-r--r-- | lib/PublicInbox/Feed.pm | 6 | ||||
-rw-r--r-- | lib/PublicInbox/View.pm | 14 | ||||
-rw-r--r-- | lib/PublicInbox/WWW.pm | 8 | ||||
-rw-r--r-- | t/plack.t | 2 | ||||
-rw-r--r-- | t/view.t | 8 |
5 files changed, 19 insertions, 19 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 350cc65e..339d9c20 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -12,7 +12,7 @@ use PublicInbox::View; 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">', + PRE_WRAP => "<pre\nstyle=\"white-space:pre-wrap\">", }; # main function @@ -73,8 +73,8 @@ sub generate_html_index { my $th = PublicInbox::Thread->new(@messages); $th->thread; my $html = "<html><head><title>$title</title>" . - '<link rel="alternate" title="Atom feed" href="' . - $feed_opts->{atomurl} . '" type="application/atom+xml"/>' . + '<link rel="alternate" title="Atom feed"' . "\nhref=\"" . + $feed_opts->{atomurl} . "\"\ntype=\"application/atom+xml\"/>" . '</head><body>' . PRE_WRAP; # sort child messages in chronological order diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 262e72e9..14133d55 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -13,7 +13,7 @@ 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 => '<pre style="white-space:pre-wrap">'; +use constant PRE_WRAP => "<pre\nstyle=\"white-space:pre-wrap\">"; *ascii_html = *PublicInbox::Hval::ascii_html; @@ -74,7 +74,7 @@ sub index_entry { } $ts = POSIX::strftime($fmt, gmtime($ts)); - $rv .= "$pfx<a name=\"$name\"><b>$subj</b> $from - $ts</a>\n\n"; + $rv .= "$pfx<a\nname=\"$name\"><b>$subj</b> $from - $ts</a>\n\n"; my $irp = $header_obj->header_raw('In-Reply-To'); my ($anchor_idx, $anchor); @@ -217,7 +217,7 @@ sub add_text_body_short { } } while (@sum && length($cur) < MAX_TRUNC_LEN); $cur =~ s/ \z/ .../; - "> <<a href=\"${full_pfx}#q${part_nr}_" . $n++ . + "> <<a\nhref=\"${full_pfx}#q${part_nr}_" . $n++ . "\">$cur<\/a>>\n"; } else { $cur; @@ -234,7 +234,7 @@ sub add_text_body_full { my $cur = $1; my @lines = split(/\n/, $cur); if (@lines > MAX_INLINE_QUOTED) { - "<a name=q${part_nr}_" . $n++ . ">$cur</a>"; + "<a\nname=q${part_nr}_" . $n++ . ">$cur</a>"; } else { $cur; } @@ -272,7 +272,7 @@ sub headers_to_html_header { $rv .= 'Message-ID: <' . $mid->as_html . '> '; my $href = $mid->as_href; $href = "../m/$href" unless $full_pfx; - $rv .= "(<a href=\"$href.txt\">original</a>)\n"; + $rv .= "(<a\nhref=\"$href.txt\">original</a>)\n"; } my $irp = $header_obj->header_raw('In-Reply-To'); @@ -281,7 +281,7 @@ sub headers_to_html_header { my $html = $v->as_html; my $href = $v->as_href; $rv .= "In-Reply-To: <"; - $rv .= "<a href=\"$href.html\">$html</a>>\n"; + $rv .= "<a\nhref=\"$href.html\">$html</a>>\n"; } my $refs = $header_obj->header_raw('References'); @@ -336,7 +336,7 @@ sub linkify_refs { my $v = PublicInbox::Hval->new_msgid($_); my $html = $v->as_html; my $href = $v->as_href; - "<<a href=\"$href.html\">$html</a>>"; + "<<a\nhref=\"$href.html\">$html</a>>"; } @_); } diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 2d8f2afc..f67e72ce 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -252,10 +252,10 @@ sub footer { if ($nurls == 0) { $urls = '($GIT_DIR/cloneurl missing)'; } elsif ($nurls == 1) { - $urls = 'git URL for <a href="' . SSOMA_URL . + $urls = "git URL for <a\nhref=\"" . SSOMA_URL . '">ssoma</a>: ' . $urls[0]; } else { - $urls = 'git URLs for <a href="' . SSOMA_URL . + $urls = "git URLs for <a\nhref=\"" . SSOMA_URL . "\">ssoma</a>:\n" . join("\n", map { "\t$_" } @urls); } @@ -264,11 +264,11 @@ sub footer { $addr = $addr->[0]; # first address is primary } - $addr = "<a href=\"mailto:$addr\">$addr</a>"; + $addr = "<a\nhref=\"mailto:$addr\">$addr</a>"; $desc = $desc; join("\n", '- ' . $desc, - 'A <a href="' . PI_URL . '">public-inbox</a>, ' . + "A <a\nhref=\"" . PI_URL . '">public-inbox</a>, ' . 'anybody may post in plain-text (not HTML):', $addr, $urls @@ -98,7 +98,7 @@ EOF my $res = $cb->(GET($pfx . '/atom.xml')); is(200, $res->code, 'success response received for atom'); like($res->content, - qr!link href="\Q$pfx\E/m/blah%40example\.com\.html"!, + qr!link\s+href="\Q$pfx\E/m/blah%40example\.com\.html"!s, 'atom feed generated correct URL'); }); } @@ -44,19 +44,19 @@ EOF my $html = PublicInbox::View->msg_html($s); # ghetto tests - like($html, qr!<a href="\.\./m/hello%40!s, "MID link present"); + like($html, qr!<a\nhref="\.\./m/hello%40!s, "MID link present"); like($html, qr/hello world\b/, "body present"); like($html, qr/> keep this inline/, "short quoted text is inline"); - like($html, qr/<a name=[^>]+>> Long and wordy/, + like($html, qr/<a\nname=[^>]+>> Long and wordy/, "long quoted text is anchored"); # short page my $pfx = "http://example.com/test/f"; my $short = PublicInbox::View->msg_html($s, $pfx); - like($short, qr!<a href="hello%40!s, "MID link present"); + like($short, qr!<a\nhref="hello%40!s, "MID link present"); like($short, qr/\n> keep this inline/, "short quoted text is inline"); - like($short, qr/<a href="\Q$pfx\E#[^>]+>Long and wordy/, + like($short, qr/<a\nhref="\Q$pfx\E#[^>]+>Long and wordy/, "long quoted text is made into a link"); ok(length($short) < length($html), "short page is shorter"); } |