httpie: add manpage and html docs

httpie has quite extensive documentation in form of its rst readme.
With docutils it’s quite easy to convert to html.

We can also convert it to a manpage, which makes the documentation
accessible from the command line (even though it’s not quite standard
format as far as manpages go; however a lot better than nothing).
This commit is contained in:
Profpatsch 2020-03-02 00:44:35 +01:00
parent 619a095af0
commit 9176f20bc3

View File

@ -11,6 +11,8 @@ python3Packages.buildPythonApplication rec {
sha256 = "0d0rsn5i973l9y0ws3xmnzaw4jwxdlryyjbasnlddph5mvkf7dq0";
};
outputs = [ "out" "doc" "man" ];
propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ];
dontUseSetuptoolsCheck = true;
patches = [ ./strip-venv.patch ];
@ -22,6 +24,54 @@ python3Packages.buildPythonApplication rec {
pytestCheckHook
];
postInstall = ''
mkdir -p $man/share/man/man1
docdir=$doc/share/doc/httpie
mkdir -p $docdir/html
cp AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst $docdir
# helpfully, the readme has a `no-web` class to exclude
# the parts that are not relevant for offline docs
# this one build link was not marked however
sed -e 's/^|build|//g' -i README.rst
toHtml() {
${docutils}/bin/rst2html5 \
--strip-elements-with-class=no-web \
--title=http \
--no-generator \
--no-datestamp \
--no-source-link \
"$1" \
"$2"
}
toHtml README.rst $docdir/html/index.html
toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html
toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html
# change a few links to the local files
substituteInPlace $docdir/html/index.html \
--replace \
'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \
"CHANGELOG.html" \
--replace \
'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \
"CONTRIBUTING.html"
${docutils}/bin/rst2man \
--strip-elements-with-class=no-web \
--title=http \
--no-generator \
--no-datestamp \
--no-source-link \
README.rst \
$man/share/man/man1/http.1
'';
# the tests call rst2pseudoxml.py from docutils
preCheck = ''
export PATH=${docutils}/bin:$PATH