X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/48ac90f72e3526207e08b7d7581ff567cb465dd1..c5ea0c7ce6ee9f374d6346d491c84e515eca21e3:/doc/features.mdwn diff --git a/doc/features.mdwn b/doc/features.mdwn index 1f0a018f4..551edf811 100644 --- a/doc/features.mdwn +++ b/doc/features.mdwn @@ -4,25 +4,25 @@ An overview of some of ikiwiki's features: ## Uses a real RCS Rather than implement its own system for storing page histories etc, -ikiwiki uses a real RCS. This isn't because we're lazy, it's because a -real RCS is a good thing to have, and there are advantages to using one -that are not possible with a standard wiki. +ikiwiki uses a real Revision Control System. This isn't because we're +lazy, it's because a real RCS is a good thing to have, and there are +advantages to using one that are not possible with a standard wiki. Instead of editing pages in a stupid web form, you can use vim and commit -changes via svn. Or work disconnected using svk and push your changes out -when you come online. Or use git to work in a distributed fashion all the -time. (It's also possible to [[plugins/write]] a plugin to support other -systems.) +changes via [[Subversion]]. Or work disconnected using svk and push your +changes out when you come online. Or use [[git]], [[tla]], or [[mercurial]] +to work in a distributed fashion all the time. (It's also possible to +[[plugins/write]] a plugin to support other systems.) ikiwiki can be run from a [[post-commit]] hook to update your wiki -immediately whenever you commit. +immediately whenever you commit a change using the RCS. Note that ikiwiki does not require a RCS to function. If you want to run a simple wiki without page history, it can do that too. ## A wiki compiler -ikiwiki is a wiki compiler; it builds static website for your wiki, and +ikiwiki is a wiki compiler; it builds a static website for your wiki, and updates it as pages are edited. It is fast and smart about updating a wiki, it only builds pages that have changed (and tracks things like creation of new pages and links that can indirectly cause a page to need a rebuild) @@ -39,7 +39,8 @@ provided by ikiwiki on top of regular markdown is the [[WikiLink]] and If you prefer to use some other markup language, ikiwiki allows others to easily be added by [[plugins]]. For example it also supports traditional [[plugins/WikiText]] formatted pages, pages written as pure -[[plugins/HTML]], or pages written in [[reStructuredText|plugins/rst]]. +[[plugins/HTML]], or pages written in [[reStructuredText|plugins/rst]] +or [[Textile|plugins/textile]]. ikiwiki also supports files of any other type, including plain text, images, etc. These are not converted to wiki pages, they are just copied @@ -50,21 +51,26 @@ program, or other special file and link to it from your wiki pages. You can turn any page in the wiki into a [[blog]]. Pages matching a specified [[PageSpec]] will be displayed as a weblog within the blog -page. And an RSS feed can be generated to follow the blog. +page. And RSS or Atom feeds can be generated to follow the blog. Ikiwiki's own [[TODO]], [[news]], and [[plugins]] pages are good examples -of some of the flexible ways that this can be used. +of some of the flexible ways that this can be used. There is also an +[[example_blog|examples/blog]] set up that you can copy into your own wiki. Ikiwiki can also [[plugins/aggregate]] external blogs, feeding them into the wiki. This can be used to create a Planet type site that aggregates interesting feeds. -## Valid html and css +You can also mix blogging with podcasting by dropping audio files where +they will be picked up like blog posts. This will work for any files that +you would care to syndicate. + +## Valid html and [[css]] ikiwiki aims to produce -[valid XHTML 1.0](http://validator.w3.org/check?url=referer). -ikiwiki generates html using [[templates]], and uses css, so you can -change the look and layout of all pages in any way you would like. +[valid XHTML 1.0](http://validator.w3.org/check?url=referer). ikiwiki +generates html using [[templates|wikitemplates]], and uses [[css]], so you +can change the look and layout of all pages in any way you would like. ## [[Plugins]] @@ -75,7 +81,7 @@ and more. Most of ikiwiki's features are actually provided by plugins. Ikiwiki's backend RCS support is also pluggable, so support for new revision control systems can be added to ikiwiki. -### [[todo/utf8]] +## [[todo/utf8]] After rather a lot of fiddling, we think that ikiwiki correctly and fully supports utf8 everywhere. @@ -86,11 +92,11 @@ The above are the core design goals and features of ikiwiki, but on that foundation a lot of other important features are added. Here is an incomplete list of some of them. -## [[Tags]] +### [[Tags]] You can tag pages and use these tags in various ways. Tags will show up in the ways you'd expect, like at the bottom of pages, in blogs, and -in rss feeds. +in RSS and Atom feeds. ### [[SubPages|SubPage]] @@ -123,8 +129,12 @@ and can be enabled by enabling [[CGI]]. ### User registration -Can optionally be configured to allow only registered users to post -pages; online user registration form, etc. +Can optionally be configured to allow only registered users to edit +pages. + +User registration can be done using a web form, or ikiwiki can be +configured to accept users authenticated with OpenID, or HTTP basic +authentication, or other methods implemented via plugins. ### Discussion pages @@ -132,14 +142,17 @@ Thanks to subpages, every page can easily and automatically have a /Discussion subpage. By default, these links are included in the [[templates]] for each page. -### Page locking +### Edit controls -Wiki admins can lock pages so that only other admins can edit them. +Wiki admins can [[lock_pages|page_locking]] so that only other admins can +edit them. Or a wiki can be set up to allow anyone to edit Discussion +pages, but only registered users to edit other pages. These are just two +possibilities, since page edit controls can be changed via plugins. ### [[PageHistory]] Well, sorta. Rather than implementing YA history browser, it can link to -[[ViewCVS]] or the like to browse the history of a wiki page. +[[ViewVC]] or the like to browse the history of a wiki page. ### Full text search