Source code of manned.org https://manned.org/
Find a file
Yorhel d3bebc8888 Add support for caching HTML-rendered pages
Downside is that this consumes significant disk space, requires
recreating the entire cache when changing something to the way that
pages are rendered and removes flexibility to add dynamic
render-influencing settings in the future.

Alas, crawlers are getting more aggressive and I don't like the idea of
adding more invasive anti-bot tech.
This might not be enough in the long term, we also have a few slow SQL
queries that I'm not yet sure how to optimize. But this ought to give us
more time, at least.
2025-05-25 14:41:15 +02:00
indexer indexer: Turn error into warning 2025-02-23 16:23:21 +01:00
ManUtils Only resolve .so includes when it's the only thing in a man page 2025-05-25 14:02:10 +02:00
util Add support for caching HTML-rendered pages 2025-05-25 14:41:15 +02:00
web Make the Rust garbage compile again 2021-12-11 11:53:26 +01:00
www Add support for caching HTML-rendered pages 2025-05-25 14:41:15 +02:00
.gitignore Fixes and updates for new FU version 2025-02-28 13:55:57 +01:00
COPYING Switch to AGPL license 2021-12-13 17:56:29 +01:00
Makefile ManUtils: Move, use ExtUtils::MakeMaker and get rid of AnyEvent 2025-02-24 19:00:09 +01:00
README.md Fixes and updates for new FU version 2025-02-28 13:55:57 +01:00
schema.sql Add support for caching HTML-rendered pages 2025-05-25 14:41:15 +02:00

The Manned.org Source Code

This repository holds the source code of Manned.org. For a description of the site, check out https://manned.org/info/about.

Ironically, documentation about how things work is completely lacking.

Requirements

  • perl: 5.36+
  • postgresql: A somewhat recent version
  • rust: Version who-knows-which

Web front-end

  • FU

Man page indexer

  • curl
  • psql

File structure

  • indexer/ -> The Rust program that scans package repositories for updates, fetches new packages and extracts the man pages.
  • ManUtils/ -> Perl/XS helper module to format man pages into HTML (uses web/).
  • sql/ -> Database schema & updates.
  • util/ -> Cron job and scripts to run indexer/ on the right repositories.
  • web/ -> Badly named Rust library to convert man pages into HTML.
  • www/ -> The web front-end.