xref: /plugin/newpagefill/README.md (revision 9a36670832b754c53fa81850c7b00d5bb57a3705)
1# Newpagefill
2
3���� Français | [���� English](README_EN.md) | [���� Deutsch](README_DE.md) | [���� Español](README_ES.md)
4
5Le plugin peut :
6- ouvrir une petite popup de création avec un titre et un identifiant ;
7- proposer automatiquement un identifiant à partir du titre ;
8- préremplir la page avec un template du plugin si aucun template natif n'existe ;
9- enrichir les templates natifs DokuWiki avec `@TITLE@`.
10
11## Utilisation
12
13Le plugin ajoute une interface de création de page plus simple :
14- vous saisissez un titre ;
15- vous pouvez aussi saisir un namespace si aucun namespace n'est fourni au script ;
16- le plugin propose un identifiant ;
17- il ouvre ensuite directement l'éditeur de la nouvelle page.
18
19Si un template natif DokuWiki existe (`_template.txt` ou `__template.txt`), il est utilisé.
20Sinon, le plugin applique son propre template configuré.
21
22## Configuration
23
24Dans le gestionnaire de configuration :
25- `template` : template de secours utilisé seulement si aucun template natif DokuWiki n'est trouvé
26- `default_start_mode` : mode par défaut de création de la page (`ask`, `start`, `none`, `same`)
27
28Ce template peut contenir :
29- `@TITLE@` : titre calculé par le plugin (spécifique à newpagefill)
30- tous les placeholders natifs DokuWiki : `@ID@`, `@NS@`, `@PAGE@`, `@USER@`, `@DATE@`, etc. (gérés par le core, pas par ce plugin)
31
32## Comportement de `@TITLE@`
33
34Le plugin remplit `@TITLE@` ainsi :
35- il prend d'abord la valeur `title` si elle existe ;
36- sinon, il essaie de la déduire depuis l'URL de création ;
37- si la page créée est une page de démarrage comme `accueil`, il utilise le nom du namespace parent ;
38- les `_` sont transformés en espaces.
39
40## Compatibilité avec DokuWiki
41
42Le plugin respecte le système natif de templates :
43- `_template.txt`
44- `__template.txt`
45
46Il ne le remplace pas.
47Il ajoute seulement le support de `@TITLE@` — les placeholders natifs DokuWiki (`@ID@`, `@NS@`, etc.) sont gérés par le core après coup.
48
49## Fonction JavaScript disponible
50
51Le plugin expose aussi une fonction JavaScript globale :
52
53```js
54window.NewPageFill.openCreatePageDialog(options)
55```
56
57Exemple :
58
59```js
60window.NewPageFill.openCreatePageDialog({
61  namespace: 'wiki:documentation',
62  initialTitle: 'Nouvelle page'
63});
64```
65
66Options utiles :
67- `namespace` : namespace DokuWiki dans lequel créer la page. S'il n'est pas fourni, la popup permet de le saisir
68- `initialTitle` : titre proposé à l'ouverture
69- `start` :
70  - `undefined` ou `null` : utilise le mode par défaut configuré dans le plugin
71  - `'@ask@'` : demande le type de création même si un mode par défaut existe
72  - `true` : utilise la page de démarrage du wiki, par exemple `accueil`
73  - `false` : crée la page directement
74  - `'@same@'` : crée une sous-page portant le même nom que l'identifiant
75  - toute autre chaîne : crée une sous-page avec cette valeur
76- `sepchar` : séparateur utilisé pour générer l'identifiant
77
78Si `start` n'est pas fourni et que `default_start_mode = ask`, la popup affiche les trois choix :
79- page directe
80- page de démarrage
81- sous-page du même nom
82