Add older versions of man pages + misc site improvements

This commit is contained in:
Yorhel 2024-07-21 12:07:15 +02:00
parent 2196b2fbd4
commit 436c5b5294
9 changed files with 192 additions and 23 deletions

36
docversions.pl Executable file
View file

@ -0,0 +1,36 @@
#!/usr/bin/perl
# Adds version links to doc pages, assumption:
#
# /project/doc <- latest version
# /project/doc/$x <- older versions, $x must start with a digit and '_' is replaced with a '.' for display.
#
use v5.36;
my $VER = qr{[0-9][^/]*};
my $cur = shift;
my $base = $cur =~ s{/$VER$}{}r;
my %pages = map +($_ =~ s{^pub/}{}r =~ s{\.html$}{}r,1), @ARGV;
my $links = '';
sub num($s) { $s =~ s/([0-9]+)/sprintf '%05d', $1/erg }
my @ver =
sort { num($b) cmp num($a) }
grep m{^(.+)/($VER)$} && $1 eq $base, keys %pages;
sub lnk($ver) {
my $v = $ver eq $base ? 'latest' : $ver =~ s{^.+/($VER)$}{$1}r =~ s/_/./rg;
$cur eq $ver ? "**$v**" : "[$v](/$ver)";
}
$links = 'Version: '.join(' / ', map lnk($_), $base, @ver)."\n\n" if @ver;
my $firstsec = 1;
while(<STDIN>) {
if ($firstsec && /^#/) {
$firstsec = 0;
print $links;
}
print;
};