X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/49524c429e8dec4e18a81dfcfbbc93cbd1da32c3..670d5c001b89d353f8fc22c86b0d2c29b516be49:/doc/blog.mdwn?ds=sidebyside diff --git a/doc/blog.mdwn b/doc/blog.mdwn index 0d67619da..2792a35b1 100644 --- a/doc/blog.mdwn +++ b/doc/blog.mdwn @@ -1,22 +1,95 @@ -You can turn any page on this wiki into a weblog by inserting a -[[PostProcessorDirective]]. Like this: +[[if test="enabled(inline)" + then="This wiki has the inline plugin **enabled**." + else="This wiki has the inline plugin **disabled**."]] -\\[[inline pages="blog/* !*/Discussion" show="10" rootpage="blog"]] +[[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` +[[PreProcessorDirective]]. For example: -Any pages that match the specified [[GlobList]] (in the exaple, any -[[SubPages]] of "blog") will be part of the blog, and the newest 10 -of them will appear in the page. + \[[inline pages="blog/* and !*/Discussion" show="10" rootpage="blog"]] -The optional `rootpage` setting tells the wiki that new posts to this blog -should default to being [[SubPages]] of "blog", and enables a form at the +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 [[SubPage]]s 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/* !*/Discussion" archive="yes"]] + \[[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="* !*/Discussion" archive="yes"]] + \[[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 + +Here are descriptions of all the supported parameters to the `inline` +directive: + +* `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. +* `skip` - Specify a number of pages to skip displaying. Can be useful + to produce a feed that only shows archived pages. +* `rss` - controls generation of an rss feed. On by default if the wiki is + configured to use rss feeds, set to "no" to disable. +* `atom` - controls generation of an atom feed. On by default if the wiki is + configured to use atom feeds, set to "no" to disable. +* `feeds` - controls generation of all types of feeds. Set to "no" to + disable generating any feeds. +* `postform` - Set to "yes" to enables a form to post new pages to a [[blog]]. +* `postformtext` - Set to specify text that is displayed in a postform. +* `rootpage` - Also enables a form to post new pages to a [[blog]], and + allows specifying of a page that is used as the parent page for new pages. +* `archive` - If set to "yes", only list page titles and some metadata, not + full controls. +* `quick` - Build archives in quick mode, without reading page contents for + metadata. By default, this also turns off generation of 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. +* `description` - Sets the description of the rss feed if one is generated. + Defaults to the name of the wiki. +* `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). +* `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. +* `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. +* `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.