xref: /plugin/catmenu/DOKU (revision aa591c9040aa9d58df44eaf65df693766613dc9f)
1====== CatMenu Plugin ======
2
3---- plugin ----
4description: Affiche un menu arborescent de namespace
5author     : Valentin LORTET
6email      : contact@valentinlortet.fr
7type       : Syntax, Action
8lastupdate : 2026-03-14
9compatible : Librarian
10depends    :
11conflicts  :
12similar    :
13tags       : Navigation, Menu, Namespace, ProseMirror
14
15downloadurl: https://github.com/Lortet/dokuwiki-plugin-catmenu/zipball/master
16bugtracker : https://github.com/Lortet/dokuwiki-plugin-catmenu/issues
17sourcerepo : https://github.com/Lortet/dokuwiki-plugin-catmenu/
18donationurl:
19screenshot_img :
20----
21
22===== Installation =====
23
24Installer le plugin depuis le [[fr:plugin:extension|Gestionnaire d'extensions]].
25
26===== Description =====
27
28Le plugin **catmenu** permet :
29  * d'afficher un menu arborescent (pages + sous-dossiers) pour un namespace ;
30  * d'ouvrir automatiquement la branche correspondant à la page courante ;
31  * de gérer les pages d'accueil de namespace (''$conf['start']'') ;
32  * de proposer un menu contextuel d'actions configurable (selon permissions) ;
33  * d'injecter du DokuCode personnalisé en pied de menu.
34
35===== Syntaxe =====
36
37Utilisation :
38  * ''{{catmenu>namespace}}''
39
40Exemples :
41  * ''{{catmenu>.}}'' (namespace courant)
42  * ''{{catmenu>wiki}}''
43  * ''{{catmenu>docs:projet}}''
44
45===== Paramètres =====
46
47^ Nom ^ Description ^ Valeur par défaut ^
48| skip_file | Regex pour ignorer des IDs de page. Accepte aussi ''@hidepages'' pour réutiliser le paramètre ''hidepages'' de DokuWiki. | '''' |
49| skip_page_without_title | Ignorer les pages sans titre H1. | ''true'' |
50| show_in_editor_menu | Afficher le bouton d'insertion dans l'éditeur. | ''true'' |
51| context_menu_items | Actions disponibles dans le menu contextuel (cases à cocher). | toutes activées |
52| footer_content | DokuCode multiligne injecté à la fin de chaque menu. | '''' |
53
54===== Compatibilité =====
55
56  * Compatible avec [[https://www.dokuwiki.org/plugin:prosemirror|ProseMirror]]
57  * Utilise [[https://www.dokuwiki.org/plugin:pagesicon|pagesicon]] pour afficher les icônes quand disponible. L'action "Gérer l'icône" dans le menu contextuel n'apparaît que si ''pagesicon'' est installé.
58  * Compatible avec le plugin ''newpagefill'' pour la création de pages. S'il est présent, ''catmenu'' utilise son assistant de création.
59
60===== Menu contextuel =====
61
62Clic droit sur un item du menu. Chaque action est activable/désactivable individuellement dans la configuration :
63  * **Créer une nouvelle page** (''newpage'') — si autorisé ;
64  * **Recharger le cache** (''reload'') — (''purge=true'') ;
65  * **Gérer les médias** (''medias'') — ouvre le gestionnaire de médias ;
66  * **Gérer l'icône** (''pagesicon'') — uniquement si ''pagesicon'' est installé ;
67  * **Copier l'URL** (''url'').
68
69===== Footer DokuCode =====
70
71Le paramètre ''footer_content'' accepte du markup DokuWiki multiligne. Il est rendu en HTML et injecté dans un bloc ''<div class="catmenu-footer">'' sous chaque menu. Utile pour ajouter des liens permanents, des notes ou des raccourcis.
72
73===== Permissions =====
74
75Le rendu respecte les ACL DokuWiki :
76  * lecture minimale pour afficher un item ;
77  * actions contextuelles limitées selon les droits (create/edit/upload).
78