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.
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.
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.
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.
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.
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.
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.
Unfortunately, this can lead to slightly confusing scenarios, because
the exact package of the displayed man page is not very well defined.
It's possible that, when browsing from a package listing to a man page,
you may see an included file that does not come from the package you
browsed from.
E.g. https://manned.org/pwrite/5f2909f6 - that man page simply includes
pread.2, but from the URL it's unclear from which package or system it
should be included.
The only way to fix this is to add the package ID to the link format.