2016-02-04 22 views
10

Nel mio buildout.cfg di file che ho tale codice:Come configurare buildout per creare la documentazione sfinge utilizzando bin/sphinxbuilder

parts = 
    ... 
    sphinxbuilder 

successivo nel stesso file:

eggs= 
    ... 
    jinja2 
    markupsafe 
    sphinx 

e poi, alla fine del file:

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

Faccio:

bin/buildout 

che dà in uscita (in generale: OK):

Updating sphinxbuilder. 
collective.recipe.sphinxbuilder: writing MAKEFILE.. 
collective.recipe.sphinxbuilder: writing BATCHFILE.. 
collective.recipe.sphinxbuilder: writing custom sphinx-builder script.. 

In cartella uova devo Sphinx eeg.

Dopo buildout, nella directory di progetto ne ho uno, nuovo catalogo: docs. poi eseguire il comando:

bin/sphinx-quickstart 

e come root path for the documentation ho impostato docs

poi modificare docs/conf.py e rimuovere il commento

sys.path.insert(0, os.path.abspath('.')) 

corro comando bin/sphinxbuilder e ottenere errore:

Makefile:12: *** The 'sphinx-build' command was not found. 
Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the 'sphinx-build' executable. 
Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/. Stop. 

Problemi principali: (1) Come far funzionare automaticamente la sfinge con buildout? (2) Come impostare il percorso giusto per i moduli di progetto (app) nei file .rst? (3) Dove inserire il file conf.py?

+1

stai lavorando su Windows? C'è un errore nell'uovo collettivo 0.8.2 py27 collective.recipe.sphinxbuilder che causa un errore per me (riga 146 nello sphinxbuilder/__ init__.py) che mi impedisce di costruire. Sono ancora in grado di utilizzare gli altri script, ma l'utilizzo di "parts = sphinxbuilder" come nei loro documenti non funziona correttamente –

+0

No, su Linux. Grazie. –

risposta

0

Su finestre qui, ma mi sembra di ricordare un problema simile.

estende il seguente CFG assicura due cose: 1) tutti entrypoints generiamo avere accesso alle uova sfinge 2) parti che si basano sulle entry point sfinge verranno eseguiti -after- quelle entry point vengono generati

[sphinx] 
eggs = 
    sphinx 
    <if you have theme eggs or other extensions, put em here> 

parts = 
    sphinx.console_scripts 

[sphinx.console_scripts] 
recipe = zc.recipe.egg 
dependent-scripts = true 
eggs = 
    ${sphinx.eggs} 
    ${buildout:eggs} 

Usando questo, è anche possibile aggiungere parti che si basano sulle eseguibili build/apidoc e la vostra generazione documentazione diventa parte di un one-click buildout:

[sphinx.apidoc] 
recipe = plone.recipe.command 
command = ${buildout:bin-directory}\sphinx-apidoc.exe <all your flags/settiongs based on buildout>