====== Newpagefill Plugin ====== ---- plugin ---- description: Assistant de création de page avec préremplissage et support de @TITLE@ author : Valentin LORTET email : contact@valentinlortet.fr type : Action lastupdate : 2026-03-13 compatible : Librarian depends : conflicts : similar : tags : Page, Création, Template, Namespace, JavaScript downloadurl: https://github.com/Lortet/dokuwiki-plugin-newpagefill/zipball/master bugtracker : https://github.com/Lortet/dokuwiki-plugin-newpagefill/issues sourcerepo : https://github.com/Lortet/dokuwiki-plugin-newpagefill/ donationurl: screenshot_img : ---- ===== Installation ===== Installer le plugin depuis le [[fr:plugin:extension|Gestionnaire d'extensions]]. ===== Description ===== Le plugin **newpagefill** ajoute un assistant léger pour créer une nouvelle page : * saisie d'un titre ; * proposition automatique d'un identifiant de page ; * saisie optionnelle du namespace ; * choix du mode de création selon la configuration ; * ouverture directe de l'éditeur sur la page cible. Il complète aussi le système de templates natif de DokuWiki : * utilisation de ''_template.txt'' ou ''__template.txt'' si présents ; * ajout du placeholder ''@TITLE@'' dans le contenu injecté ; * fallback vers un template propre au plugin si aucun template natif n'existe. ===== Configuration ===== ^ Nom ^ Description ^ Valeur par défaut ^ | template | Template de secours utilisé si aucun template natif DokuWiki n'est trouvé. | ''===== @TITLE@ ====='' | | default_start_mode | Mode par défaut de création. | ''start'' | Valeurs possibles pour ''default_start_mode'' : * ''ask'' : affiche un sélecteur dans la popup ; * ''start'' : crée une page de démarrage ; * ''none'' : crée une page directe ; * ''same'' : crée une sous-page du même nom. ===== Placeholders ===== Le template du plugin peut contenir : * ''@TITLE@'' : titre calculé par le plugin (spécifique à newpagefill) ; * tous les placeholders natifs DokuWiki : ''@ID@'', ''@NS@'', ''@PAGE@'', ''@USER@'', ''@DATE@'', etc. (gérés par le core DokuWiki, pas par ce plugin). ===== Comportement de @TITLE@ ===== La valeur de ''@TITLE@'' est calculée ainsi : * la valeur ''title'' de la requête est prioritaire ; * sinon, le plugin tente d'extraire un titre depuis l'URL de création ; * si la page créée correspond à la page de démarrage du namespace, le nom du namespace parent est utilisé ; * les caractères ''_'' sont remplacés par des espaces. ===== Compatibilité templates ===== Le plugin respecte l'ordre suivant : * template déjà fourni par DokuWiki ; * ''_template.txt'' dans le dossier cible ; * ''__template.txt'' dans le namespace courant ou parent ; * template de secours configuré dans le plugin. ===== Fonction JavaScript ===== Le plugin expose la fonction globale : window.NewPageFill.openCreatePageDialog(options) Exemple : window.NewPageFill.openCreatePageDialog({ namespace: 'wiki:documentation', initialTitle: 'Nouvelle page' }); Options utiles : * ''namespace'' : namespace DokuWiki de destination ; * ''initialTitle'' : titre prérempli ; * ''start'' : * ''undefined'' ou ''null'' : utilise la configuration du plugin ; * ''@ask@'' : force l'affichage du choix de mode ; * ''true'' : utilise la page de démarrage du wiki ; * ''false'' : crée la page directement ; * ''@same@'' : crée une sous-page portant le même nom que l'identifiant ; * toute autre chaîne : crée une sous-page avec cette valeur ; * ''sepchar'' : séparateur utilisé pour générer l'identifiant. Si ''start'' n'est pas fourni et que ''default_start_mode = ask'', la popup propose : * page directe ; * page de démarrage ; * sous-page du même nom.