X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/3fb1893fb120ce04382136cc7d2980adbab75c9d..a56eda6878a761e4438bf50687bdbd10672c38b2:/doc/features.mdwn diff --git a/doc/features.mdwn b/doc/features.mdwn index 735f4a173..eaf0d539f 100644 --- a/doc/features.mdwn +++ b/doc/features.mdwn @@ -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,81 @@ 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) + +* 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. + +---- -[[TODO]] \ No newline at end of file +It also has some [[TODO]] items and [[Bugs]].