about summary refs log tree commit homepage
path: root/lib/PublicInbox/Feed.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-06-17 19:26:45 +0000
committerEric Wong <e@80x24.org>2016-06-17 23:50:24 +0000
commitaab9613eb8f335c1cfeaec37c0794656a3cbcfee (patch)
tree8a30e1e2df7702f54a48d4f4ba1210146d10bdb9 /lib/PublicInbox/Feed.pm
parent90f12caa6c481c169cf3b6b1261856b013a8fdc8 (diff)
downloadpublic-inbox-aab9613eb8f335c1cfeaec37c0794656a3cbcfee.tar.gz
This will eventually allow us to reuse code to generate a common
header.
Diffstat (limited to 'lib/PublicInbox/Feed.pm')
-rw-r--r--lib/PublicInbox/Feed.pm36
1 files changed, 20 insertions, 16 deletions
diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm
index 07774cbf..045e495f 100644
--- a/lib/PublicInbox/Feed.pm
+++ b/lib/PublicInbox/Feed.pm
@@ -109,20 +109,11 @@ sub emit_atom_thread {
         end_feed($fh);
 }
 
-sub emit_html_index {
-        my ($res, $ctx) = @_;
-        my $feed_opts = get_feedopts($ctx);
-        my $fh = $res->([200,['Content-Type'=>'text/html; charset=UTF-8']]);
-
-        my $max = $ctx->{max} || MAX_PER_PAGE;
+sub _html_index_top {
+        my ($feed_opts, $srch) = @_;
 
         my $title = ascii_html($feed_opts->{description} || '');
-        my ($footer, $param, $last);
-        my $state = { ctx => $ctx, seen => {}, anchor_idx => 0, fh => $fh };
-        my $srch = $ctx->{srch};
-
         my $top = "<b>$title</b> (<a\nhref=\"new.atom\">Atom feed</a>)";
-
         if ($srch) {
                 $top = qq{<form\naction=""><pre>$top} .
                           qq{ <input\nname=q\ntype=text />} .
@@ -132,11 +123,24 @@ sub emit_html_index {
                 $top = '<pre>' . $top . "\n";
         }
 
-        $fh->write("<html><head><title>$title</title>" .
-                   "<link\nrel=alternate\ntitle=\"Atom feed\"\n".
-                   "href=\"new.atom\"\ntype=\"application/atom+xml\"/>" .
-                   PublicInbox::Hval::STYLE .
-                   "</head><body>$top");
+        "<html><head><title>$title</title>" .
+                "<link\nrel=alternate\ntitle=\"Atom feed\"\n".
+                "href=\"new.atom\"\ntype=\"application/atom+xml\"/>" .
+                PublicInbox::Hval::STYLE .
+                "</head><body>$top";
+}
+
+sub emit_html_index {
+        my ($res, $ctx) = @_;
+        my $feed_opts = get_feedopts($ctx);
+        my $fh = $res->([200,['Content-Type'=>'text/html; charset=UTF-8']]);
+
+        my $max = $ctx->{max} || MAX_PER_PAGE;
+
+        my ($footer, $param, $last);
+        my $state = { ctx => $ctx, seen => {}, anchor_idx => 0, fh => $fh };
+        my $srch = $ctx->{srch};
+        $fh->write(_html_index_top($feed_opts, $srch));
 
         # if the 'r' query parameter is given, it is a legacy permalink
         # which we must continue supporting: