diff options
-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"); } |