]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/features.mdwn
add support for generating per-page rss feeds
[ikiwiki.git] / doc / features.mdwn
index d3226586be8bd9aa795c751f9927a287e9c4d3dd..4699f309676b899cae6aa79965673691c7b22e78 100644 (file)
@@ -1,5 +1,24 @@
+[[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).
+
+  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]]
 
   ikiwiki supports pages using [[MarkDown]] as their markup language. Any
@@ -8,6 +27,13 @@ Currently implemented:
   and is quite smart about converting it to html. The only additional markup
   provided by ikiwiki aside from regular markdown is the [[WikiLink]].
 
+* [[RSS]]
+
+  ikiwiki supports generating RSS (2.0) feed for individual pages. These
+  feeds can be subscribed to, to get an update when a page is changed.
+
+  (Support for proper blogs is also planned.)
+
 * support for other file types
 
   ikiwiki also supports files of any other type, including raw html, text,
@@ -19,7 +45,58 @@ Currently implemented:
 
   Arbitrarily deep hierarchies of pages with fairly simple and useful [[SubPage/LinkingRUles]]
 
-----
+* 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]].