Commit graph

102 commits

Author SHA1 Message Date
Yorhel
bf3c97f981 index.pl: Serve static files when in direct HTTP server mode
Makes it easier to setup a quick development server.
2020-08-07 10:23:40 +02:00
Yorhel
ea0a7a4b71 Link updates 2019-10-22 17:17:05 +02:00
Yorhel
1ce29f7c3f Fix dbManPref(name => "0")
Fixes a timeout and eventual 500 error on https://manned.org/0
2019-06-25 18:54:43 +02:00
Yorhel
958e957791 Add link to mankier.com 2019-03-27 10:50:19 +01:00
Yorhel
cfc656bf12 Convert README to markdown + update git URLs 2018-06-15 10:52:21 +02:00
Yorhel
5480fc206e Link updates 2018-03-25 08:14:53 +02:00
Yorhel
b382189fb6 Hopefully properly fixed the weird system layout on home page 2018-01-21 08:34:01 +01:00
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
1923b9901d Support bold+italic in HTML conversion 2017-01-16 09:52:32 +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
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