George Baugh 2 سال پیش
والد
کامیت
39babfbc26
4فایلهای تغییر یافته به همراه18 افزوده شده و 6 حذف شده
  1. 8 2
      lib/Trog/DataModule.pm
  2. 3 1
      lib/Trog/Routes/HTML.pm
  3. 4 1
      www/templates/header.tx
  4. 3 2
      www/templates/paginator.tx

+ 8 - 2
lib/Trog/DataModule.pm

@@ -143,8 +143,14 @@ sub filter ( $self, $query, @filtered ) {
 
     #Filter out posts which are too old
     #Coerce older into numeric
-    $query->{older} =~ s/[^0-9]//g                                 if $query->{older};
-    @filtered = grep { $_->{created} < $query->{older} } @filtered if $query->{older};
+    if ($query->{older}) {
+        $query->{older} =~ s/[^0-9]//g;
+        @filtered = grep { $_->{created} < $query->{older} } @filtered;
+    }
+    if ($query->{newer}) {
+        $query->{newer} =~ s/[^0-9]//g;
+        @filtered = grep { $_->{created} > $query->{newer} } @filtered;
+    }
 
     # Filter posts not matching the passed tag(s), if any
     @filtered = grep {

+ 3 - 1
lib/Trog/Routes/HTML.pm

@@ -961,6 +961,7 @@ sub posts ( $query, $direct = 0 ) {
     my $older = !@posts ? 0 : $posts[-1]->{created};
     $query->{failure} //= -1;
     $query->{id}      //= '';
+    my $newer = !@posts ? 0 : $posts[0]->{created};
 
     #XXX messed up data has to be fixed unfortunately
     @$tags = List::Util::uniq @$tags;
@@ -1031,6 +1032,7 @@ sub posts ( $query, $direct = 0 ) {
             limit             => $limit,
             pages             => scalar(@posts) == $limit,
             older             => $older,
+            newer             => $newer,
             sizes             => [ 25, 50, 100 ],
             rss               => !$query->{id} && !$query->{older},
             tiled             => $tiled,
@@ -1067,6 +1069,7 @@ sub _themed_title ($path) {
 sub _post_helper ( $query, $tags, $acls ) {
     return $data->get(
         older        => $query->{older},
+        newer        => $query->{newer},
         page         => int( $query->{page}  || 1 ),
         limit        => int( $query->{limit} || 25 ),
         tags         => $tags,
@@ -1417,7 +1420,6 @@ sub _themed_template ($resource) {
 sub finish_render ( $template, $vars, %headers ) {
 
     #XXX default vars that need to be pulled from config
-    $vars->{dir}         //= 'ltr';
     $vars->{lang}        //= 'en-US';
     $vars->{title}       //= 'tCMS';
     $vars->{stylesheets} //= [];

+ 4 - 1
www/templates/header.tx

@@ -1,5 +1,5 @@
 <!doctype html>
-<html dir="<: $dir :>" lang="<: $lang :>">
+<html dir="auto" lang="<: $lang :>">
     <head>
         <title><: $title :></title>
         <meta charset="utf-8" />
@@ -26,9 +26,12 @@
         : }
 
         <meta name="viewport" content="width=device-width">
+        <link rel="preload" type="text/css" href="/styles/structure.css" as="style" />
         <link rel="stylesheet" type="text/css" href="/styles/structure.css" />
         <link rel="stylesheet" type="text/css" href="/styles/screen.css" media="screen" />
         <link rel="stylesheet" type="text/css" href="/styles/print.css" media="print" />
+        <!-- For highlight.js !-->
+        <link rel="preload" type="text/css" href="/styles/obsidian.min.css" as="style" />
         <link rel="stylesheet" type="text/css" href="/styles/obsidian.min.css" />
         : if ($embed) {
         <base target="_blank" />

+ 3 - 2
www/templates/paginator.tx

@@ -3,11 +3,12 @@
 : } else {
 <div id="paginator" class="disabled">
 : }
-    : if ( $older ) {
+    : if ( $older || $newer ) {
     <div style="float:left; margin-top:.5rem;"> <: $limit :> most recent posts older than <span id="paginatorTime"><: $older :></span></div>
     : }
     <div style="float:right;">
-        <a href="?older=<: $older :>&limit=<: $limit :><: if( $like )  { "&like=" ~ $like } :>">Prev</a>
+        <a rel="prev" href="?older=<: $older :>&limit=<: $limit :><: if( $like ) { "&like=" ~ $like } :>">Prev</a>
+        <a rel="next" href="?newer=<: $newer :>&limit=<: $limit :><: if( $like ) { "&like=" ~ $like } :>">Next</a>
         Size:
         <form style="display:inline;">
             : if ( $older ) {