J'utilise Sphinx pour générer des documents. J'ai un document restructurétextText et j'aimerais y mettre une image. Le cas est que l'image doit être cliquée de manière à ce que, après qu'un utilisateur clique sur l'image, il faut afficher cette image en pleine taille. J'utilise la directive image et son option cible comme ceci: Le problème est que dans la page rendue, je reçois: p> Il y a correctement questions: p> Y a-t-il un moyen de générer des liens dans la manière dont la directive de l'image le fait? Je veux dire par rapport au document. P> LI>
Y a-t-il une autre manière (intégrée) d'avoir "Thumbnail-> Click -> Big IMAGE" Comportement? P> LI>
ul> p> src code> à partir de la directive sur l'image, mais un attribut incorrect
href code> de l'hyperlien. p>
4 Réponses :
Lorsque vous utilisez la directive code> image code> à partir de Sphinx, Sphinx effectue une manipulation spéciale pour trouver le fichier image et le copier dans votre projet (comme votre Mais l'option code> cible code> prend simplement une URL comme paramètre. Cela ne sait rien à propos de votre projet Sphinx ou de la manière dont vos images sont aménagées et ne tentent pas de deviner. P>
Si vous souhaitez que cela veuille indiquer une version plus grande du même fichier, vous devez probablement faire quelques étapes manuelles (comme peut-être copier le fichier à un emplacement spécifique) ou peut-être fournir une URL relative au grand fichier. , plutôt que l'URL absolue que vous avez dans votre exemple. p>
Si vous voulez passer une manière complètement différente, vous pouvez également essayer de remplacer et de modifier les modèles HTML pour votre projet pour ajouter du JavaScript pour obtenir l'effet d'image click-to-plus grand que vous souhaitez. P> _Images code>), puis rend le HTML à pointer vers cet endroit. P>
N'y a-t-il vraiment pas d'autre moyen? C'est le genre de fonctionnalité que l'on pourrait s'attendre à être pris en charge hors de la boîte.
Utilisez simplement l'option d'échelle:
.. image:: large_image.png :scale: 20%
Bien que cela fonctionne, cela signifie que vous n'êtes pas automatique à l'échelle automatique (avec thème Sphinx 1.3 et RTD au moins) i>
Oui, cela goudrait mon image horizontalement. EDIT: J'ai trouvé que CSS fonctionne autour de celui-ci: img {hauteur: auto! IMPORTANT; } code>
On dirait qu'il y a une extension Sphinx qui le fait maintenant et assez bien à cela, sphinxcontribe -fancybox 0.3.2 . Installez avec pip code>, ajoutez-le à vos extensions dans Conf.py et utilisez la directive
FANCYBOX CODE>:
.. fancybox:: images/image.png
Vient de l'essayer. C'est encore une sorte de rugueux autour des bords. La légende ne montre que sur une image de taille réelle qui est malheureusement un disjoncteur pour moi. J'en ai besoin de faire le contraire. Montrez la légende uniquement sur la vignette.
Ce que je fais pour l'instant est de définir une largeur / hauteur pour ma taille de vignette. Ensuite, lorsque je clique sur l'image, il envoie le navigateur à l'URL de l'image. C'est la même chose que d'utiliser échelle code>. Si je peux obtenir le navigateur pour ouvrir une nouvelle fenêtre / onglet, je pourrais vivre avec ça.
Les liens relatifs semblent fonctionner. Pour la configuration EM> DOCSERVER EM>, si une image est placée dans le répertoire code>, un lien relatif que vous trouverez dans le code suivant fonctionne dans ma construction locale. Voici un exemple en utilisant Figure em> (le soulignement ("_") avant "Images" dans la cible Cible em> est nécessaire):