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