+[[WhyIkiWiki]]?
+
Currently implemented:
* [[Subversion]]
- Rather than implement its own system for storing page histories etc, ikiwiki simply uses subversion. (Supporting other revision control systems is also possible, ikiwiki only needs $FOO add, $FOO commit, and $FOO log).
+ Rather than implement its own system for storing page histories etc,
+ ikiwiki simply uses subversion. (Supporting other revision control
+ systems is also possible, ikiwiki only needs $FOO add, $FOO commit, and
+ $FOO log).
+
+ 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.
- 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.
+ ikiwiki can be run from a [[post-commit]] hook to update your wiki
+ immediately whenever you commit.
- ikiwiki can be run from a [[post-commit]] hook to update your wiki immediatly whenever you commit.
+ Note that ikiwiki does not require subversion to function. If you want to
+ run a simple wiki without page history, it can do that too.
* [[MarkDown]]
Arbitrarily deep hierarchies of pages with fairly simple and useful [[SubPage/LinkingRUles]]
-* [[RecentChanges]], editng pages in a web browser
+* [[blog]]s
- Nearly the definition of a wiki, although perhaps ikiwiki challenges how much of that web gunk a wiki really needs. These features are optional and can be enabled by enabling [[CGI]].
+ You can turn any page in the wiki into a [[blog]]. Pages with names
+ matching a specified [[GlobList]] will be displayed as a weblog within
+ the blog page. And an RSS feed can be generated to follow the blog.
-----
+ Ikiwikit's own [[TODO]] and [[news]] pages are good examples of some of the flexible ways that this can be used.
+
+* Fast compiler
+
+ ikiwiki 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)
+
+* [[Templates]]
+
+ ikiwiki generates html using templates so you can change the look and
+ layout of all pages in any way you would like.
+
+* [[BackLinks]]
+
+ Automatically included on pages. Rather faster than eg [[MoinMoin]] and always there to help with navigation.
+
+* [[PageHistory]]
+
+ Well, sorta. Rather than implementing YA history browser, it can link to
+ [[ViewCVS]] or the link to browse the history of a wiki page.
+
+* [[RecentChanges]], editing pages in a web browser
+ Nearly the definition of a wiki, although perhaps ikiwiki challenges how
+ much of that web gunk a wiki really needs. These features are optional
+ 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.
+
+* Discussion pages
+
+ 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.
+
+* Smart merging and conflict resolution in your web browser
+
+ Since it uses subversion, ikiwiki takes advantage of its smart merging to
+ avoid any conflicts when two people edit different parts of the same page
+ at the same time. No annoying warnings about other editors, or locking,
+ etc, instead the other person's changes will be automaticaly merged with
+ yours when you commit.
+
+ In the rare cases where automatic merging fails due to the same part of a
+ page being concurrently edited, regular subversion commit markers are
+ shown in the file to resolve the conflict, so if you're already familiar
+ with that there's no new commit marker syntax to learn.
+
+* page locking
+
+ Wiki admin can [[lock]] pages so that only other admins can edit them.
+
+----
-[[TODO]]
\ No newline at end of file
+It also has some [[TODO]] items and [[Bugs]].