Aller au contenu

Modèle:Imprimable

Un livre de Wikilivres.

Principe

Ce modèle crée une version imprimable en Lua automatiquement à partir du sommaire d'un livre, en affichant le contenu des pages qui y sont listées, et en transformant leurs noms en titres de niveau 1 (d'où la recommandation d'utiliser des titres de niveau 2 dans les pages, pour qu'elles soient totalement incluses dans leurs titres 1 respectifs).

Le livre peut aussi définir du contenu à placer avant et après les chapitres du livre dans les sous-pages spécifiques suivantes :

livre/Livre-imprimable-avant
Le contenu de cette page est placé avant le contenu des chapitres. Cette page sert notamment à reprendre un texte de présentation de la page de garde.
livre/Livre-imprimable-après
Le contenu de cette page est placé après le contenu des chapitres.

Code Lua utilisé :

Logo

Ce module peut ne pas fonctionner correctement à cause d'une mauvaise configuration des serveurs de ce site :

  • pour les livres de programmation à cause des dernières versions de MediaWiki limitant le nombre de blocs de code de coloration syntaxique à 500.
  • si le nombre de pages du livre dépasse la limite (trop basse) de MediaWiki, la version imprimable ne s'affichera pas.

Exemples

  • {{Imprimable}} : avec l'architecture de livre par défaut.
  • {{Imprimable|Abréviations de l'informatique et de l'électronique}} : pour forcer le sommaire du livre (s'il contient un caractère spécial empêchant sa détection comme l'apostrophe, ou a une architecture spéciale).
  • {{Imprimable|2=Abréviations de l'informatique et de l'électronique}} : pour forcer le titre du livre. Exemple dans en:Professional and Technical Writing/Print version.
  • {{Imprimable|3=1}} : pour ne pas évaluer l'existence de chaque page du livre (en cas de dépassement des performances des serveurs, et toutes les pages du sommaire doivent exister sous peine d'erreur). Exemple dans Programmation PHP/Version imprimable.

Architecture

Il utilise la sous-page du livre "/Sommaire" (ex : MySQL/Sommaire), à l'instar de {{ModèleLivre}} : cela évite de mettre à jour plusieurs listes de pages.


Logo du langage Lua
Ce modèle utilise le langage de programmation Lua. Toute expérimentation devrait être conduite d'abord via une sous-page bac à sable ou dans votre espace utilisateur. Voir le w:Projet:Scribunto si vous voulez en savoir plus.