2017-08-17 2 views
2

Je les classes suivantes:Sphinx supprimer formatage du code de la référence de code personnalisé

class A: 
    def x(): 
     """ Do the thing. """ 
class B(A): 
    def x(): 
     """ 
     Do the thing, but better than the :py:meth:`parent <A.x>` 
     """ 

Le module entier est autodoc ed. Je voudrais avoir un lien vers l'implémentation parente de x qui se traduit par "parent", pas par "parent". Comment puis-je supprimer la mise en forme de code de la référence de méthode personnalisée?

Le lien lui-même est interprété correctement selon la première règle de cross reference formats.

Voici le code HTML généré pour le lien:

<a class="reference internal" href="#my_module.A.x" title="my_module.A.x"> 
    <code class="xref py py-meth docutils literal"> 
     <span class="pre">parent</span> 
    </code> 
</a> 

[Les sauts de ligne insérées par moi pour une meilleure lisibilité. Je n'utilise pas Sphinx 1.6.3 avec Python 3.6.2 dans un environnement Anaconda. Je n'utilise pas Sphinx 1.6.3 avec Python 3.6.2.

question inverse est ici: Sphinx add code formatting to :ref:

+0

Pouvez-vous modifier votre question pour inclure la sortie HTML? Je pense que vous pourriez être en mesure d'ajouter un style personnalisé au CSS de votre thème pour le faire apparaître comme une police normale, non-monospace. –

+0

@StevePiercy. Fait –

+0

AFAIK, Sphinx ne prend pas en charge les styles personnalisés pour le code en ligne. Vous pouvez essayer CSS avec un sélecteur fou, quelque chose comme 'a [href! # Mon_module.A.x]> code> span', et un style qui remplace la classe' pre' avec '! Important'. –

Répondre

1

Je suis confronté au même problème. La seule solution que j'ai trouvé est d'écrire:

""" 
Do the thing, but better than the `parent <#my_module.A.x>`_ 
""" 

qui crée un ol régulier » hyperlien vers l'entrée A.x sur la page HTML. Cependant, cela ne fonctionne que pour la sortie HTML. d'autres formats (par exemple, LaTeX) auront des liens brisés.