{ "info": { "author": "Antoine Beaupr\u00e9", "author_email": "anarcat@debian.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Documentation", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: Text Processing :: Markup :: HTML" ], "description": "Documentation extractor and renderer for Debian packages\n========================================================\n\n``debmans`` is a tool to extract documentation (currently manpages) from\nDebian packages and transform them into HTML for viewing with a normal\nweb browser.\n\nThis suite of tools is designed to run on `manpages.debian.org\n`_, `manpages.ubuntu.com\n`_, `linux.die.net\n`_ or similar services.\n\n.. split\n\nExample\n-------\n\nYou can do a test run of this software against your local APT cache,\nlike this::\n\n $ ( cd /var/cache/apt/archives/ && dpkg-scanpackages . | sudo tee Packages > /dev/null )\n dpkg-scanpackages: warning: package tar (filename ./tar_1.27.1-2+b1_amd64.deb) is repeat;\n dpkg-scanpackages: warning: ignored that one and using data from ./tar_1.27.1-2+deb8u1_amd64.deb!\n $ debmans -m /var/cache/apt/archives -o html -v --progress extract render site serve\n extracting files matching patterns: (u'man/(?:\\\\w+/)?man[1-9]/.+\\\\.[1-9]\\\\w*(?:\\\\.gz)?$',) in mirror /var/cache/apt/archives\n extracting packages [####################################] 100%\n completed inspection of 564 packages, extracted 559 files\n received 559 paths from extractor\n rendering manpages [#################################---] 92% 0d 00:00:02man2html: unable to open or read file man1/dmenu.1\n rendering manpages [####################################] 100%\n looking for static files to render in *.mdwn\n Serving HTTP on 0.0.0.0 port 8000...\n\nYour rendered manpages will be available at .\n\nNote that you will need ``dpkg-scanpackages`` from the\n`dpkg-dev `__ package to run the\nabove test. The warnings can be safely ignored. ``debmans`` doesn't\nnormally require ``dpkg-dev`` in operation if you use a properly\nconfigured mirror.\n\nCommon tasks\n------------\n\nA more normal run would be to run on a regular mirror. This will extract\nall manpages from the given mirror and convert to HTML::\n\n debmans --mirror /srv/mirror --output static extract render\n\nThis can be ran repeatedly and only extracted manpages will be rendered.\n\nExtraction only\n~~~~~~~~~~~~~~~\n\nYou can also run the process step by step, for example, this will only\nextract the manpages::\n\n debmans -m /srv/mirror -o html extract\n\nNote that extract creates a cache in the output directory to avoid\nre-extracting already found archives. Render also uses a caching\nmechanism by not converting to HTML if the HTML version is newer than\nthe manpage. Those mechanisms can be disabled with ``--no-cache``.\n\n::\n\n debmans -m /srv/mirror -o html --no-cache extract\n\nYou can make a trial run with the ``-n`` flag and enable more verbose\nlogging::\n\n debmans -v -n -m /srv/mirror -o manpages extract\n\nRendering only\n~~~~~~~~~~~~~~\n\nRendering the pages can be done separately with::\n\n debmans -o html render --srcdir manpages\n\nThis is especially important if the extraction process was interrupted,\nas only part of the manpages will be rendered on subsequent runs.\n\nManpages are currently rendered with\n`man2html `__ but\nthis can be changed with the ``-r`` flag, although no other renderer has\nbeen tested and the output may not be compatible with ``man2html``.\n\nStatic pages rendering\n~~~~~~~~~~~~~~~~~~~~~~\n\nThe templating engine is fairly simple, based on Jinja2, which uses\nstandard ``{{foo}}`` placeholders. The template is in\n``static/template.html`` and should be following debian.org's graphic\ndesign conventions.\n\nThis should generate the markdown files::\n\n debmans -o html site\n\nUse ``--prefix`` if the directory is not at the root of the host.\n\nInstallation\n------------\n\n``debmans`` can be installed through pip with::\n\n pip install debmans\n\nSource code can also be found on `Gitlab\n`_ with Git or as a tarball, or\non Debian's `collab-maint repository\n`_.\n\nThe source code is should be installed with::\n\n ./setup.py install\n\nIt can also be ran from the source tree directly with::\n\n python -m debmans render\n\nThe dependencies are listed in the ``setup.py`` file.\n\nAcknowledgements\n----------------\n\n``debmans`` was written by Antoine Beaupr\u00e9 and is licensed under the\nAffero GPLv3, see ``license`` for the complete license.\n\nParts of this software were inspired by a review of existing tools, most\nnotably the `Ubuntu manpages\nconverter `__ and\n`dgilman's converter `__. The\n`sources.debian.net `__ service source code\nand design was also directly used in some parts, which is partly why\n``debmans`` is licensed under the AGPL.\n\nAlso thanks to Paul Wise for nudging me along and all the help\nnavigating the various tools and protocols to make all this work.\n\nThis project mostly follows the `Core\nInfrastructure `__ `best\npractices `__, see the\n`full\nreport `__\nfor details.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://debmans.readthedocs.io/", "keywords": "", "license": "AGPLv3", "maintainer": "", "maintainer_email": "", "name": "debmans", "package_url": "https://pypi.org/project/debmans/", "platform": "Debian", "project_url": "https://pypi.org/project/debmans/", "project_urls": { "Homepage": "https://debmans.readthedocs.io/" }, "release_url": "https://pypi.org/project/debmans/1.0.0/", "requires_dist": [ "python-apt", "click", "python-debian", "humanize", "jinja2", "markdown", "pytest; extra == 'dev'", "tox; extra == 'dev'", "pyflakes; extra == 'dev'" ], "requires_python": "", "summary": "Extract and render manuals from Debian packages", "version": "1.0.0" }, "last_serial": 2475429, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "a1e1521a698babf40e804a1ab9924625", "sha256": "83baecff6b72ca46110718928e0a7336f0dd45608fe5115fa2dc781712b1d956" }, "downloads": -1, "filename": "debmans-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a1e1521a698babf40e804a1ab9924625", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42613, "upload_time": "2016-11-22T04:44:19", "url": "https://files.pythonhosted.org/packages/a5/47/c30ee3fbb71eefbf3d6883dd0ae685c192fb6ed67acf2d49409c2d5c2d43/debmans-1.0.0-py2-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1e1521a698babf40e804a1ab9924625", "sha256": "83baecff6b72ca46110718928e0a7336f0dd45608fe5115fa2dc781712b1d956" }, "downloads": -1, "filename": "debmans-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a1e1521a698babf40e804a1ab9924625", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42613, "upload_time": "2016-11-22T04:44:19", "url": "https://files.pythonhosted.org/packages/a5/47/c30ee3fbb71eefbf3d6883dd0ae685c192fb6ed67acf2d49409c2d5c2d43/debmans-1.0.0-py2-none-any.whl" } ] }