La directive `inline` est fournie par le module d'extension [[!iki plugins/inline desc=inline]]. Cette directive permet l'inclusion d'une page de wiki dans une autre. L'utilisation la plus fréquente de cette directive est la création de blog ou de flux Atom ou RSS. Exemple : \[[!inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]] Toute page correspondant à la spécification, [[PageSpec]], (dans l'exemple, toute [[SubPage]] de "blog") fera partie du blog et les dix dernières pages apparaîtront dans la page. Notez que les fichiers qui, sans être des pages, correspondent à la spécification, seront inclus dans la diffusion par RSS, ce qui est utile pour le « podcasting ». Le paramètre facultatif `rootpage` indique que les nouveaux messages de ce blog seront des sous-pages [[SubPages|SubPage]] de "blog". Il active aussi un formulaire en haut de la page du blog qui permet l'écriture de nouveaux messages. Si vous voulez que le blog possède une page d'archive, listant tous les messages déjà envoyés, voici ce qu'il faut faire : \[[!inline pages="blog/* and !*/Discussion" archive="yes"]] Vous pouvez même créer une liste de toutes les pages du wiki, les plus récentes en tête, comme cela : \[[!inline pages="* and !*/Discussion" archive="yes"]] Vous pouvez aussi ajouter des pages à un blog donné en les étiquetant. Pour étiqueter une page, il suffit de la lier à une ou plusieurs pages qui représentent cette étiquette. Puis, il faut utiliser une spécification [[PageSpec]] avec la fonction spéciale `link()` pour trouver toutes les pages correspondant à cette étiquette. \[[!inline pages="link(rugby)"]] Vous pouvez aussi inclure certaines étiquettes et en exclure d'autres : \[[!inline pages="link(debian) and !link(social)"]] ## Usage Il est possible d'utiliser beaucoup de paramètres avec la directive `inline`. Voici les plus communs : * `pages` - Une spécification [[PageSpec]] des pages à relier. * `show` - Indique le nombre maximun de pages correspondantes à relier. Par défaut, ce nombre vaut 10 sauf pour l'archivage où toutes les pages sont reliées. La valeur 0 permet d'afficher toutes les pages correspondantes. * `archive` - Quand ce paramètre vaut "yes", on ne liste que le titre des pages et certaines métadonnées, pas tout le contenu des pages. * `description` - donne le nom du flux RSS créé. Par défaut, c'est le nom du wiki. * `skip` - Indique un nombre de pages à ne pas afficher. C'est utile pour produire un flux qui ne montre que les pages archivées. * `postform` - Quand ce paramètre vaut "yes", le formulaire qui permet de créer de nouvelles pages sur un blog est activé. * `postformtext` - Spécifie le texte affiché par le formulaire. * `rootpage` - Active le formulaire et indique l'endroit où les nouveaux messages seront placés, en donnant la page dont ils seront des sous-pages. Voici quelques paramètres moins nécessaires : * `actions` - Quand ce paramètre vaut "yes", des liens permettant la modification et la discussion sont ajoutés au bas des pages reliées plutôt qu'en haut. * `rss` - Contrôler la création d'un flux RSS. Si le wiki est configuré par défaut pour créer des flux rss, le mettre à "no" désactive la création de flux. Si le wiki est configuré avec l'option `allowrss`, le mettre à "yes" active la création de flux rss. * `atom` - Contrôler la création d'un flux Atom. Si le wiki est configuré par défaut pour créer des flux Atom, le mettre à "no" désactive la création de flux. Si le wiki est configuré avec l'option `allowatom`, le mettre à "yes" active la création de flux Atom. * `feeds` - Contrôler la création de tout type de flux. Le mettre à "no" pour désactiver la création de flux. * `emptyfeeds` - Mettre ce paramètre à "no" pour désactiver toute création de flux vides. N'a aucun effet si le paramètre `rootpage` ou le paramètre `postform` est activé. * `template` - Ce paramètre indique le modèle de page à utiliser pour chaque page reliée. Par défaut le modèle utilisé est `inlinepage`. Pour les archives, le modèle utilisé est `archivepage`. Il est possible d'utiliser d'autres modèles comme `titlepage` qui n'affiche que le titre des messages, ou `microblog`, optimisé pour le « microblogging », et même de créer vos propres modèles. Notez que vous devez quand même activer le paramètre archive, `archive=yes`, si votre modèle n'inclut pas le contenu de la page. * `raw` - Si ce paramètre vaut "yes", la page sera incluse sous sa forme « brute », sans balisage supplémentaire, comme si elle faisait partie de la source de la page dans laquelle elle est incluse. Le comportement par défaut de ce paramètre est de créer un blog. * `sort` - permet d'indiquer comment les pages liées sont triées [[sorted|pagespec/sorting]]. Par défaut, les pages les plus récentes sont triées en premier. * `reverse` - Si ce paramètre vaut "yes", l'ordre de classement est renversé. * `feedshow` - Indique le nombre maximun de pages à inclure dans le flux RSS/Atom. La valeur par défaut est la même que celle du paramètre `show`. * `feedonly` - Ne créer que le flux, ne pas afficher les pages reliées sur la page. * `quick` - Construire l'archive en mode rapide, sans chercher les métadonnées dans le contenu des pages. Cela désactive la création de flux. * `timeformat` - Ce paramètre permet d'indiquer la manière d'afficher l'heure ou la date dans les pages de blog. Le format est passé à la fonction strftime(3). * `feedpages` - Une spécification [[PageSpec]] des pages à inclure dans le flux rss/atom. Par défaut, cette valeur est la même que celle du paramètre `pages` et seules les pages correspondantes sont incluses, mais une spécification plus précise peut en exclure certaines. * `guid` - Si une URI est donnée (peut-être un UUID préfixé, `urn:uuid:`), le flux Atom aura cet identifiant, son ``. Par défaut, l'URL de la page contenant la directive `inline` est utilisée. * `feedfile` - On peut utiliser ce paramètre pour changer le nom du fichier créé pour le flux. C'est très utile dans le cas d'une page qui contient plusieurs flux. Par exemple, indiquez "feedfile=feed" pour créer un fichier `page/feed.atom` ou `page/feed.rss`. Si le wiki est configuré pour ne pas utiliser `usedirs`, ce paramètre ne fonctionne pas. * `pagenames` - Si ce paramètre est utilisé à la place de `pages`, il est interprété comme une liste de liens, séparés par des espaces, avec les mêmes règles [[SubPage/LinkingRules]] que dans un [[ikiwiki/WikiLink]]. Ces liens sont reliés dans l'ordre dans lequel ils sont listés : les paramètres `sort` et `pages` ne peuvent pas être utilisés en même temps. [[!meta robots="noindex, follow"]] Une directive apparentée à cette directive est [[ikiwiki/directive/edittemplate]], qui permet d'indiquer un texte par défaut pour la nouvelle page.