xref: /plugin/catmenu/DOKU (revision 339ba49c4f5b2a42161c07b899707ee1625d260f)
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���� **Français** | [[plugin:catmenu|���� English]] | [[de:plugin:catmenu|���� Deutsch]] | [[es:plugin:catmenu|���� Español]]
23
24===== Installation =====
25
26Installer le plugin depuis le [[fr:plugin:extension|Gestionnaire d'extensions]].
27
28===== Description =====
29
30Le plugin **catmenu** permet :
31  * d'afficher un menu arborescent (pages + sous-dossiers) pour un namespace ;
32  * d'ouvrir automatiquement la branche correspondant à la page courante ;
33  * de gérer les pages d'accueil de namespace (''$conf['start']'') ;
34  * de proposer un menu contextuel d'actions configurable (selon permissions) ;
35  * d'injecter du DokuCode personnalisé en pied de menu.
36
37===== Syntaxe =====
38
39Utilisation :
40  * ''{{catmenu>namespace}}''
41
42Exemples :
43  * ''{{catmenu>.}}'' (namespace courant)
44  * ''{{catmenu>wiki}}''
45  * ''{{catmenu>docs:projet}}''
46
47===== Paramètres =====
48
49^ Nom ^ Description ^ Valeur par défaut ^
50| skip_file | Regex pour ignorer des IDs de page. Accepte aussi ''@hidepages'' pour réutiliser le paramètre ''hidepages'' de DokuWiki. | '''' |
51| skip_page_without_title | Ignorer les pages sans titre H1. | ''true'' |
52| show_in_editor_menu | Afficher le bouton d'insertion dans l'éditeur. | ''true'' |
53| context_menu_items | Actions disponibles dans le menu contextuel (cases à cocher). | toutes activées |
54| footer_content | DokuCode multiligne injecté à la fin de chaque menu. | '''' |
55
56===== Compatibilité =====
57
58  * Compatible avec [[https://www.dokuwiki.org/plugin:prosemirror|ProseMirror]]
59  * 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é.
60  * Compatible avec le plugin ''newpagefill'' pour la création de pages. S'il est présent, ''catmenu'' utilise son assistant de création.
61
62===== Menu contextuel =====
63
64Clic droit sur un item du menu. Chaque action est activable/désactivable individuellement dans la configuration :
65  * **Créer une nouvelle page** (''newpage'') — si autorisé ;
66  * **Recharger le cache** (''reload'') — (''purge=true'') ;
67  * **Gérer les médias** (''medias'') — ouvre le gestionnaire de médias ;
68  * **Gérer l'icône** (''pagesicon'') — uniquement si ''pagesicon'' est installé ;
69  * **Copier l'URL** (''url'').
70
71===== Footer DokuCode =====
72
73Le 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.
74
75===== Permissions =====
76
77Le rendu respecte les ACL DokuWiki :
78  * lecture minimale pour afficher un item ;
79  * actions contextuelles limitées selon les droits (create/edit/upload).
80