]> Sergey Matveev's repositories - zk.git/commitdiff
Fixed /index pages linking
authorSergey Matveev <stargrave@stargrave.org>
Thu, 8 May 2025 13:02:59 +0000 (16:02 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 8 May 2025 15:05:15 +0000 (18:05 +0300)
zk

diff --git a/zk b/zk
index 7aa7a3a2b626ebedf89b8fd51a4138a1965b108c..45801f44addc67ab439ee944a6d420023d1af9f6 100755 (executable)
--- a/zk
+++ b/zk
@@ -162,6 +162,12 @@ my %cats;
     find(\%opts, ".");
 }
 
+sub indexless {
+    $_ = shift;
+    /(.*\/)index$/;
+    return (defined $1) ? $1 : $_;
+}
+
 my %links;
 my %backs;
 for my $pth (keys %mtimes) {
@@ -183,7 +189,7 @@ for my $pth (keys %mtimes) {
     close $fh;
     my @ws = sort keys %found;
     next if $#ws == -1;
-    $links{$pth} = \@ws;
+    $links{indexless $pth} = \@ws;
     foreach (@ws) {
         if (not exists $backs{$_}) {
             my %h;
@@ -217,7 +223,7 @@ use File::Basename;
 sub genHTML {
     my $out = shift;
     my $page = shift;
-    my @lnks = exists $links{$page} ? @{$links{$page}} : ();
+    my @lnks = exists $links{indexless $page} ? @{$links{indexless $page}} : ();
     my @rels;
     {
         my $rel;
@@ -233,7 +239,7 @@ sub genHTML {
             push @rels, $rel;
         }
     }
-    startHead $out, $page;
+    startHead $out, indexless $page;
     {
         my $fn = basename $page;
         print $out "<link rel=\"alternate\" type=\"text/plain\" title=\"src\" href=\"$fn.txt\" />\n";
@@ -293,7 +299,7 @@ sub genHTML {
         }
         print $out "</table>\n";
     }
-    @lnks = sort keys %{$backs{$page}};
+    @lnks = sort keys %{$backs{indexless $page}};
     if ($doBacksForced or ($doBacks and $#lnks != -1)) {
         print $out "<a id=\"backs\"></a><table border=1><caption>Backlinks</caption>\n";
         my $rel;