Commit graph

276 commits

Author SHA1 Message Date
Yorhel
e77775246c Repo updates 2023-05-27 06:48:19 +02:00
Yorhel
f5b35efdc3 www: Prefer <name>.<section> pages over <name> 2023-05-26 12:22:47 +02:00
Yorhel
7302a6408a indexer: Skip some more non-manpage files 2023-05-26 12:16:22 +02:00
Yorhel
962ded97f5 Fix a shorthash encoding confusion 2023-04-30 09:01:38 +02:00
Yorhel
81c9ec53ff Bunch of repo updates 2022-12-17 13:06:42 +01:00
Yorhel
47d86c06fd Add FreeBSD 12.3 & 13.1 2022-07-26 21:23:06 +02:00
Yorhel
ea1531fcc3 Fix recognizing the default (empty) locale as English
This fixes selecting the right man page for 'mount', which would
otherwise grab a version from an old distro that happened to have it
with an explicit 'en' locale.
2022-07-26 15:06:06 +02:00
Yorhel
33efd07715 Fix the "prefer lower sections" man page selection rule 2022-07-26 14:58:29 +02:00
Yorhel
775eabfb7e Some repo updates
Haven't done this in a while, was lagging behind quite a bit.
FreeBSD also has two new versions that need to be indexed, will add
those later.
2022-07-26 07:25:38 +02:00
Yorhel
fa8e084879 Bunch of fixes 2022-01-10 20:05:09 +01:00
Yorhel
997dd8728c www: Add some new flexible URL formats
New canonical permalink format is now:

  /man.<hash>/<system>/<name>.<section>

Including the system name makes for more predictable navigation between
man pages of the same system.

This new URL format also fixes a problem with not being able to browse
from a package's page to the correct page when the package has multiple
versions of the same man.

This is also yak shaving for some new navigation and formatting features
I have planned.
2021-12-19 17:38:14 +01:00
Yorhel
46b4a5f7e0 Change contact email
contact@manned.org works fine, too, except I don't have outgoing mail
setup to go through an smtp proxy so I can't reply to Outlook and gmail
(and a few others). Seriously, fuck providers who can't see the
difference between spam messages and human replies to legitimate mails.
2021-12-17 10:17:09 +01:00
Yorhel
b39d038811 html: Apply appropriate "lang" attributes
Primarily so that browsers can choose the correct font for CJK pages.
2021-12-16 16:26:00 +01:00
Yorhel
f57c474932 Fixup: remove experimental shorthash URL format 2021-12-16 13:51:10 +01:00
Yorhel
d19c56f285 Correctly handle a few more mis-identified locales 2021-12-16 13:44:39 +01:00
Yorhel
c6f53fb0fb Add system selector to man pages + other stuff
The /man/* URLs now directly open man pages rather than redirecting to
the permalink format, so that the extra source information can be used
to provide a better UI for switching between systems and packages
(currently only between systems).

Step one in getting rid of the JS location/version selection thingies.
Still quite a bit more to do, but I haven't worked it all out yet.
2021-12-16 13:12:14 +01:00
Yorhel
5194ed95cf A few more about page tweaks 2021-12-15 09:52:07 +01:00
Yorhel
2d1dca24e5 Update about page with new license 2021-12-14 15:56:33 +01:00
Yorhel
f376f1f137 Large-ish SQL schema revamp/optimizations
Primarily aimed at reducing the size of the old 'man' (now: files)
table, using smaller integers to refer to man contents and text fields,
and storing a shorthash as an integer for quick lookups. This better
normalization also removes the need to keep a separate 'man_index' cache
for the search function.

The old schema wasn't necessarily bad, but I was in the mood for some
optimizations. And a little cleanup.

Prolly introduces a bunch of new bugs, I haven't tested this too well.
2021-12-14 15:08:54 +01:00
Yorhel
6f7f59c6df Fix homepage reflow while images are loading
Apparently setting the image sizes in CSS wasn't enough, it was still
reflowing in Firefox.
2021-12-14 11:40:14 +01:00
Yorhel
7648603685 Recognize .zst-compressed man pages + fix SQL basename_from_filename() to recognize .xz
Also greatly simplified basename_from_filename() because apparently I
couldn't write regexes back then.

(And the removed REFERENCES line is to sync schema.sql with the actual
state of the DB, which doesn't have that constraint for some reason.
I'll prolly fix that later)
2021-12-13 18:16:16 +01:00
Yorhel
d8b60a251a Switch to AGPL license
Not that I have anything against the MIT license nowadays, nor do I mind
of companies use my software without paying and all that stuff, but this
switch is because I *do* like the AGPL license more for networked
software like this, especially when getting-everyone-and-their-pet to
run the code is not really a goal.

Of course, previous commits are still available under MIT.
2021-12-13 17:56:29 +01:00
Yorhel
b27d55215a Arch: Mark deleted packages as dead and hide them from listings
We've got a lot of packages in the DB that have long been removed from
the Arch repos. These are still indexed, but won't clutter the package
listing anymore.

Also fixed an issue with packages.id numbers getting rather large
because the indexer allocates a new ID for every package on every
update.
2021-12-13 08:18:17 +01:00
Yorhel
f3323de5e4 churn: Remove systems.relorder column + misc cleanup 2021-12-13 06:56:22 +01:00
Yorhel
3db1283a16 Change to more minimalistic website design + few HTML modernizations
I didn't touch the actual man page pages yet, but they seem to have
mostly survived my CSS changes. There's a LOT of general UI improvements
to be done, while this commit is really just a different style of paint.
2021-12-12 17:29:26 +01:00
Yorhel
b531f71ab0 Index available Alpine Linux repositories 2021-12-11 18:08:46 +01:00
Yorhel
82a626b7d4 indexer+www: Support Alpine Linux repos 2021-12-11 16:18:07 +01:00
Yorhel
c9e81a8922 indexer: More crate updates + warning fixes + 2018 edition 2021-12-11 14:56:22 +01:00
Yorhel
c48feedc85 indexer: Switch to ureq + debloat stuff a bit
And stop using the "url" crate directly, its API is too unstable for it
to be worth using.

...that applies to several other crates as well, but meh.
2021-12-11 12:26:57 +01:00
Yorhel
4588e67b64 Make the Rust garbage compile again 2021-12-11 11:53:26 +01:00
Yorhel
b8dca570a0 Add CentOS 8.5
It's still supported? I thought they dropped it early in favor of CentOS
Stream or something.
2021-12-11 11:49:36 +01:00
Yorhel
f6a8d5c134 Add Ubuntu 21.10 2021-10-17 09:56:28 +02:00
Yorhel
29a6f784f5 wwww: Fix escape_like() to also escape backslash 2021-10-12 13:53:01 +02:00
Yorhel
e69850d100 CentOS 8.4 2021-09-15 10:39:49 +02:00
Yorhel
67b703636b Some repo updates + Debian bookworm 2021-08-17 11:29:41 +02:00
Yorhel
d0896806c1 Add Debian testing + prefer that instead of Ubuntu 2021-06-10 09:33:32 +02:00
Yorhel
a96aeb6310 Fix /man/* redirects
Forgot to update these functions in the rewrite.
2021-06-09 16:56:43 +02:00
Yorhel
98e4f014ba Rewrite Perl web backend to modern TUWF style
Lots of churn for no real benefit. \o/
2021-06-09 13:43:42 +02:00
Yorhel
1572f6cedf Add Fedora 34 2021-04-29 07:06:27 +02:00
Yorhel
61965f23f6 Add Ubuntu 21.04 + stop syncing a few old distros 2021-04-23 11:48:59 +02:00
Yorhel
c7f85a5685 Workaround issue with spawning child processes in TUWF debug mode
I had applied the same workaround to VNDB's code some time ago. Really
need to figure out why this happens...
2021-04-19 07:45:15 +02:00
Yorhel
212fc725ba Update man page selection algortihm to bias Ubuntu
Should really be Debian, but we only index Debian stable at the moment
and it tends to lag behind Ubuntu a bit. This extra bias is intended to
solve (part of) the issue with distro-specific tooling like 'ifup'.

This really should be updated to have a generic preference order for all
distros, but that's not as easy to implement.

Fixes #1.
2021-04-19 07:39:27 +02:00
Yorhel
89fc82f391 Handle version-indepentend distro man-page redirects
E.g. /man/debian/ncdu
As proposed in issue #1.
2021-04-19 07:26:04 +02:00
Yorhel
12f88c0b6f Add FreeBSD 12.2 & 13.0 2021-04-17 19:52:04 +02:00
Yorhel
7b791561aa Add CentOS 7.9 & 8.3
Just lazy maintenance. I need to figure out what to do with CentOS now
that they've switched to a different release model.
2021-04-17 11:13:25 +02:00
Yorhel
92bc63bbde Typo fix on about page 2021-04-17 10:20:08 +02:00
Yorhel
4093dc1911 Fix external link to Arch man pages site 2021-04-14 09:01:06 +02:00
Yorhel
fb3f1f8af4 Add Fedora 33
Had to switch to a different mirror as the previous one hadn't synced
yet.
2020-10-28 07:42:22 +01:00
Yorhel
648dbe025f Add Ubuntu 20.10 2020-10-23 11:15:37 +02:00
Yorhel
91b43d220b Fix attempts to resolve man pages without name
A bot triggered 'GET /.env', resulting in a lookup on section='env' but
no name. Slow and useless...
2020-10-16 12:49:49 +02:00