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