Commit graph

137 commits

Author SHA1 Message Date
Yorhel
8031a90989 Some improvements to the about text + link to the new Arch man pages 2018-01-21 08:23:57 +01:00
Yorhel
035538f156 Add CentOS 2018-01-21 08:13:05 +01:00
Yorhel
fd657824b3 Add database downloads 2017-12-23 14:28:16 +01:00
Yorhel
aedb1795c1 Favor more recent packages in man page selection 2017-10-27 09:00:46 +02:00
Yorhel
2388aaefcc Stop syncing Fedora 24; Add FreeBSD 11.1 and Ubuntu 17.10 2017-10-20 21:37:33 +02:00
Yorhel
72cb1ff184 Add Ubuntu 17.04 2017-04-14 17:09:18 +02:00
Yorhel
34e8ee8603 Add link to Debian man pages 2017-02-26 09:07:37 +01:00
Yorhel
8e5fa1e165 www: Include .so mans if found in the same package
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.
2017-02-26 08:52:23 +01:00
Yorhel
81e2c99503 Friendlier pagination on package listings 2017-01-25 10:42:01 +01:00
Yorhel
bb46087068 Add Fedora 1 - 25 2017-01-21 09:05:34 +01:00
Yorhel
06694fd131 Style changes 2017-01-20 09:55:43 +01:00
Yorhel
2ee2f7495b Reorganize indexing scripts + use Rust for Debian 2016-11-20 12:34:02 +01:00
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
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
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
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
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
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