Je veux faire plusieurs versions d'une documentation, qui diffère dans les sections incluses. Pour atteindre cet objectif, j'utiliserais habituellement soit le Seulement directive ou le EXTENDEMENT IFCONFIG . Cependant, je ne peux utiliser aucun de ceux en combinaison avec le directive TCRee .
Ce que je veux fondamentalement, c'est quelque chose comme ceci: p> existe un moyen de le faire? P> P>
4 Réponses :
Autant que je sache, il n'y a aucun moyen de faire ce que vous voudriez. J'ai eu du mal avec le même problème, voir https://github.com/sphinx-doc / Sphinx / Problèmes / 1717 .
La raison est que la raison est que Sphinx traite toutes les lignes contenues dans un nœud Toctree comme texte pur. p>
Je vois deux alternatives: p>
Vous pouvez étendre le toctre, y compris une option contenant l'expression à évaluer p>
Et puis vous personnalisez l'événement Doctree Resolve. P> Vous pouvez utiliser des substitutions de texte sur le texte brut définissant vos propres tags. Vous pouvez faire cette mise en œuvre d'un gestionnaire d'événements pour l'événement de lecture source. Par exemple Selon numéro 3 est assez simple, tandis que le numéro 2 est le plus élégant. < / p> p>
$$ condition $$ code> pourrait contenir la condition à évaluer, tandis que
$$$ code> la fin du bloc, c'est-à-dire. P>
MyCondition code>, vous pouvez supprimer les lignes de bloc suivantes. P>
Ma solution consiste à placer le contenu conditionnel dans un répertoire distinct 'stagiaire' et à l'aide d'une balise 'interne'.
dans Conf.py j'ai ajouté les lignes p> La balise interne peut être utilisée uniquement avec uniquement. P > Le TOC contient des références à stagiaire / somedoc et ils sont inclus ou ignorés selon les besoins.
Je reçois un certain nombre d'avertissements sur les pages manquantes, mais celles-ci peuvent être réduites au silence. P> p>
Une solution très simple consiste à maintenir deux fichiers d'index distincts sous différents noms. Vous pouvez spécifier quel fichier d'index à utiliser par défaut dans conf.py code> et le remplacer pour une version spéciale utilisant
-d master_doc = alternate-index code> sur le
Sphinx- Construire la ligne de commande code>. p>
Ma réponse précédente échoue si vous avez des hiérarchies de table des matières, donc j'ai écrit une simple directive et définir la liste d'exclusion sur ajoutez les lignes suivantes à votre change maintenant votre existant Toctree-Filt Code> capable de filtrer les entrées en fonction d'un préfixe à l'entrée. Par exemple, étant donné une directive
toctree-filt code> comme
["brouillon", 'Erik'] code> entraînera une
Efficace toctree qui ressemble à p>
conf.py code>: p>
/ sphinx_ext code> à côté de votre
/ source code>: p>
Toctree Code> Directives à
Toctree-Filt Code> Et vous êtes bon à rouler. Notez que Sphinx postera des erreurs car il trouvera des fichiers qui ne sont pas inclus dans le document. Je ne sais pas comment résoudre ce problème. p> p>
Cette réponse pourrait aider: Stackoverflow.com/a/22024580/407651