xref: /plugin/newpagefill/DOKU (revision 3f49ec0b89e8372432e2ec033eb734cb870eea56)
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���� **Français** | [[plugin:newpagefill|���� English]] | [[de:plugin:newpagefill|���� Deutsch]] | [[es:plugin:newpagefill|���� Español]]
23
24===== Installation =====
25
26Installer le plugin depuis le [[fr:plugin:extension|Gestionnaire d'extensions]].
27
28===== Description =====
29
30Le plugin **newpagefill** ajoute un assistant léger pour créer une nouvelle page :
31  * saisie d'un titre ;
32  * proposition automatique d'un identifiant de page ;
33  * saisie optionnelle du namespace ;
34  * choix du mode de création selon la configuration ;
35  * ouverture directe de l'éditeur sur la page cible.
36
37Il complète aussi le système de templates natif de DokuWiki :
38  * utilisation de ''_template.txt'' ou ''%%__template.txt%%'' si présents ;
39  * ajout du placeholder ''@TITLE@'' dans le contenu injecté ;
40  * fallback vers un template propre au plugin si aucun template natif n'existe.
41
42===== Configuration =====
43
44^ Nom ^ Description ^ Valeur par défaut ^
45| template | Template de secours utilisé si aucun template natif DokuWiki n'est trouvé. | ''===== @TITLE@ ====='' |
46| default_start_mode | Mode par défaut de création. | ''start'' |
47
48Valeurs possibles pour ''default_start_mode'' :
49  * ''ask'' : affiche un sélecteur dans la popup ;
50  * ''start'' : crée une page de démarrage ;
51  * ''none'' : crée une page directe ;
52  * ''same'' : crée une sous-page du même nom.
53
54===== Placeholders =====
55
56Le template du plugin peut contenir :
57  * ''@TITLE@'' : titre calculé par le plugin (spécifique à newpagefill) ;
58  * tous les placeholders natifs DokuWiki : ''@ID@'', ''@NS@'', ''@PAGE@'', ''@USER@'', ''@DATE@'', etc. (gérés par le core DokuWiki, pas par ce plugin).
59
60===== Comportement de @TITLE@ =====
61
62La valeur de ''@TITLE@'' est calculée ainsi :
63  * la valeur ''title'' de la requête est prioritaire ;
64  * sinon, le plugin tente d'extraire un titre depuis l'URL de création ;
65  * si la page créée correspond à la page de démarrage du namespace, le nom du namespace parent est utilisé ;
66  * les caractères ''_'' sont remplacés par des espaces.
67
68===== Compatibilité templates =====
69
70Le plugin respecte l'ordre suivant :
71  * template déjà fourni par DokuWiki ;
72  * ''_template.txt'' dans le dossier cible ;
73  * %%__template.txt%% dans le namespace courant ou parent ;
74  * template de secours configuré dans le plugin.
75
76===== Fonction JavaScript =====
77
78Le plugin expose la fonction globale :
79
80<code javascript>
81window.NewPageFill.openCreatePageDialog(options)
82</code>
83
84Exemple :
85
86<code javascript>
87window.NewPageFill.openCreatePageDialog({
88  namespace: 'wiki:documentation',
89  initialTitle: 'Nouvelle page'
90});
91</code>
92
93Options utiles :
94  * ''namespace'' : namespace DokuWiki de destination ;
95  * ''initialTitle'' : titre prérempli ;
96  * ''start'' :
97    * ''undefined'' ou ''null'' : utilise la configuration du plugin ;
98    * ''@ask@'' : force l'affichage du choix de mode ;
99    * ''true'' : utilise la page de démarrage du wiki ;
100    * ''false'' : crée la page directement ;
101    * ''@same@'' : crée une sous-page portant le même nom que l'identifiant ;
102    * toute autre chaîne : crée une sous-page avec cette valeur ;
103  * ''sepchar'' : séparateur utilisé pour générer l'identifiant.
104
105Si ''start'' n'est pas fourni et que ''default_start_mode = ask'', la popup propose :
106  * page directe ;
107  * page de démarrage ;
108  * sous-page du même nom.
109