xref: /plugin/pagesicon/README.md (revision 19821f1cafeaa8d92e984e47c4c84aa90423d907)
1# Pagesicon
2
3J'aime beaucoup DokuWiki, mais je l'ai toujours trouvé un peu triste : il manquait un moyen simple d'ajouter de belles icônes aux pages.
4Avec **pagesicon**, c'est maintenant possible.
5
6Le plugin peut :
7- afficher une icône en haut de la page (show) ;
8- utiliser cette icône comme favicon de l'onglet (show_as_favicon) ;
9- proposer une page de gestion d'ïcone avec `?do=pagesicon` ;
10- gèrer les variantes `big` et `small` suivant le contexte.
11- exposer un helper (API réutilisable) pour les autres plugins.
12
13## Utilisation
14
15Depuis une page, utilisez l'action `Gerer l'icône` pour
16- importer une icône `big` ;
17- importer une icône `small` ;
18- supprimer l'icône actuelle.
19
20## Configuration
21
22Dans le gestionnaire de configuration :
23- `icon_name` : noms de fichiers candidats pour l'icône `big`, séparés par `;`, avec support de `~pagename~`
24- `icon_thumbnail_name` : noms de fichiers candidats pour l'icône `small`, séparés par `;`, avec support de `~pagename~`
25- `default_image` : image par défaut utilisée seulement quand une méthode helper demande explicitement un fallback
26- `icon_size` : taille de l'icône affichée en haut de page
27- `extensions` : extensions autorisées, par exemple `svg;png;jpg;jpeg`
28- `show_on_top` : affiche l'icône dans la page
29- `show_as_favicon` : utilise l'icône comme favicon
30- `parent_fallback` : permet d'utiliser l'icône du parent si la page n'en a pas
31
32## Ce que le helper fournit
33
34Charger le helper :
35
36```php
37$pagesicon = plugin_load('helper', 'pagesicon');
38```
39
40Methodes principales :
41
42- `getPageIconId()` : retourne le mediaID de l'icône d'une page
43- `getMediaIconId()` : retourne le mediaID de l'icône associée à un média
44- `getPageIconUrl()` : retourne l'URL versionnée de l'icône d'une page
45- `getMediaIconUrl()` : retourne l'URL versionnée de l'icône associée à un média
46- `getDefaultIconUrl()` : retourne l'URL de l'image par défaut à utiliser quand aucune icône n'est trouvée
47- `getUploadIconPage()` : retourne l'URL de gestion d'icône pour une page
48- `getUploadMediaIconPage()` : retourne l'URL de gestion d'icône pour un média
49- `notifyIconUpdated()` : notifie les autres plugins qu'une icône a changé
50
51## Cache et integrations
52
53Quand une icône est modifiée, le plugin déclenche l'événement `PLUGIN_PAGESICON_UPDATED`.
54
55Cela permet aux autres plugins de recharger ou invalider leur propre cache si besoin.
56
57## Héritage d'icône
58
59Si aucune icône n'est trouvée sur la page, le plugin peut aussi :
60- ne rien hériter ;
61- utiliser l'icône du parent direct ;
62- utiliser la première icône trouvée en remontant les parents.
63