2017-09-09 1 views
0

Donc, j'écris une documentation PHP pour ma bibliothèque. J'utilise l'extension "sphinxcontrib.phpdomain" pour supporter le domaine PHP.Est-il possible de générer une arborescence TOC à partir de mon domaine PHP?

Disons que je l'ai défini le document suivant:

.. toctree:: 
    :numbered: 
    :maxdepth: 3 
    :caption: Couch 

.. php:class:: Couch 

    This is the low-level class that handles communications with CouchDB. 

    .. php:method:: dsn() 

     :returns: The dsn of the current Couch instance 

Est-il possible de générer un arbre de TOC de tout cela? Par exemple, je voudrais indexer dans l'arbre les noms des classes et les membres des classes.

Pour le moment, seuls les titres personnalisés sont indexés dans le toctree

Répondre

0

Divisez votre exemple reStructuredText en deux fichiers. La directive toctree doit figurer dans le fichier index.rst de votre documentation et la directive php:class doit figurer dans un fichier distinct. Il serait judicieux de nommer un tel fichier en fonction du nom de la classe, par exemple, couch.rst. Cela vous donnera au moins le COT de haut niveau.

Je ne sais pas si sphinxcontrib.phpdomain prend en charge les entrées de table des matières autres que les noms et les titres de fichiers reStructuredText simples dans les fichiers. En supposant que sphinxcontrib.phpdomain ne fournit pas la profondeur de COT que vous désirez, vous pouvez essayer d'insérer des en-têtes arbitraires.

En Python, nous avons autodoc qui documente automatiquement le code Python, mais je n'ai aucune idée si cela fonctionne avec du code PHP. Sinon, il peut y avoir un paquet pour PHP car autodoc est pour Python.

+0

Le seul paquet PHP autodoc que j'ai trouvé était obsolète. Pour cette raison, j'ai décidé d'écrire la documentation manuellement. J'ai trouvé une façon temporaire d'indexer ma classe et mes méthodes. J'ai fait une custom directement qui définit les en-têtes cachés. Ces en-têtes sont cachés dans la page mais ils sont des spectacles dans l'arbre des toc. –