<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>inline</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="../../style.css" type="text/css" /> <link rel="stylesheet" href="../../local.css" type="text/css" /> <meta name="robots" content="noindex, follow" /> </head> <body> <div class="page"> <div class="pageheader"> <div class="header"> <span> <span class="parentlinks"> <a href="../../index.html">ikiwiki</a>/ <a href="../../ikiwiki.html">ikiwiki</a>/ <a href="../directive.html">directive</a>/ </span> <span class="title"> inline </span> </span> </div> </div> <div id="pagebody"> <div id="content" role="main"> <p>The <code>inline</code> directive is supplied by the <a href="http://ikiwiki.info/plugins/inline/">inline</a> plugin.</p> <p>This is a directive that allows including one wiki page inside another. The most common use of inlining is generating blogs and RSS or Atom feeds.</p> <p>Example:</p> <pre><code>[[!inline pages="blog/* and !*/Discussion" limit="10" rootpage="blog"]] </code></pre> <p>Any pages that match the specified <a href="../pagespec.html">PageSpec</a> (in the example, any <a href="../subpage.html">SubPage</a> of "blog") will be part of the blog, and the newest 10 of them will appear in the page. Note that if files that are not pages match the <a href="../pagespec.html">PageSpec</a>, they will be included in the feed using RSS enclosures, which is useful for simple <a href="http://ikiwiki.info/podcast/">podcasting</a>; for fuller-featured podcast feeds, enclose media files in blog posts using <a href="./meta.html">meta</a>.</p> <p>The optional <code>rootpage</code> parameter tells the wiki that new posts to this blog should default to being <a href="../subpage.html">SubPages</a> of "blog", and enables a form at the top of the blog that can be used to add new items.</p> <p>If you want your blog to have an archive page listing every post ever made to it, you can accomplish that like this:</p> <pre><code>[[!inline pages="blog/* and !*/Discussion" archive="yes"]] </code></pre> <p>You can even create an automatically generated list of all the pages on the wiki, with the most recently added at the top, like this:</p> <pre><code>[[!inline pages="* and !*/Discussion" archive="yes"]] </code></pre> <p>If you want to be able to add pages to a given blog feed by tagging them, you can do that too. To tag a page, just make it link to a page or pages that represent its tags. Then use the special <code>link()</code> <a href="../pagespec.html">PageSpec</a> to match all pages that have a given tag:</p> <pre><code>[[!inline pages="link(life)"]] </code></pre> <p>Or include some tags and exclude others:</p> <pre><code>[[!inline pages="link(debian) and !link(social)"]] </code></pre> <h2>usage</h2> <p>There are many parameters you can use with the <code>inline</code> directive. These are the commonly used ones:</p> <ul> <li><code>pages</code> - A <a href="../pagespec.html">PageSpec</a> of the pages to inline.</li> <li><code>limit</code> - Specify the maximum number of matching pages to inline. Default is 10, unless archiving, when the default is to show all. Set to 0 to show all matching pages. In older versions of IkiWiki this parameter was called <code>show</code>, which also still works.</li> <li><code>archive</code> - If set to "yes", only list page titles and some metadata, not full contents.</li> <li><code>title</code> - Sets the title of the rss feed if one is generated. Defaults to the name of the page.</li> <li><code>description</code> - Sets the description of the rss feed if one is generated. Defaults to the name of the wiki.</li> <li><code>skip</code> - Specify a number of pages to skip displaying. Can be useful to produce a feed that only shows archived pages.</li> <li><code>postform</code> - Set to "yes" to enable a form to post new pages to a blog.</li> <li><code>postformtext</code> - Set to specify text that is displayed in a postform.</li> <li><code>rootpage</code> - Enables the postform, and allows controling where newly posted pages should go, by specifiying the page that they should be a <a href="../subpage.html">SubPage</a> of.</li> </ul> <p>Here are some less often needed parameters:</p> <ul> <li><code>actions</code> - If set to "yes" add links to the bottom of the inlined pages for editing and discussion (if they would be shown at the top of the page itself).</li> <li><code>rss</code> - controls generation of an rss feed. If the wiki is configured to generate rss feeds by default, set to "no" to disable. If the wiki is configured to <code>allowrss</code>, set to "yes" to enable.</li> <li><code>atom</code> - controls generation of an atom feed. If the wiki is configured to generate atom feeds by default, set to "no" to disable. If the wiki is configured to <code>allowatom</code>, set to "yes" to enable.</li> <li><code>feeds</code> - controls generation of all types of feeds. Set to "no" to disable generating any feeds.</li> <li><code>emptyfeeds</code> - Set to "no" to disable generation of empty feeds. Has no effect if <code>rootpage</code> or <code>postform</code> is set.</li> <li><code>id</code> - Set to specify the value of the HTML <code>id</code> attribute for the feed links or the post form. Useful if you have multiple forms in the same page.</li> <li><code>template</code> - Specifies the template to fill out to display each inlined page. By default the <code>inlinepage</code> template is used, while the <code>archivepage</code> template is used for archives. Set this parameter to use some other, custom template, such as the <code>titlepage</code> template that only shows post titles or the <code>microblog</code> template, optimised for microblogging. Note that you should still set <code>archive=yes</code> if your custom template does not include the page content.</li> <li><code>raw</code> - Rather than the default behavior of creating a blog, if raw is set to "yes", the page will be included raw, without additional markup around it, as if it were a literal part of the source of the inlining page.</li> <li><code>sort</code> - Controls how inlined pages are <a href="../pagespec/sorting.html">sorted</a>. The default is to sort the newest created pages first, and if pages were created in the same commit, sort them by the name of the page (equivalent to <code>sort="age title"</code>).</li> <li><code>reverse</code> - If set to "yes", causes the sort order to be reversed.</li> <li><code>feedlimit</code> - Specify the maximum number of matching pages to include in the rss/atom feeds. The default is the same as the <code>limit</code> value above. In older versions of IkiWiki this parameter was called <code>feedshow</code>, which also still works.</li> <li><code>feedonly</code> - Only generate the feed, do not display the pages inline on the page.</li> <li><code>quick</code> - Build archives in quick mode, without reading page contents for metadata. This also turns off generation of any feeds.</li> <li><code>timeformat</code> - Use this to specify how to display the time or date for pages in the blog. The format string is passed to the strftime(3) function.</li> <li><code>feedpages</code> - A <a href="../pagespec.html">PageSpec</a> of inlined pages to include in the rss/atom feeds. The default is the same as the <code>pages</code> value above, and only pages matched by that value are included, but some of those can be excluded by specifying a tighter <a href="../pagespec.html">PageSpec</a> here.</li> <li><code>guid</code> - If a URI is given here (perhaps a UUID prefixed with <code>urn:uuid:</code>), the Atom feed will have this as its <code><id></code>. The default is to use the URL of the page containing the <code>inline</code> directive.</li> <li><code>feedfile</code> - Can be used to change the name of the file generated for the feed. This is particularly useful if a page contains multiple feeds. For example, set "feedfile=feed" to cause it to generate <code>page/feed.atom</code> and/or <code>page/feed.rss</code>. This option is not supported if the wiki is configured not to use <code>usedirs</code>.</li> <li><code>pagenames</code> - If given instead of <code>pages</code>, this is interpreted as a space-separated list of absolute page names (<a href="../subpage/linkingrules.html">LinkingRules</a> are not taken into account), and they are inlined in exactly the order given: the <code>sort</code> and <code>pages</code> parameters cannot be used in conjunction with this one.</li> <li><code>trail</code> - If set to "yes" and the <a href="http://ikiwiki.info/plugins/trail/">trail</a> plugin is enabled, turn the inlined pages into a trail with next/previous links, by passing the same options to <a href="./trailitems.html">trailitems</a>. The <code>skip</code> and <code>limit</code> options are ignored by the trail, so the next/previous links traverse through all matching pages.</li> </ul> </div> </div> <div id="footer" class="pagefooter" role="contentinfo"> <div id="pageinfo"> <div id="backlinks"> Links: <a href="./aggregate.html">aggregate</a> <a href="../../blog.html">blog</a> <a href="./calendar.html">calendar</a> <a href="./format.html">format</a> <a href="./if.html">if</a> <a href="../../plugins/contrib/album.html">plugins/contrib/album</a> <a href="../../plugins/contrib/ikiwiki/directive/album.html">plugins/contrib/ikiwiki/directive/album</a> <a href="../../plugins/contrib/pageversion.html">plugins/contrib/pageversion</a> <a href="../../plugins/htmlbalance.html">plugins/htmlbalance</a> <a href="../../plugins/inline.html">plugins/inline</a> <span class="popup">... <span class="balloon"> <a href="../../plugins/sidebar.html">plugins/sidebar</a> <a href="../../plugins/trail.html">plugins/trail</a> <a href="../../tips/ikiwiki_as_a_requirements_management_tool.html">tips/ikiwiki as a requirements management tool</a> </span> </span> </div> <div class="pagedate"> Last edited <span class="date">Tue Feb 26 23:01:54 2019</span> <!-- Created <span class="date">Tue Feb 26 23:01:54 2019</span> --> </div> </div> <!-- from ikiwiki --> </div> </div> </body> </html>