https://emojipedia.org/
https://gist.github.com/rxaviers/7360908
Peut-on rajouter des icônes dans les titres grâce par exemple aux balises Markdown du type Je l'ai fait mais malheureusement il m'affiche ce que j'ai tapé et non un emoji
Oui, on peut mettre des icônes (émoticônes / emoji ou petites images) à l’intérieur d’un titre Markdown, mais cela dépend entièrement du moteur de rendu que vous utilisez :
| Méthode | Fonctionne si… | Exemple de syntaxe |
|---|---|---|
| Emoji Unicode directs | N’importe quel moteur, car c’est juste du texte Unicode. | # 🚀 Mon superbe projet |
| Codes “ |
Le moteur de rendu implémente la GitHub-Flavored Markdown (GFM) ou un plugin équivalent. | # :rocket: Mon superbe projet |
| Entités HTML | Le moteur accepte le HTML brut. | # 🚀 Mon superbe projet |
Balise <img> (petite image ou SVG) |
Le moteur accepte le HTML brut et n’applique pas de filtrage strict dans les titres. | # <img src="icon.svg" width="18" alt=""> Mon superbe projet |
:smile: ?Le Markdown “pur” (CommonMark) ne transforme pas la séquence :smile: en emoji. Seuls certains sites / générateurs (GitHub, GitLab, JupyterLab, etc.) activent cette substitution via une extension.
Question :
Sur quelle plateforme ou avec quel outil rendez-vous votre fichier Markdown ?
Le comportement varie (GitHub, GitLab, VS Code Preview, Notion, Obsidian, générateur de site statique, etc.). Avec ce détail je pourrai indiquer la méthode exacte ou l’éventuel plugin à activer.
Pour les titres de mes pages dans la plateforme Wikijs en self-hosting., c'est juste pour le titre des pages pour éviter le genre d'icone page blanche comme dans l'exemple entouré en rouge en piece jointe
Le volet de gauche que vous avez entouré correspond au mode « Site Tree » de Wiki.js :
chaque nœud est rendu avec l’icône générique mdi-file-document-outline (ou fas fa-file selon le jeu d’icônes actif).
Ce composant n’interprète pas le Markdown de la page ; il lit seulement :
/portfolio/offres/...)et ajoute automatiquement l’icône “page blanche”. On ne peut donc pas y injecter un emoji ou une icône « en Markdown ».
| Solution | Avantage | Limitation / effort |
|---|---|---|
| 1. Passer en navigation « Statique » ou « Personnalisée » et choisir une icône par lien | Icône vraie (Font Awesome, Material Design Icons, etc.) affichée avant le titre dans le volet | Il faut construire le menu à la main (ou combiner « Custom » + « Site Tree ») |
| 2. Laisser « Site Tree » mais cacher l’icône par défaut via CSS et mettre l’emoji dans le Titre | Rapide, pas de reconstruction de menu | On triche : on masque l’icône, on s’appuie sur l’emoji du titre |
| 3. Injecter du JS/CSS plus lourd (MutationObserver) pour remplacer les icônes | 100 % flexible | Maintenance et test à chaque mise-à-jour de Wiki.js |
Les deux premières suffisent pour 99 % des cas ; ci-dessous les étapes détaillées.
Le mode Custom affiche à la fois votre menu statique et le Site Tree classique.citeturn22view0
mdi-rocket (Material Design)fas fa-rocket (Font Awesome 5)Astuce : vous pouvez créer un menu « Custom » minimal (page d’accueil + quelques pages clés) et laisser les autres pages visibles via le bouton Browse du Site Tree.
Ouvrez la page → ✏️ Éditer → bouton Page (en haut à droite).
Dans Titre, placez l’emoji au début :
🚀 Mon superbe projet
Le Site Tree affichera ce texte, emoji compris, à droite de l’icône générique.
Masquez l’icône générique par une petite injection CSS :
/* Administration ▶ Theme ▶ CSS Injection */
.navigation-drawer .v-list-item__icon {
display: none;
}
Vous ne voyez plus que l’emoji + le titre.
Des projets comme wikijs-customization montrent comment, via Code Injection + JavaScript (Mutation Observer), on peut :
<i class="mdi mdi-rocket">.C’est puissant mais à réserver si vous devez vraiment automatiser des centaines de pages – car chaque montée de version de Wiki.js peut casser le sélecteur CSS/DOM.
N’hésitez pas à me dire quelle voie vous préférez : je pourrai détailler les commandes exactes ou le CSS/JS à injecter.
Pour masquer l'icône et mettre un emoji directement, le titre en solution express me convient très bien. Néanmoins, je souhaite rester en mode de navigation arborescence du site. Est-ce possible ? Et si oui, merci de m'indiquer comment puisque je n'ai pas trouvé ou injecté le CSS pour la solution 2. Vu que le CSS n'est actif que lorsqu'on prend un menu de navigation statique ou personnalisé.
Le champ Theme ▸ Code Injection ▸ CSS Override est disponible quel que soit le mode de navigation (Site Tree, Static, Custom ou None). Il suffit donc d’y coller une règle qui cache l’icône par défaut, puis de placer votre emoji au début du Titre de la page.
| Étape | Action précise |
|---|---|
| 1. Ouvrir l’admin | Cliquez sur la roue crantée (⚙) ▸ Administration |
| 2. Aller à Theme | Menu latéral : Theme |
| 3. Ouvrir Code Injection | Dans le panneau de droite, onglet CSS Override (ou Overwrite CSS suivant la version) — c’est ici qu’on peut ajouter du CSS global citeturn7view0 |
| 4. Coller le CSS | Copiez / collez le bloc ci-dessous |
| 5. Sauvegarder | Bouton Apply puis actualisez la page (Ctrl + F5) |
/* Masque l’icône « page blanche » dans le Site Tree */
.v-navigation-drawer .v-list-item__icon:first-child,
.v-navigation-drawer .v-icon.mdi-file-document-outline {
display: none !important;
}
Explications rapides :
.v-navigation-drawer cible la colonne latérale..v-list-item__icon:first-child est le conteneur d’icône inséré par Vuetify.mdi-file-document-outline, au cas où elle serait utilisée ailleurs.!important garantit que votre règle l’emporte sur les styles embarqués.🚀 Mon superbe projet
mdi-file-document-outline.Ainsi, vous conservez la navigation « arborescence » tout en affichant vos emojis sans l’icône de fichier par défaut.
N’hésitez pas si vous rencontrez un point bloquant ou si vous voulez affiner le sélecteur CSS ! citeturn8view0
Que tu m'as indiqué, j'ai rafraîchi la page, mais comme tu peux le voir sur l'image, il y a toujours devant mon titre exemple avec la fusée, ce fameux icône de page blanche qui me gêne et que je souhaite enlever. Peux-tu m'aider ?
Sur la capture on voit que :
Nous allons donc :
Copiez/collez l’ensemble du bloc ci-dessous dans Theme ▸ CSS Override puis Apply :
/* Masque l’icône « fichier » dans le Site Tree (toutes variantes)
— compatible Vuetify 2.x, MDI et Font Awesome
--------------------------------------------------------------- */
.v-navigation-drawer .v-list-item__icon:first-child,
.v-navigation-drawer .v-list-item__icon:first-child .v-icon,
.v-navigation-drawer .v-icon.mdi-file-document-outline,
.v-navigation-drawer .v-icon.mdi-file-document,
.v-navigation-drawer .v-icon.mdi-file-outline,
.v-navigation-drawer .v-icon.mdi-note-outline,
.v-navigation-drawer .fa-file,
.v-navigation-drawer .fa-file-alt {
display: none !important;
width: 0 !important; /* évite un padding résiduel */
margin: 0 !important;
}
.v-navigation-drawer .v-list-item__icon:first-child<i> quand il est injecté sanswidth: 0 + margin: 0 suppriment l’espace réservé, sinon un “trou” subsiste avant l’emoji.!important passe devant les styles inline générés par Vuetify.class (ex. mdi mdi-note-multiple-outline ou las la-file)..v-navigation-drawer .v-icon.mdi-note-multiple-outline { display:none !important; }
Sauvegardez • Hard-refresh.
Dis-moi si les modifications sont bien prises en compte ou si une autre
variante d’icône réapparaît ; on ajustera le sélecteur au besoin.
Je ne sais pas de quel liste tu parles dans :"Ajoutez-la à la fin de la liste :"
Dans ma réponse précédente j’avais donné un bloc CSS :
.v-navigation-drawer .v-list-item__icon:first-child,
.v-navigation-drawer .v-list-item__icon:first-child .v-icon,
.v-navigation-drawer .v-icon.mdi-file-document-outline,
...
.v-navigation-drawer .fa-file-alt {
display: none !important;
width: 0 !important;
margin: 0 !important;
}
Les sélecteurs sont séparés par des virgules : c’est cette « liste » qu’il faut compléter avec le nom exact de l’icône que ton inspecteur affiche.
Sur ta capture l’icône est :
<i class="v-icon notranslate mdi mdi-text-box theme--dark"></i>
Le nom pertinent est donc mdi-text-box (et, selon les thèmes, mdi-text-box-outline).
Il suffit de les ajouter à la fin de la liste, juste avant la { .
/* Masque les icônes « page » dans le Site Tree */
.v-navigation-drawer .v-list-item__icon:first-child,
.v-navigation-drawer .v-list-item__icon:first-child .v-icon,
.v-navigation-drawer .v-icon.mdi-file-document-outline,
.v-navigation-drawer .v-icon.mdi-file-document,
.v-navigation-drawer .v-icon.mdi-file-outline,
.v-navigation-drawer .v-icon.mdi-note-outline,
.v-navigation-drawer .v-icon.mdi-text-box, /* <— ajouté */
.v-navigation-drawer .v-icon.mdi-text-box-outline, /* <— ajouté (au cas où) */
.v-navigation-drawer .fa-file,
.v-navigation-drawer .fa-file-alt {
display: none !important;
width: 0 !important;
margin: 0 !important;
}
(Tu peux copier-coller le bloc complet ci-dessus pour remplacer l’ancien.)
class du <i>.mdi xyz.mdi- (ex. text-box-multiple-outline) et ajoute-la.v-navigation-drawer .v-icon.mdi-text-box-multiple-outline { display:none!important; }
Dis-moi si l’icône a bien disparu ; sinon, indique-moi la valeur exacte du
class que tu vois et on l’ajoutera.
Ca fonctionne, merci.
Ou puis je trouver la liste complete des icones tels que celui de la fusée de ton exemple ?
Voici où trouver – et comment utiliser – l’ensemble des icônes compatibles avec Wiki.js :
| Jeu d’icônes | Où parcourir toute la bibliothèque | Exemple « fusée » | Classe à saisir dans Wiki.js |
|---|---|---|---|
| Material Design Icons (MDI) | https://pictogrammers.com/library/mdi/ – moteur de recherche en haut de page. Liste hors-ligne : https://pictogrammers.github.io/@mdi/font/latest/ citeturn0search4 | Page « rocket » citeturn0search0 | mdi-rocket |
| Font Awesome 5/6 Free | https://fontawesome.com/icons – filtre par mot-clé, catégorie ou style (solid, regular, etc.). | Page « rocket » (style solid) citeturn0search5 | fas fa-rocket (ou fa-solid fa-rocket en v6) |
Quel jeu d’icônes est actif ?
Dans Administration ▶ Theme ▶ Icon Set, Wiki.js vous laisse choisir Material Design Icons ou Font Awesome 5 (ou les deux si vous servez vos propres fichiers). Les classes que vous tapez dans un lien de navigation ou dans votre CSS doivent correspondre à ce choix ; sinon l’icône ne s’affichera pas.
mdi-rocket) est copiée dans votre presse-papiers ou affichée dans la fiche.<i class="mdi mdi-rocket"></i>).mdi-rocket-outline, mdi-rocket-launch, mdi-rocket-off… Utilisez le champ de recherche pour explorer.mdi-24px, mdi-36px, mdi-rotate-90, etc. citeturn0search2fas : solid (plein)far : regularfal : light (Pro)fa-solid / fa-regular en v6..woff2) signale souvent une URL ou un CDN manquant.En résumé :
Accédez à la bibliothèque (MDI ou Font Awesome), copiez la classe de l’icône désirée, puis collez-la telle quelle dans Wiki.js.
Vous disposez de milliers de pictos prêts à l’emploi pour personnaliser vos menus ou vos pages. Bonne chasse !
...proposé par Wikijs dans les trois familles que tu m'as proposé. Où as-tu récupéré la fusée ? Je peux aller la copier et coller directement l'emoji plutôt que de rentrer le code, je préfère. Peux-tu m'indiquer le lien ?
Voici les trois « répertoires » où tu peux copier-coller directement la fusée (ou n’importe quel autre pictogramme) ; il suffit d’ouvrir le lien, cliquer sur l’icône, puis Ctrl + C :
| Catégorie | À quoi ça sert ? | Lien direct vers la fusée |
|---|---|---|
| Emoji Unicode (caractère texte) | Le plus simple : tu copies l’emoji 🚀 comme une lettre. | 🚀 Emojipedia – Rocket → https://emojipedia.org/rocket citeturn0search0 |
| Material Design Icons (SVG / police d’icônes) | Icônes vectorielles utilisées par défaut dans Wiki.js si Icon Set = MDI. | MDI – rocket → https://pictogrammers.com/library/mdi/icon/rocket/ citeturn0search1 |
| Font Awesome 5/6 (SVG / police d’icônes) | Icônes vectorielles si tu as activé Font Awesome dans Theme ▸ Icon Set. | Font Awesome – rocket → https://fontawesome.com/icons/rocket citeturn0search2 |
🚀 Mon superbe projet
Astuce : si tu veux d’autres emojis, reste sur Emojipedia ; le site affiche à droite un panneau « Copy » pour chaque caractère.
mdi-rocket ou fas fa-rocket)Mais pour ton cas (emoji dans le titre) le lien Emojipedia suffira. Bonne personnalisation !