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