From: Joey Hess Date: Thu, 11 Sep 2008 23:23:14 +0000 (-0400) Subject: move inline documentation from blog to directive/inline X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/commitdiff_plain/17e742a6ebd489565d415325bd61d31f6f06ef49 move inline documentation from blog to directive/inline --- diff --git a/doc/ikiwiki/blog.mdwn b/doc/ikiwiki/blog.mdwn index 53d4c7a96..016e608ba 100644 --- a/doc/ikiwiki/blog.mdwn +++ b/doc/ikiwiki/blog.mdwn @@ -6,103 +6,7 @@ [[!if test="enabled(inline)" then="You can" else="If this wiki had the inline plugin enabled, you could"]] -turn any page on this wiki into a weblog by using the `inline` +turn any page on this wiki into a weblog by using the [[directive/inline]] [[directive]]. For 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 podcasting. - -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. -* `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` - Enable 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. -* `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. 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. The default, "age" is to - sort newest created pages first. Setting it to "title" will sort pages by - title, and "mtime" sorts most recently modified 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. By default, 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 - matches 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 ``. The default is to use the URL - of the page containing the `inline` directive. diff --git a/doc/ikiwiki/directive/inline.mdwn b/doc/ikiwiki/directive/inline.mdwn index 7538e3a53..db4d935a5 100644 --- a/doc/ikiwiki/directive/inline.mdwn +++ b/doc/ikiwiki/directive/inline.mdwn @@ -1,12 +1,106 @@ The `inline` directive is supplied by the [[!iki plugins/inline desc=inline]] plugin. -This is a [[ikiwiki/directive]] that allows including one wiki page -inside another. For example: +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. - \[[!inline pages="blog/*"]] +Example: -The most common use of inlining is generating blogs and RSS or Atom feeds. -See [[ikiwiki/blog]] for details. + \[[!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 podcasting. + +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. +* `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` - Enable 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. +* `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. 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. The default, "age" is to + sort newest created pages first. Setting it to "title" will sort pages by + title, and "mtime" sorts most recently modified 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. By default, 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 + matches 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 ``. The default is to use the URL + of the page containing the `inline` directive. [[!meta robots="noindex, follow"]]