George Baugh 2 жил өмнө
parent
commit
39babfbc26

+ 8 - 2
lib/Trog/DataModule.pm

@@ -143,8 +143,14 @@ sub filter ( $self, $query, @filtered ) {
 
 
     #Filter out posts which are too old
     #Filter out posts which are too old
     #Coerce older into numeric
     #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
     # Filter posts not matching the passed tag(s), if any
     @filtered = grep {
     @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};
     my $older = !@posts ? 0 : $posts[-1]->{created};
     $query->{failure} //= -1;
     $query->{failure} //= -1;
     $query->{id}      //= '';
     $query->{id}      //= '';
+    my $newer = !@posts ? 0 : $posts[0]->{created};
 
 
     #XXX messed up data has to be fixed unfortunately
     #XXX messed up data has to be fixed unfortunately
     @$tags = List::Util::uniq @$tags;
     @$tags = List::Util::uniq @$tags;
@@ -1031,6 +1032,7 @@ sub posts ( $query, $direct = 0 ) {
             limit             => $limit,
             limit             => $limit,
             pages             => scalar(@posts) == $limit,
             pages             => scalar(@posts) == $limit,
             older             => $older,
             older             => $older,
+            newer             => $newer,
             sizes             => [ 25, 50, 100 ],
             sizes             => [ 25, 50, 100 ],
             rss               => !$query->{id} && !$query->{older},
             rss               => !$query->{id} && !$query->{older},
             tiled             => $tiled,
             tiled             => $tiled,
@@ -1067,6 +1069,7 @@ sub _themed_title ($path) {
 sub _post_helper ( $query, $tags, $acls ) {
 sub _post_helper ( $query, $tags, $acls ) {
     return $data->get(
     return $data->get(
         older        => $query->{older},
         older        => $query->{older},
+        newer        => $query->{newer},
         page         => int( $query->{page}  || 1 ),
         page         => int( $query->{page}  || 1 ),
         limit        => int( $query->{limit} || 25 ),
         limit        => int( $query->{limit} || 25 ),
         tags         => $tags,
         tags         => $tags,
@@ -1417,7 +1420,6 @@ sub _themed_template ($resource) {
 sub finish_render ( $template, $vars, %headers ) {
 sub finish_render ( $template, $vars, %headers ) {
 
 
     #XXX default vars that need to be pulled from config
     #XXX default vars that need to be pulled from config
-    $vars->{dir}         //= 'ltr';
     $vars->{lang}        //= 'en-US';
     $vars->{lang}        //= 'en-US';
     $vars->{title}       //= 'tCMS';
     $vars->{title}       //= 'tCMS';
     $vars->{stylesheets} //= [];
     $vars->{stylesheets} //= [];

+ 4 - 1
www/templates/header.tx

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

+ 3 - 2
www/templates/paginator.tx

@@ -3,11 +3,12 @@
 : } else {
 : } else {
 <div id="paginator" class="disabled">
 <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:left; margin-top:.5rem;"> <: $limit :> most recent posts older than <span id="paginatorTime"><: $older :></span></div>
     : }
     : }
     <div style="float:right;">
     <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:
         Size:
         <form style="display:inline;">
         <form style="display:inline;">
             : if ( $older ) {
             : if ( $older ) {