Alignement d'image et grille

:information_source: Résumé Ajoute des boutons de grille d’images et d’alignement à la barre d’outils du compositeur
:hammer_and_wrench: Dépôt https://github.com/Lillinator/image-alignment
:question: Guide d’installation Comment installer un thème ou un composant de thème
:open_book: Nouveau sur les thèmes Discourse ? Guide du débutant pour l’utilisation des thèmes Discourse

Installer ce composant de thème

Ce composant de thème insère des boutons dans la barre d’outils du compositeur de messages pour aligner les images téléchargées à gauche ou à droite du texte, au centre du message, ou pour aligner plusieurs images dans une grille, en utilisant les balises de grille nouvellement implémentées. La grille dimensionnera automatiquement les images en fonction de leur nombre et de leurs dimensions, et créera également des liens vers les versions téléchargées plus grandes. Les boutons / fonctions d’alignement peuvent être utilisés plusieurs fois dans un même message pour créer une variété de mises en page. Fonctionne pour les vues de bureau et mobiles. :slight_smile:
Pour l’utiliser, cliquez simplement sur le bouton d’alignement d’image dont vous avez besoin, puis téléchargez les images dans l’emplacement désigné entre les balises résultantes (marqué par un texte d’espace réservé qui peut être modifié dans les paramètres du composant).
Notez que la partie grille de ce composant est destinée à l’alignement des images téléchargées, et non des liens d’image (les autres options d’alignement fonctionneront pour les images liées). J’ai emprunté une partie du cadre de code de base au composant utile MD Composer Extras de @Steven.
À faire : ajouter des sélecteurs d’icônes appropriés pour chaque bouton.


Captures d’écran

bouton de grille de la barre d'outils du compositeur (avec exemple de code de grille)

exemple de grille d'images

bouton d'alignement à droite de la barre d'outils du compositeur (avec exemple de code d'alignement à droite)

image alignée à droite du texte

bouton d'alignement à gauche de la barre d'outils du compositeur (avec exemple de code d'alignement à gauche)

image alignée à gauche du texte

bouton d'alignement au centre de la barre d'outils du compositeur (avec exemple de code d'alignement au centre)

image alignée au centre (avec texte)

27 « J'aime »

bouton pour centrer les images vient d’être ajouté.

4 « J'aime »

Excellent outil ! Pouvez-vous montrer à quoi cela ressemble dans l’éditeur ?

3 « J'aime »

Merci @piffy ! :slight_smile:

Voulez-vous dire le compositeur / éditeur avec la barre d’outils ? Ce serait la première capture d’écran avec l’exemple de grille. J’ajouterai quelques captures d’écran de l’éditeur avec les autres codes d’alignement autour des images.

3 « J'aime »

Merci pour cette solution pour Image Alignment

3 « J'aime »

Super composant ! J’allais justement poser ce genre de question !

Tu es une rockstar qui crée des extensions précieuses !

2 « J'aime »

Merci beaucoup Dan, j’apprécie le compliment et je suis heureux que tu les trouves utiles :slight_smile:

2 « J'aime »

De rien. Comment faites-vous pour que, par exemple, « Aligner à gauche » affiche un texte en gras dans votre capture d’écran ? J’ai essayé le Markdown et il affiche le code Markdown.

Je vois que cela fonctionne avec ### mais le gras standard avec

**Texte**

ne semble pas fonctionner.

Je ne suis pas sûr de comprendre ce que vous voulez dire @Heliosurge ?

3 « J'aime »

Mes excuses, lorsque j’ai essayé plus tôt, cela n’a pas fonctionné. Je ne suis pas sûr de ce qui a changé. C’est vraiment génial, merci.

2 « J'aime »

D’accord, si vous utilisez plus d’une image, j’obtiens ceci.

À partir de ce code. Comment puis-je rendre les informations collantes à chaque image ? Les informations de Shawn devraient être à côté de la 2ème image.

Comment puis-je corriger ?

2 « J'aime »

insérez simplement quelques balises HTML <br><br> entre le premier bloc de texte et la balise <div-data-theme...> jusqu’à ce que l’espacement soit correct. J’essaierai de programmer un retour à la ligne ou quelque chose de similaire quand j’aurai le temps.

2 « J'aime »

Ajoutez des sauts de ligne
jusqu’à ce que le texte s’aligne avec l’image appropriée

Merci encore pour votre aide et votre formidable Theme component !

3 « J'aime »

Je pense que ce n’est pas une méthode fiable car la hauteur du contenu différera de la taille d’une fenêtre à l’autre.

Effacer les flottements lorsqu’il y a un contenu arbitraire à côté d’eux est délicat. Je ne suis pas sûr qu’il y ait une solution évidente ici…[^don]

C’était aussi un problème avec l’éditeur Wordpress pendant des lustres.

Les gens ont tendance à s’appuyer sur des méthodes de bidouillage utilisant des éléments dont le seul but est d’avoir un clear: both; pour réinitialiser les flottements précédents.

[^don] : jusqu’à ce que don se montre :upside_down_face:

2 « J'aime »

Oui, je n’aime pas cette méthode non plus. Je pensais peut-être essayer une solution de propriété d’espace blanc. :thinking: en fin de compte, cela fonctionne mieux si les images alignées sont des messages distincts. Malheureusement, les images dans les tableaux ne fonctionnent pas très bien non plus.

Peut-être pouvez-vous explorer d’autres solutions que les float.

J’ai essayé d’échanger float contre flex:thinking: Sans entrer dans les détails.

[data-theme-image=left] {
    display: flex;
    float: none;
}

[data-theme-image=right] {
    display: flex;
    float: none;
    justify-content: flex-end;
}

[data-theme-image=left] {
    display: flex;
    float: none;
}

[data-theme-image=right] {
    display: flex;
    float: none;
    flex-direction: row-reverse;
}

Ou peut-être regarder du côté de la mise en page grid ? Je n’y connais rien, cependant. Mes connaissances en CSS datent de plusieurs années. :older_adult:

hah l’option de grille fait partie de ce composant de thème :grin:

Je pense aussi que le mien est plus ancien :exploding_head:.

Qu’est-ce que c’est ? Des biscuits ? Je ne peux pas dire s’il s’agit de pommes de terre ou de boulettes ou d’une sorte de biscuits. :sweat_smile:

2 « J'aime »

J’ai fait du daifuku mochi hier, fourré avec de l’anko fait maison.

2 « J'aime »

J’ai essayé ces solutions de propriété flex align mais je n’ai pas trouvé quelque chose de fonctionnel de manière cohérente. J’ai trouvé une solution de contournement utilisable cependant. Si vous faites de chaque section image-texte une citation en bloc, cela les sépare (mais inclut le formatage de citation pour le texte) :

éditeur / aperçu :

résultat :

3 « J'aime »

Ceci est dû au fait que \u003cblockquote\u003e contient un clear: both; dans Discourse.

3 « J'aime »