131 lines
6.5 KiB
Markdown
131 lines
6.5 KiB
Markdown
The `inline` directive is supplied by the [[!iki plugins/inline desc=inline]] plugin.
|
|
|
|
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.
|
|
|
|
Example:
|
|
|
|
\[[!inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]]
|
|
|
|
Any pages that match the specified [[PageSpec]] (in the example, any
|
|
[[SubPage]] 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 [[PageSpec]], they will be included in the feed using RSS
|
|
enclosures, which is useful for simple [[!iki podcast desc=podcasting]];
|
|
for fuller-featured podcast feeds, enclose media files in blog posts
|
|
using [[meta]].
|
|
|
|
The optional `rootpage` parameter tells the wiki that new posts to this
|
|
blog should default to being [[SubPages|SubPage]] of "blog", and enables a
|
|
form at the top of the blog that can be used to add new items.
|
|
|
|
If you want your blog to have an archive page listing every post ever made
|
|
to it, you can accomplish that like this:
|
|
|
|
\[[!inline pages="blog/* and !*/Discussion" archive="yes"]]
|
|
|
|
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:
|
|
|
|
\[[!inline pages="* and !*/Discussion" archive="yes"]]
|
|
|
|
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 `link()` [[PageSpec]] to match
|
|
all pages that have a given tag:
|
|
|
|
\[[!inline pages="link(life)"]]
|
|
|
|
Or include some tags and exclude others:
|
|
|
|
\[[!inline pages="link(debian) and !link(social)"]]
|
|
|
|
## usage
|
|
|
|
There are many parameters you can use with the `inline`
|
|
directive. These are the commonly used ones:
|
|
|
|
* `pages` - A [[PageSpec]] of the pages to inline.
|
|
* `show` - 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.
|
|
* `archive` - If set to "yes", only list page titles and some metadata, not
|
|
full contents.
|
|
* `title` - Sets the title of the rss feed if one is generated.
|
|
Defaults to the name of the page.
|
|
* `description` - Sets the description of the rss feed if one is generated.
|
|
Defaults to the name of the wiki.
|
|
* `skip` - Specify a number of pages to skip displaying. Can be useful
|
|
to produce a feed that only shows archived pages.
|
|
* `postform` - Set to "yes" to enable a form to post new pages to a
|
|
blog.
|
|
* `postformtext` - Set to specify text that is displayed in a postform.
|
|
* `rootpage` - Enables the postform, and allows controling where
|
|
newly posted pages should go, by specifiying the page that
|
|
they should be a [[SubPage]] of.
|
|
|
|
Here are some less often needed parameters:
|
|
|
|
* `actions` - 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).
|
|
* `rss` - 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 `allowrss`, set to "yes" to enable.
|
|
* `atom` - 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 `allowatom`, set to "yes" to enable.
|
|
* `feeds` - controls generation of all types of feeds. Set to "no" to
|
|
disable generating any feeds.
|
|
* `emptyfeeds` - Set to "no" to disable generation of empty feeds.
|
|
Has no effect if `rootpage` or `postform` is set.
|
|
* `id` - Set to specify the value of the HTML `id` attribute for the
|
|
feed links or the post form. Useful if you have multiple forms in the
|
|
same page.
|
|
* `template` - Specifies the template to fill out to display each inlined
|
|
page. By default the `inlinepage` template is used, while
|
|
the `archivepage` template is used for archives. Set this parameter to
|
|
use some other, custom template, such as the `titlepage` template that
|
|
only shows post titles or the `microblog` template, optimised for
|
|
microblogging. Note that you should still set `archive=yes` if
|
|
your custom template does not include the page content.
|
|
* `raw` - 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.
|
|
* `sort` - Controls how inlined pages are [[sorted|pagespec/sorting]].
|
|
The default is to sort the newest created pages first.
|
|
* `reverse` - If set to "yes", causes the sort order to be reversed.
|
|
* `feedshow` - Specify the maximum number of matching pages to include in
|
|
the rss/atom feeds. The default is the same as the `show` value above.
|
|
* `feedonly` - Only generate the feed, do not display the pages inline on
|
|
the page.
|
|
* `quick` - Build archives in quick mode, without reading page contents for
|
|
metadata. This also turns off generation of any feeds.
|
|
* `timeformat` - 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.
|
|
* `feedpages` - A [[PageSpec]] of inlined pages to include in the rss/atom
|
|
feeds. The default is the same as the `pages` value above, and only pages
|
|
matched by that value are included, but some of those can be excluded by
|
|
specifying a tighter [[PageSpec]] here.
|
|
* `guid` - If a URI is given here (perhaps a UUID prefixed with `urn:uuid:`),
|
|
the Atom feed will have this as its `<id>`. The default is to use the URL
|
|
of the page containing the `inline` directive.
|
|
* `feedfile` - 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 `page/feed.atom`
|
|
and/or `page/feed.rss`. This option is not supported if the wiki is
|
|
configured not to use `usedirs`.
|
|
* `pagenames` - If given instead of `pages`, this is interpreted as a
|
|
space-separated list of absolute page names ([[SubPage/LinkingRules]] are
|
|
not taken into account), and they are inlined in exactly the order given:
|
|
the `sort` and `pages` parameters cannot be used in conjunction with
|
|
this one.
|
|
* `trail` - If set to "yes" and the [[!iki plugins/trail desc=trail]] plugin
|
|
is enabled, turn the inlined pages into a trail with next/previous links,
|
|
by passing the same options to [[ikiwiki/directive/trailitems]]. The `skip`
|
|
and `show` options are ignored by the trail, so the next/previous links
|
|
traverse through all matching pages.
|
|
|
|
[[!meta robots="noindex, follow"]]
|