KhronosGroup / Vulkan-Docs

The Vulkan API Specification and related tools
Other
2.73k stars 460 forks source link

Add support for man pages in Ubuntu terminal #2143

Open alexpanter opened 1 year ago

alexpanter commented 1 year ago

Ubuntu is most used Linux distribution, and even on lunarg's website Ubuntu is placed at the top.

Why?

It is much faster to write man vkCreateDevice in a terminal than it is to open a pdf-document and then press "Ctrl-F" and then write something. The terminal is also an easier-to-read format (DARK mode, simple monospace font). Most of the specification is textual anyways.

Existing

There is an archive somewhere, looks to be abandoned or out-of-date, and it only works for Arch-Linux.

Guidelines

I understand perfectly that a script to generate the manpages should not be a part of this repository, so I'm posting here for 2 reasons: 1) Attract/peek interest 2) Get technical help

I wouldn't have a clue on how to create such manual pages myself, which is why I write here. Hopefully, I'm not the only one who has been thinking this.

I would be happy to create AND manage such a repository myself, just need some guidelines so I can learn how.

Thank you, much, in advance. :)

oddhack commented 1 year ago

The Vulkan refpages could probably be converted to Unix manpages using the existing asciidoctor backend converter https://docs.asciidoctor.org/asciidoctor/latest/manpage-backend/#manpage-backend-and-converter . You might run into problems with imbedded math markup and images, however. Take a look at the manhtmlpages Makefile target in combination with the link above to get some idea how to proceed.

This is probably not something we'd choose to support given the limited audience but you're more than welcome to create a downstream project that would build and package the refpages. One thing you may want to think about is that most people are using the Vulkan SDK on Linux, and SDK releases are tied to specific revisions of the Vulkan spec. How to manage that so people have a version of the manpages matching their installed SDK might be tricky (the main difference of any note is which extensions are included in the SDK and in the manpage set).

oddhack commented 1 year ago

Assigning this back to @alexpanter since the next steps are theirs. Not sure how familiar you are with github, but probably the best way to proceed is fork this repository, then make the needed build changes in your fork and add any packaging you might need for Ubuntu.

alexpanter commented 1 year ago

Thank you, @oddhack for the suggestions. I will try some things. For now I will keep this issue open (let me know if you want it closed!).

otreblan commented 10 months ago

@alexpanter I am the mantainer of the Arch Linux vulkan man pages. Here is the PKGBUILD script : https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vulkan-man-pages imagen