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.
This is where the old nav menu used to be. This involved shrinking the
width of the locations/versions selector, but that never needed the full
page width anyway. Unfortunately I suck at CSS so the nav menu and
selector thing won't look too great on smaller screen sizes; but that's
just a minor visual uglyness.
This removes the navigation menu on the right, leaving more space for
the actual contents. Instead, there are now a few links/tabs at the top
of the page. There's also a 'permalink' now.
The previous navigation combined the selection of man page versions,
translations and sections in a single menu. While handy in some cases,
in most cases it was just slow and messy. It also didn't scale very
well, some man pages have so many versions that it significantly
affected the page load time.
The 'locations' table has now also been moved into tab and is loaded
asynchronously as well, for the same performance reasons.
I had hoped that this new navigation would be much easier and more
convenient, but honestly, it's still a mess. At least the new code is
more maintainable, so perhaps I'll be able to make some incremental
improvements in the future.
I couldn't get firefox to play nice with the search button styling, so
replaced it completely with an image. Its location still off by one
pixel in Firefox, though. :-(
This allows for a more dynamic nav bar without inserting insanely huge
HTML code in the page (as the previous version did in some cases) and
without having to contact the server again.
The 'intro' man page has around 1500 versions, and only generates a page
of ~52KiB (~9.5KiB after compression). The previous HTML version was
106KiB (~10.3KiB after compression). Page generation times have been
improved on the server side (by 50ms for the intro man page), but I've
no idea how significant the effect is of JS is. Feels fast enough,
though.