manpdf
                                
                                 manpdf copied to clipboard
                                
                                    manpdf copied to clipboard
                            
                            
                            
                        Read your Man pages in PDF format. Even online!
💪📄 ManPDF & ManWEB 💪🌎

Read your Man pages in PDF format. Even Online!
https://github.com/sebastiancarlos/manpdf/assets/88276600/0ca95ba0-54a8-4113-82f7-dfb58fb41cd9
Installation
git clone https://github.com/sebastiancarlos/manpdf
cd manpdf
make
This will install the scripts manpdf and manweb in /usr/local/bin, which should be in your $PATH.
If you want to install in another location, like $HOME/.local/bin, run make prefix=~/.local.
Uninstallation
Simply run make uninstall.
Example
To view the man page for ls in PDF format, run:
manpdf ls
You can download a man page from the web. Fox example, to view the man page for systemd in the latest version of Arch, btw, run:
manweb systemd
This also supports PDF
manweb systemd --pdf
Usage
ManWEB - Open a man page from Manned.org
manweb [OPTIONS] <name-or-url> [<section>]
	<name-or-url>:
		You can pass either the name of the man page, the url to a
		manned.org page, or the URL to any raw man page in roff format
		(hosted at manned.org or not)
	-p, --pdf, --no-pdf:
		if passed, the script will not open the man page on the terminal,
		it will just open it as a pdf.
		(off by default)
	-w, --where, --no-where:
		don't actually show the man page, but print the url of the matching
		page, if found.
		(off by default)
	-d, --debug, --no-debug:
		print debug information too.
		(off by default)
	-t, --try-local, --no-try-local:
		if there's a local man page available, don't try to fetch from
		network.
		(on by default)
	-o, --output:
		the output file. if passed, the script will not open the man page,
		it will just save it to disk in roff format. when combined with the
		--pdf option, it will save the pdf to the provided filename.
		(no default)
	--pdf-viewer:
		the command to open the pdf file.
		(defaults to 'xdg-open' or 'open' if not provided)
		(no default)
	-h, --help:
		prints this help.
ManPDF - Open a man page as a PDF file.
manpdf [OPTIONS] <name-or-file> [<section>]
	<name-or-file>:
		You can pass either the name of the man page, a man page file
		(local or URL), or '-' to read file from stdin.
	-o, --output:
		The output file.
		(defaults to temporary file)
	--pdf-viewer:
		The command to open the PDF file.
		(defaults to 'xdg-open' or 'open' if not provided)
	--open-pdf, --no-open-pdf:
		Open the PDF file after creating it
		(on by default)
	-d, --debug, --no-debug:
		Print debug information too.
		(off by default)
	-h, --help:
		Prints this help.
	-v, --version:
		Prints version.
Coming soon
- [ ] Customizable PDF fonts.
- [ ] Improve locale search (integration with man-pages-l10n)
- [ ] Post-processing to remove PDF artifacts caused by common roff file inaccuracies.
- [ ] Optionally inject tldrcontent to the top of the PDF file.
- [ ] Suggest Info page if the search term is GNU tool or similar.
- [ ] Web rendering from locally generated HTML file (including section navigation, symbol cross-references, roff tags on hover, and hyperlinks to other man pages which will also be locally generated)
- [ ] GUI. GTK and Mobile (native and Termux)
- [ ] Autocomplete (Online-powered too as opt-in)
- [ ] Interactive fzfintegration.
- [ ] Experimental PDF to manpage converter (AI Powered)
- [ ] Smart relevance detection by cross-referencing other data besides manned.org
- [ ] Improved search results experience for multiple matches or similar results.
- [ ] Social feature, voting for man page of the day.
- [ ] Buy Adobe. The company, not the software.
- [ ] Improve support for non-standard man page section names.
Requirements
ManPDF and ManWEB should work everywhere. The only requirements (which should already be installed in your system anyway) are:
- A manimplementation (man-db,mandoc, or even that old non-GPL implementation on macOS),
- groff,
- curl,
- gzip, to handle distros that compress man pages by default, and
- openor- xdg-openassociated with an application that can open PDFs. (Optional: you can also pass your preferred PDF viewer)
Thanks to
- Argbash for generating the CLI parser.
- Groff for generating the PDF.
- Manned.org for the best online man pages.
Related repositories
- manpdf-web: The website for ManPDF.
License
MIT