web commit by joey
[ikiwiki.git] / doc / features.mdwn
index d3226586be8bd9aa795c751f9927a287e9c4d3dd..d67555a639a7aaf456f27a24ecffef153c0bbbb0 100644 (file)
@@ -1,4 +1,21 @@
-Currently implemented:
+Some of ikiwiki's features:
+
+* [[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).
+
+  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.
+
+  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]]
 
@@ -17,9 +34,83 @@ Currently implemented:
 
 * [[SubPage]]s
 
-  Arbitrarily deep hierarchies of pages with fairly simple and useful [[SubPage/LinkingRUles]]
+  Arbitrarily deep hierarchies of pages with fairly simple and useful [[SubPage/LinkingRules]]
 
-----
+* [[blog]]s
+
+  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)
+
+* 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.
+
+* [[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 automatically 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 admins can lock pages so that only other admins can edit them.
+
+* Full text search
+
+  ikiwiki can use the [[HyperEstraier]] search engine to add powerful
+  full text search capabilities to your wiki.
+
+* Commit mails
+
+  ikiwiki can be configured to send you commits mails with diffs of changes
+  of selected pages.
+
+----
 
-[[TODO]]
\ No newline at end of file
+It also has some [[TODO]] items and [[Bugs]].