Dans certains documents, je suis sphinx à écrire, je suis notamment des exemples de code à partir d'un fichier accessoire comme ceci:Existe-t-il un moyen dans Sphinx/Pygments de mettre en évidence une ou plusieurs lignes de code dans les inclusions littérales?
.. literalinclude:: mymodule.py
:pyobject: MyClass
:linenos:
Ce doc particulier est un tutoriel, où les classes sont construire étape par étape. Ce que je voudrais faire est d'inclure la classe entière ou une méthode unique, et souligner seulement les lignes d'intérêt pour cette section. De cette façon, le contexte est préservé, mais les parties intéressantes sont évidentes en un coup d'œil. À l'heure actuelle, je me suis contenté de faire référence aux numéros de ligne dans le texte, ce qui est acceptable, mais loin d'être idéal.
En regardant les docs et le code pour sphinx et pygments je ne trouve pas un moyen évident de le faire. Je ne suis pas opposé à les patcher ou à faire quelque chose de difficile dans conf.py
, mais je me demandais si quelqu'un avait résolu cela.
« De cette façon, le contexte est préservé mais les parties intéressantes sont évidentes un coup d'oeil » Je suis en désaccord avec cette affirmation, moi-même. Je ne suis pas sûr que ce que vous faites vaut vraiment la peine. Peut-être pourriez-vous essayer d'autres présentations en utilisant ': lines:' pour sélectionner des lignes individuelles dans le fichier. –
Je le fais certainement. Mais il y a des cas où c'est inadéquat. En particulier lorsque vous essayez de construire sur des choses créées plus tôt dans le tutoriel. Un nouveau concept peut nécessiter l'ajout de nouvelles lignes à un constructeur de classe créé auparavant. Je voudrais montrer le constructeur dans son intégralité pour le contexte, mais souligner les lignes qui ont été ajoutées, un peu comme un diff. Le lecteur serait déjà familier avec le code existant, donc il n'a pas besoin d'être expliqué, mais le contexte dans lequel les nouvelles lignes sont ajoutées est important pour la compréhension de la situation dans son ensemble. –
Cela serait très utile. – codeape