diff --git a/util/debian.sh b/util/debian.sh index 4a43a11..fa12316 100755 --- a/util/debian.sh +++ b/util/debian.sh @@ -71,6 +71,9 @@ case "$1" in index_deb debian-bookworm $CMIRROR bookworm "main contrib non-free" cmp amd64 #index_deb debian-bookworm $CMIRROR bookworm-updates "main contrib non-free" cmp amd64 ;; + trixie) + index_deb debian-trixie $CMIRROR trixie "main contrib non-free" cmp amd64 + ;; old) $0 buzz $0 rex @@ -91,6 +94,7 @@ case "$1" in $0 buster $0 bullseye $0 bookworm + $0 trixie ;; all) $0 old diff --git a/util/fedora.sh b/util/fedora.sh index 9c3cdbe..1d7df15 100755 --- a/util/fedora.sh +++ b/util/fedora.sh @@ -145,6 +145,10 @@ case "$1" in index rpm --sys fedora-38 --cat everything --mirror "${CMIRROR}releases/38/Everything/x86_64/os/" index rpm --sys fedora-38 --cat everything --mirror "${CMIRROR}updates/38/Everything/x86_64/" ;; + 39) + index rpm --sys fedora-39 --cat everything --mirror "${CMIRROR}releases/39/Everything/x86_64/os/" + index rpm --sys fedora-39 --cat everything --mirror "${CMIRROR}updates/39/Everything/x86_64/" + ;; old) $0 1 $0 2 @@ -186,6 +190,7 @@ case "$1" in current) $0 37 $0 38 + $0 39 ;; all) $0 old diff --git a/util/freebsd.sh b/util/freebsd.sh index 73fe015..78de14b 100755 --- a/util/freebsd.sh +++ b/util/freebsd.sh @@ -643,6 +643,12 @@ case $1 in index_core freebsd-13.2 "${MIR}base.txz" core-base 2023-04-11 index freebsd2 --sys freebsd-13.2 --mirror "$PKG" ;; + 14.0) + MIR="${CMIRROR}amd64/14.0-RELEASE/" + PKG="${PMIRROR}FreeBSD:14:amd64/release_0/" + index_core freebsd-14.0 "${MIR}base.txz" core-base 2023-11-20 + index freebsd2 --sys freebsd-14.0 --mirror "$PKG" + ;; old) $0 1.0 $0 2.0.5 @@ -718,5 +724,6 @@ case $1 in $0 13.0 $0 13.1 $0 13.2 + $0 14.0 ;; esac diff --git a/util/ubuntu.sh b/util/ubuntu.sh index 36c2c94..0a7ba6f 100755 --- a/util/ubuntu.sh +++ b/util/ubuntu.sh @@ -140,6 +140,9 @@ case $1 in lunar) stdrepo lunar $CMIRROR amd64 ;; + mantic) + stdrepo mantic $CMIRROR amd64 + ;; old) $0 warty $0 hoary @@ -174,12 +177,14 @@ case $1 in $0 groovy $0 hirsute $0 impish + $0 kinetic ;; current) $0 bionic # until 2028-04 $0 focal # until 2030-04 $0 jammy # until 2032-04 - $0 kinetic # until 2023-07 + $0 lunar # until 2024-01 + $0 mantic # until 2024-07 ;; all) $0 old diff --git a/www/index.pl b/www/index.pl index 8219bd9..ebb0a35 100755 --- a/www/index.pl +++ b/www/index.pl @@ -763,7 +763,7 @@ sub man_nav_ { ul_ sub { for (0..$#$toc) { li_ sub { - a_ @$htmllang, href => sprintf('#head%d', $_+1), lc $toc->[$_]; + a_ @$htmllang, href => sprintf('#head%d', $_+1), sub { lit_ lc $toc->[$_] }; } } } @@ -818,7 +818,7 @@ sub man_page { } my @toc; - $fmt =~ s{\n(.+?)<\/b>\n}{ + $fmt =~ s{\n([^<\n]+?)<\/b>\n}{ push @toc, $1; my $c = @toc; qq{\n$1\n} @@ -1079,11 +1079,11 @@ TUWF::get qr{/lang/([^/]+)/([^/]+)} => sub { tuwf->resRedirect('/man.'.tuwf->cap TUWF::get '/json/tree.json' => sub { my $f = tuwf->validate(get => - name => { required => 0, maxlength => 256 }, - section => { required => 0, maxlength => 32 }, - locale => { required => 0, maxlength => 32 }, - cur => { required => 0, default => '', regex => qr/^[a-fA-F0-9]{40}$/ }, - hash => { required => 0, default => '', regex => qr/^[a-fA-F0-9]{40}$/ }, + name => { default => '', maxlength => 256 }, + section => { default => '', maxlength => 32 }, + locale => { default => sub{$_[0]}, maxlength => 32 }, + cur => { default => '', regex => qr/^[a-fA-F0-9]{40}$/ }, + hash => { default => '', regex => qr/^[a-fA-F0-9]{40}$/ }, )->data; return tuwf->resNotFound() if !$f->{hash} && !($f->{section} && $f->{name});