Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > Programming > Libraries

    collective.recipe.sphinxbuilder 0.7.1

    Download button

    No screenshots available
    Downloads: 167  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Tarek Ziade | More programs
    ZPL / FREE
    May 1st, 2012, 05:46 GMT [view history]
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    collective.recipe.sphinxbuilder description

    ZC.buildout recipe to generate and build Sphinx-based documentation in the buildout

    collective.recipe.sphinxbuilder is a zc.buildout recipe to generate and build Sphinx-based documentation in the buildout

    What is Sphinx ?

    Sphinx is the rising tool in the Python community to build documentation. See http://sphinx.pocoo.org.

    It is now used for instance by Python. See http://docs.python.org/dev and many others

    Sphinx uses reStructuredText, and can be used to write your buildout-based application. This recipe sets everything up for you, so you can provide a nice-looking documentation within your buildout, in static html or even PDF.

    The fact that your documentation is managed like your code makes it easy to maintain and change it.

    Quick start

    To use the recipe, add in your buildout configuration file a section like this:

    [buildout]
    parts =
     ...
     sphinxbuilder
     ...

    [sphinxbuilder]
    recipe = collective.recipe.sphinxbuilder
    source = ${buildout:directory}/docs-source
    build = ${buildout:directory}/docs


    Run your buildout and you will get a few new scripts in the bin folder, called:

     * sphinx-quickstart, to quickstart sphinx documentation
     * sphinxbuilder, script that will

    To quickstart a documentation project run, as you would normaly do with Sphinx:

     bin/sphinx-quickstart

    and anwser few questions and choose docs-source as you source folder.

    To build your documentation, just run the sphinx script:

     bin/sphinxbuilder

    That's it !

    You will get a shiny Sphinx documenation in docs/html. Write your documentation, go in docs-source. Everytime source is modified, sphinxbuilder run script again.

    A good starting point to write your documentation is: http://sphinx.pocoo.org/contents.html.

    Plone 4

    Usage with Plone 4 is even easier:

    [buildout]
    parts =
     ...
     sphinxbuilder
     ...

    [sphinxbuilder]
    recipe = collective.recipe.sphinxbuilder
    interpreter = ${buildout:directory}/bin/zopepy


    Follow quick-start tutorial and do not forget to add interpreter with installed eggs to access your sourcecode with Sphinx.
    Supported options

    The recipe supports the following options:

     build (default: docs)
     Specify the build documentation root.
     source (default: {build-directory}/source)
     Speficy the source directory of documentation.
     outputs (default: html)
     Multiple-line value that defines what kind of output to produce. Can be doctest, html, latex or pdf.
     script-name (default: name of buildout section)
     The name of the script generated
     interpreter
     Path to python interpreter to use when invoking sphinx-builder.
     extra-paths
     Extra paths to be inserted into sys.path.
     products
     Extra product directories to be extend the Products namespace for old-style Zope Products.

    Example usage

    The recipe can be used without any options. We'll start by creating a buildout that uses the recipe:

     > > > write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = sphinxbuilder
    ...
    ... [sphinxbuilder]
    ... recipe = collective.recipe.sphinxbuilder
    ... source = collective.recipe.sphinxbuilder:docs
    ... """)


    Let's run the buildout:

     > > > print 'start', system(buildout)
    start Installing sphinxbuilder.
    collective.recipe.sphinxbuilder: writing MAKEFILE..
    collective.recipe.sphinxbuilder: writing BATCHFILE..
    collective.recipe.sphinxbuilder: writing custom sphinx-builder script..
    Generated script '/sample-buildout/bin/sphinx-quickstart'.
    Generated script '/sample-buildout/bin/sphinx-build'.
    < BLANKLINE >


    What are we expecting ?

    A docs folder with a Sphinx structure:

     > > > docs = join(sample_buildout, 'docs')
     > > > ls(docs)
    - Makefile
    - make.bat


    A script in the bin folder to build the docs:

     > > > bin = join(sample_buildout, 'bin')
     > > > ls(bin)
    - buildout
    - sphinx-build
    - sphinx-quickstart
    - sphinxbuilder


    The content of the script is a simple shell script:

     > > > script = join(sample_buildout, 'bin', 'sphinxbuilder')
     > > > print open(script).read()
    cd ...docs
    make html

     > > > print 'start', system(script)
    start /sample-buildout/bin/sphinx-build -b html -d /sample-buildout/docs/doctrees ...src/collective/recipe/sphinxbuilder/docs /sample-buildout/docs/html
    ...


    If we want latex, we need to explicitly define it:

     > > > write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = sphinxbuilder
    ...
    ... [sphinxbuilder]
    ... recipe = collective.recipe.sphinxbuilder
    ... source = collective.recipe.sphinxbuilder:docs
    ... outputs =
    ... html
    ... latex
    ... """)
     > > > print 'start', system(buildout)
    start Uninstalling sphinxbuilder.
    Installing sphinxbuilder.
    collective.recipe.sphinxbuilder: writing MAKEFILE..
    collective.recipe.sphinxbuilder: writing BATCHFILE..
    collective.recipe.sphinxbuilder: writing custom sphinx-builder script..
    < BLANKLINE >


    Let's see our script now:

     > > > cat(script)
    cd ...docs
    make html
    make latex


    Finally let's run it:

     > > > print 'start', system(script)
    start /sample-buildout/bin/sphinx-build -b html -d /sample-buildout/docs/doctrees .../src/collective/recipe/sphinxbuilder/docs /sample-buildout/docs/html
    ...
    < BLANKLINE >
    Build finished. The HTML pages are in /sample-buildout/docs/html.
    ...
    Build finished; the LaTeX files are in /sample-buildout/docs/latex.
    Run `make all-pdf' or `make all-ps' in that directory to run these through (pdf)latex.
    < BLANKLINE >
    Making output directory...
    < BLANKLINE >


    If we want pdf, we need to explicitly define it:

     > > > write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = sphinxbuilder
    ...
    ... [sphinxbuilder]
    ... recipe = collective.recipe.sphinxbuilder
    ... source = collective.recipe.sphinxbuilder:docs
    ... outputs =
    ... html
    ... latex
    ... pdf
    ... """)
     > > > print 'start', system(buildout)
    start Uninstalling sphinxbuilder.
    Installing sphinxbuilder.
    collective.recipe.sphinxbuilder: writing MAKEFILE..
    collective.recipe.sphinxbuilder: writing BATCHFILE..
    collective.recipe.sphinxbuilder: writing custom sphinx-builder script..
    < BLANKLINE >


    Let's see our script now:

     > > > cat(script)
    cd ...docs
    make html
    make latex
    cd /sample-buildout/docs/latex && make all-pdf


    We will skip running the script in tests, because the PDF builder depends on libraries which may not be installed.

    We can also have the script run any doctests in the docs while building:

     > > > write('buildout.cfg',
    ... """
    ... [buildout]
    ... parts = sphinxbuilder
    ...
    ... [sphinxbuilder]
    ... recipe = collective.recipe.sphinxbuilder
    ... source = collective.recipe.sphinxbuilder:docs
    ... outputs =
    ... doctest
    ... html
    ... """)
     > > > print 'start', system(buildout)
    start Uninstalling sphinxbuilder.
    Installing sphinxbuilder.
    collective.recipe.sphinxbuilder: writing MAKEFILE..
    collective.recipe.sphinxbuilder: writing BATCHFILE..
    collective.recipe.sphinxbuilder: writing custom sphinx-builder script..
    < BLANKLINE >


    Let's see our script now:

     > > > cat(script)
    cd ...docs
    make doctest
    make html


    Again, we will skip running them, this time to avoid a recursive fork bomb.


    Product's homepage

    Requirements:

    · Python

    What's New in This Release: [ read full changelog ]

    · Add the epub output.
    Fixed tests:
    · Use required package versions during tests
    · Use standard `doctest` instead of `zope.testing.doctest`.

      


    TAGS:

    zc.buildout recipe | Sphinx-based documentation | Sphinx | documentation | buildout

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM