59 votes

Comment conserver les sauts de ligne lors de la génération de documents python à l'aide de sphinx

J'utilise Sphinx pour générer des documents pour un projet python. La sortie html ne préserve pas les sauts de ligne présents dans la docstring. Exemple:

Code

 def testMethod(arg1,arg2):
    """
    This is a test method

    Arguments:
    arg1: arg1 description
    arg2: arg2 description

    Returns:
    None
    """
    print "I am a test method"

Sphinx O/P :

 TestModule.testMethod(arg1, arg2)

This is a test method

Arguments: arg1: arg1 description arg2: arg2 description

Returns: None

Toute idée de comment résoudre ce problème ?

53voto

Owen Points 14439

En général dans l'utilisation de texte restructuré

 | Vertical bars
| like this

garder les sauts de ligne

23voto

geographika Points 2515

Si vous ajoutez les éléments suivants à votre fichier .rst principal :

 .. |br| raw:: html

   <br />

Ensuite, dans votre balisage, vous pouvez ajouter |br| pour créer des sauts de ligne uniquement pour le HTML.

 I want to break this line here: |br| after the break.

De : http://docutils.sourceforge.net/FAQ.html#how-to-indicate-a-line-break-or-a-significant-newline

11voto

Francesco Points 2787

Dans votre cas, vous pouvez écrire :

 def testMethod(arg1,arg2):
  """
  This is a test method

  | Arguments:
  | arg1: arg1 description
  | arg2: arg2 description

  | Returns:
  | None
  """
  print "I am a test method"

9voto

Adam Hammouda Points 81

Dans mon cas particulier, j'essayais de faire en sorte que autodoc lise une chaîne doc ( """ my doc string """ ). J'ai fini par utiliser \n partout où j'avais besoin d'ajouter un saut de ligne :

 This is the first line\n
and this is the second line\n

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X