Skip to main content

sphinxserve renders sphinx docs monitoring file changes

Project description

sphinxserve is a tool to effectively document projects

Sphinx is a document processor tool that makes it easy to create intelligent and beautiful documentation. The goal of sphinxserve is to make sphinx more accessible, interactive, and convenient to use.

Design considerations

sphinxserve was originally conceived as a Python and Linux project that can visualize sphinx document modifications in real time while working on them. At its core, sphinxserve uses the awesome gevent project to provide concurrency and event coordination.

Installation

sphinxserve can be installed either as a python package, or as a docker application.

Python package

System dependencies: python pip xdotool inotify-tools and a browser (firefox, chromium, etc).

gevent dependency: An easier way to install gevent (and its greenlet dependency) is using wheel packages:

GITHUB="https://github.com/mzdaniel/wheel/raw/master"
pip install $GITHUB/greenlet-0.4.7-cp27-none-linux_x86_64.whl
pip install $GITHUB/gevent-1.1b1-cp27-none-linux_x86_64.whl

Alternatively, the C development toolchain is needed and used by pip.

sphinxserve (and python dependencies) installation using a wheel from pypi:

pip install sphinxserve

Docker application

Docker is an extraordinary tool that simplifies the entire dependency tree by including it in a system image. This makes the installation experience much more pleasant.

System dependencies: docker and a browser

This installation command automatically downloads sphinxserve image and creates a small shell script ~/bin/sphinxserve that simplifies the running interface:

$ docker run mzdaniel/sphinx install | bash

Launching

# Assumming your sphinx project is in ~/docproj (containing conf.py),
# and ~/bin is in your shell $PATH

$ sphinxserve ~/docproj

Workflow

After launching sphinxserve, it looks for a browser, while rebuilds the sphinx pages. When it is done, it opens a new tab on the browser pointing to the new rendered page. As soon as there is a document change, it automatically re-renders the docs and reloads the browser.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinxserve-0.6.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

sphinxserve-0.6-py2.py3-none-any.whl (8.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page