xref: /plugin/newpagefill/DOKU (revision 9a36670832b754c53fa81850c7b00d5bb57a3705)
1====== Newpagefill Plugin ======
2
3---- plugin ----
4description: Assistant de création de page avec préremplissage et support de @TITLE@
5author     : Valentin LORTET
6email      : contact@valentinlortet.fr
7type       : Action
8lastupdate : 2026-03-13
9compatible : Librarian
10depends    :
11conflicts  :
12similar    :
13tags       : Page, Création, Template, Namespace, JavaScript
14
15downloadurl: https://github.com/Lortet/dokuwiki-plugin-newpagefill/zipball/master
16bugtracker : https://github.com/Lortet/dokuwiki-plugin-newpagefill/issues
17sourcerepo : https://github.com/Lortet/dokuwiki-plugin-newpagefill/
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 **newpagefill** ajoute un assistant léger pour créer une nouvelle page :
29  * saisie d'un titre ;
30  * proposition automatique d'un identifiant de page ;
31  * saisie optionnelle du namespace ;
32  * choix du mode de création selon la configuration ;
33  * ouverture directe de l'éditeur sur la page cible.
34
35Il complète aussi le système de templates natif de DokuWiki :
36  * utilisation de ''_template.txt'' ou ''__template.txt'' si présents ;
37  * ajout du placeholder ''@TITLE@'' dans le contenu injecté ;
38  * fallback vers un template propre au plugin si aucun template natif n'existe.
39
40===== Configuration =====
41
42^ Nom ^ Description ^ Valeur par défaut ^
43| template | Template de secours utilisé si aucun template natif DokuWiki n'est trouvé. | ''===== @TITLE@ ====='' |
44| default_start_mode | Mode par défaut de création. | ''start'' |
45
46Valeurs possibles pour ''default_start_mode'' :
47  * ''ask'' : affiche un sélecteur dans la popup ;
48  * ''start'' : crée une page de démarrage ;
49  * ''none'' : crée une page directe ;
50  * ''same'' : crée une sous-page du même nom.
51
52===== Placeholders =====
53
54Le template du plugin peut contenir :
55  * ''@TITLE@'' : titre calculé par le plugin (spécifique à newpagefill) ;
56  * tous les placeholders natifs DokuWiki : ''@ID@'', ''@NS@'', ''@PAGE@'', ''@USER@'', ''@DATE@'', etc. (gérés par le core DokuWiki, pas par ce plugin).
57
58===== Comportement de @TITLE@ =====
59
60La valeur de ''@TITLE@'' est calculée ainsi :
61  * la valeur ''title'' de la requête est prioritaire ;
62  * sinon, le plugin tente d'extraire un titre depuis l'URL de création ;
63  * si la page créée correspond à la page de démarrage du namespace, le nom du namespace parent est utilisé ;
64  * les caractères ''_'' sont remplacés par des espaces.
65
66===== Compatibilité templates =====
67
68Le plugin respecte l'ordre suivant :
69  * template déjà fourni par DokuWiki ;
70  * ''_template.txt'' dans le dossier cible ;
71  * ''__template.txt'' dans le namespace courant ou parent ;
72  * template de secours configuré dans le plugin.
73
74===== Fonction JavaScript =====
75
76Le plugin expose la fonction globale :
77
78<code javascript>
79window.NewPageFill.openCreatePageDialog(options)
80</code>
81
82Exemple :
83
84<code javascript>
85window.NewPageFill.openCreatePageDialog({
86  namespace: 'wiki:documentation',
87  initialTitle: 'Nouvelle page'
88});
89</code>
90
91Options utiles :
92  * ''namespace'' : namespace DokuWiki de destination ;
93  * ''initialTitle'' : titre prérempli ;
94  * ''start'' :
95    * ''undefined'' ou ''null'' : utilise la configuration du plugin ;
96    * ''@ask@'' : force l'affichage du choix de mode ;
97    * ''true'' : utilise la page de démarrage du wiki ;
98    * ''false'' : crée la page directement ;
99    * ''@same@'' : crée une sous-page portant le même nom que l'identifiant ;
100    * toute autre chaîne : crée une sous-page avec cette valeur ;
101  * ''sepchar'' : séparateur utilisé pour générer l'identifiant.
102
103Si ''start'' n'est pas fourni et que ''default_start_mode = ask'', la popup propose :
104  * page directe ;
105  * page de démarrage ;
106  * sous-page du même nom.
107