]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/features.mdwn
web commit by joey
[git.ikiwiki.info.git] / doc / features.mdwn
index 735f4a1736f527d20657ea755e301583e5fb4b07..4f728fa4a92931b4b05159853f19ecb14892c822 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,7 +27,79 @@ 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]].
 
-----
+* support for other file types
+
+  ikiwiki also supports files of any other type, including raw html, text,
+  images, etc. These are not converted to wiki pages, they are just copied
+  unchanged by ikiwiki as it builds your wiki. So you can check in an image,
+  program, or other special file and link to it from your wiki pages.
+
+* [[SubPage]]s
+
+  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)
+
+* [[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]].