Kapeli / Dash-User-Contributions

Dash repo of user contributed docsets
1.99k stars 845 forks source link

Request: POSIX.1-2008 specification #804

Open sunaku opened 8 years ago

sunaku commented 8 years ago

http://pubs.opengroup.org/onlinepubs/9699919799/

This is useful for developing portable software that runs on Linux, BSD, Mac OS X, and traditional UNIXes.

Yanpas commented 7 years ago

I've created script to generate docsets from man, details here https://github.com/Yanpas/mandocset It uses man2html utility, avaiable on Ubuntu and Debian e.g. In etc folder there are two docsets (posix and linux) which are "compiled", you may use them

I wasn't able to find author of this utility. Beware of a bug: this util may go to endless loop with printf.1p file from posix.

I guess whether should I merge Linux and Posix docsets and which man pages should I prefer. Currently I think Linux man pages have more priority.

Yanpas commented 7 years ago

Submitted PR #1276

sunaku commented 7 years ago

Sorry if I'm mistaken, but mandocset and manpages-posix don't provide the same information (for example, they lack the "Base Definitions" chapters 1-13 as well as the convenient "Topics" index) as the IEEE Std 1003.1™-2008, 2016 Edition documentation I originally requested. :scream_cat: So please reopen this. :crying_cat_face:

finnoleary commented 6 years ago

If you are still interested in this, it might be trivial to do, albeit illegal. IEEE provides HTML copies of the POSIX (i.e (heh) IEEE Std 1003.1™-2008) documentation here:

http://pubs.opengroup.org/onlinepubs/9699919799/download

There's a tool for generating docsets from HTML here: https://github.com/technosophos/dashing#readme

And instructions on how to do it manually here: https://kapeli.com/docsets#dashDocset

However, please note that IEEE / The Open Group states:

You are NOT permitted to amend, copy, reprint, offer for sale, or otherwise re-use material from these documents without explicit written permission from The Open Group.

And note that the Group Base Specification also adds:

Permission to reproduce all or any part of this standard must be with the consent of both copyright holders and may be subject to a license fee. Both copyright holders will need to be satisfied that the other has granted permission.

For the purpose of browsing, a framed version with search / indexing features is available from: http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html

will-ca commented 2 months ago

As you are allowed to download a copy for your own use, here is a script/Dashing configuration to automatically generate an appropriate Dash docset:

wget https://pubs.opengroup.org/onlinepubs/9699919799/download/susv4-2018.tgz
tar -xaf susv4-2018.tgz
cat > dashing.json << 'EOF'
{
    "name": "POSIX",
    "package": "posix",
    "index": "mindex.html",
    "selectors": {
        "h2": [
            {
                "type": "Guide",
                "matchpath": "(basedefs|functions|utilities|xrat)/V[0-9]+.*\\.html"
            }
        ],
        "h3, h4, h5, h6": [
            {
                "type": "Section",
                "matchpath": "(basedefs|functions|utilities|xrat)/V[0-9]+.*\\.html"
            }
        ],
        "title": [
            {
                "type": "File",
                "matchpath": "basedefs/([^V]|V[^0-9]).*\\.html"
            },
            {
                "type": "Function",
                "matchpath": "functions/([^V]|V[^0-9]).*\\.html"
            },
            {
                "type": "Command",
                "matchpath": "utilities/([^V]|V[^0-9]).*\\.html"
            },
            {
                "type": "Guide",
                "requiretext": "^([^F]|F[^r]).*",
                "matchpath": "idx/.*\\.html"
            },
            {
                "type": "Sample",
                "matchpath": "(frontmatter/.*|help/.*|copyr)\\.html"
            }
        ]
    },
    "ignore": [
        "CONTENTS"
    ],
    "allowJS": false,
    "ExternalURL": "https://pubs.opengroup.org/onlinepubs/9699919799/mindex.html",
    "icon32x32": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAD8/f1eppccfGbP5+Gt0soHalMAXEOazsMAVz2QwLY5jXoD8qNaAAAAAXRSTlMAQObYZgAAAHdJREFUCFtjYIABRkFBZRURR0EgI6xC0CUUyBAtDxQUFFJkYHSbJCgoKFLCwKhpCGIUMTCmN0IYHJOBtKDUJAYmkBJBISCjBMRwq2DgTgQx1BMZmMCMdEUGVhBDaJojA+MmIGNlKtAKpyWCUpMDgQyREFdlRUFBAFs/FXFR8JGpAAAAAElFTkSuQmCC"
}
EOF
dashing build --source ./susv4-2018/