Commit graph

82 commits

Author SHA1 Message Date
Yorhel
1f05463c3a About page: Remove TOC feature as planned 2016-11-09 19:01:24 +01:00
Yorhel
aa01365e60 Move nav menu a bit up to create space
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.
2016-11-09 18:58:34 +01:00
Yorhel
09af881767 Add TOC listing + more section/lang select back into a nav menu 2016-11-09 18:43:10 +01:00
Yorhel
cb81bedac1 Add arch/encoding metadata to DB + Fetch Arch Linux x86_64
The encoding metadata will be very useful in finding badly decoded man
pages. The package 'arch' is necessary to properly identify which
package was used, which is not obvious now that I'm going to switch more
systems to the (more common) x86_64 arch.
2016-11-06 16:05:16 +01:00
Yorhel
9db73b2709 Fix CSS I accidentally removed 2016-10-26 21:31:47 +02:00
Yorhel
863fae2476 Add link to manpag.es 2016-10-26 19:27:57 +02:00
Yorhel
25a39c6fe4 Improved pagination on package info pages 2016-10-26 19:25:23 +02:00
Yorhel
5436435c3f Improve handling of man names with special characters
The 'source' link was broken for mans with [ or ] characters.
All links were broken for mans with space characters.

Man page of the week:
https://manned.org/KGenericFactory_%20KTypeList_%20Product,%20ProductListTail%20_,%20KTypeList_%20ParentType,%20ParentTypeListTail%20_%20_/dfc33ca6

There's a 5 man pages left with a '%' or '#' character. I've no idea if
it's worth handling those; A fix for these isn't going to be as trivial
as this commit.
2016-10-16 10:19:27 +02:00
Yorhel
4affcec7c3 Homepage: Add "less" button after clicking on "more" 2016-10-15 16:55:23 +02:00
Yorhel
6740dc2546 A few more links to other man page sites 2016-10-15 16:46:03 +02:00
Yorhel
44df29ea18 Fix 404 on /(pkg|man)/<hash> 2016-10-15 16:06:18 +02:00
Yorhel
20daba820f Complete revamp of navigation menu on man pages
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.
2016-10-15 16:06:18 +02:00
Yorhel
b7328cc039 Reorganize links on homepage a bit 2016-10-09 11:34:55 +02:00
Yorhel
8817f5c252 Fix typo on info page 2016-10-09 09:41:35 +02:00
Yorhel
b023bec0cd Use placeholders in search SQL
I didn't do that before in order to ensure that the planner could always
optimize the LIKE queries, but it's optimizing them just fine with
placeholders now.
2016-10-09 09:33:45 +02:00
Yorhel
3eb1cbae63 Log slow pages 2016-10-09 09:26:01 +02:00
Yorhel
fcaccd6f48 Document some URLs + add URLs to link to specific man pages 2016-10-09 09:23:16 +02:00
Yorhel
659b7afece Implement man selection algorithm in SQL + fix various related bugs
Man selection has to be performed over several thousand rows in some
cases. Loading all those in Perl and then doing the selection isn't very
efficient[1]. The getman() implementation was also buggy: The comparison
function used to determine which man page should be preferred was not
associative[2], and the result thus depended on the order in which the
man pages were compared. This resulted in some wrong selections in some
cases.

While I was at it, I also made the selection more strict:
- /man/unknown-hash would previously ignore the hash and just select
  whatever man page. Now it results in a 404.
- Same with /man.unknown-section
- /man.section/hash is now disallowed, it's either /man.section or
  /man/hash.

1) Note that all possible man pages are currently still loaded into Perl
anyway, because the ugly navigation menu on the right needs them. I plan
to revamp that entire menu to be more efficient and usable.

2) Initially I wrote the SQL implementation in a similar fashion to the
Perl implementation, and ended up with the same bug. I wasted more than
a day before I finally got to the current CTE query.
2016-10-09 09:10:40 +02:00
Yorhel
72e26a0614 Improved layout of package page 2016-10-06 14:43:07 +02:00
Yorhel
488b88c3cf Remove dead linuxmanpages.net link 2016-10-03 20:28:39 +02:00
Yorhel
7e17853326 Remove HTML-formatted man pages 2016-10-03 20:04:23 +02:00
Yorhel
aa94548c71 Don't substr() section names in man page URLs
And improve man page lookup on "/man.section". If "man.section" itself
is a man page, then we display that. If it's not, we look for a man page
named "man" in section "section". (And if that section isn't available
we just show whatever the preferred version is for "man").

This fixes some occasional 404 links from the search results.
2016-10-03 19:36:37 +02:00
Yorhel
1f5418a10e CSS: Fix weird layout of systems listing on homepage 2016-10-02 20:23:50 +02:00
Yorhel
03d278e4ff Normalize package info tables + change browsing URLs
This splits the 'package' table into 'packages' and 'package_versions',
which should improve performance in some cases and simplify some future
queries.

Previously it wasn't very well defined whether packages were uniquely
identified by (system, name) or by (system, category, name). This is now
normalized to the latter form. This required changes to the package URLs
to include the category.
2016-10-02 20:07:57 +02:00
Yorhel
0c6964d0e3 Minor cleanup 2016-06-26 11:33:16 +02:00
Yorhel
8808b538f5 Add source page file name + fix handling of some odd suffixes 2015-12-19 11:47:42 +01:00
Yorhel
2da67d585c Various changes/fixes, 3 new distro versions 2015-04-28 08:27:29 +02:00
Yorhel
61d822a76b Added and indexed Ubuntu 13.10 2013-10-20 08:24:52 +02:00
Yorhel
32287f77bb www: Decrease importance of the section number in man page selection
The distro comparisons are more important, because otherwise some man
page lookups will result in receiving a very obscure man page from some
old version of FreeBSD or Gentoo, when you're more likely to look for
something modern.
2013-08-25 18:11:39 +02:00
Yorhel
a78c7c31d8 www: Removed broken package links from unsupported Ubuntu versions 2013-08-22 14:59:37 +02:00
Yorhel
dbc2cac13b Added and indexed Debian Wheezy 2013-05-10 15:14:44 +02:00
Yorhel
9346e4d794 Update site description that we're not really in early life anymore 2013-04-27 07:21:44 +02:00
Yorhel
7c9dbffd6a Added and indexed Ubuntu raring + disable TUWF debug mode 2013-04-27 07:12:51 +02:00
Yorhel
96ce9d3441 No more github link 2013-04-09 08:09:04 +02:00
Yorhel
0e8b61b053 Don't sync Ubuntu Natty anymore + remove broken Natty package links 2012-11-24 12:26:33 +01:00
Yorhel
f240d6117a Added and indexed Ubuntu 12.10 2012-10-18 16:57:30 +02:00
Yorhel
25920323c4 www: Unescape [ and ] in man name to fix 404's with Firefox 2012-08-17 14:09:21 +02:00
Yorhel
95776adf49 www: Added information link to package pages of some systems 2012-08-17 13:34:19 +02:00
Yorhel
56854e2438 Add COPYING, README and link to the public git repo
Copyright info and a README are kinda necessary for a public repo.
2012-08-15 18:22:49 +02:00
Yorhel
e76085014c www: Remove some unused 'use' lines
The functionality that used those modules has been moved into ManUtils
2012-08-15 09:49:05 +02:00
Yorhel
2ed30b214c js: Drop trailing a's from the nav view code
They hold no real information.
2012-08-15 09:45:55 +02:00
Yorhel
1404ee6c47 www: Fix the 'prefer-Arch' comparison in getman() 2012-08-15 09:38:20 +02:00
Yorhel
8eb4866c86 Added FreeBSD icon + description and future ideas on about page 2012-08-14 20:26:05 +02:00
Yorhel
fa7d4406ec Added some spaces to the HTML output 2012-07-20 11:36:45 +02:00
Yorhel
7e5f165985 Fix HTTP date parsing for dates in December 2012-07-19 17:13:29 +02:00
Yorhel
2cc5ff9cd6 Send meaningful Last-Modified header with man and package pages 2012-07-19 16:53:12 +02:00
Yorhel
5d2afc1d7e Added crappy favicon.ico to get rid of 404's 2012-07-19 12:29:13 +02:00
Yorhel
bf84ea2d73 Remember display of nav bar when selecting different man versions
This improves usability *a lot*. Too bad the code's quite ugly...
2012-07-18 19:48:04 +02:00
Yorhel
4fd6da6e4e Various styling improvements 2012-07-18 11:01:17 +02:00
Yorhel
086615eb71 Friendlier 404 error 2012-07-18 10:36:25 +02:00