X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/169162e92f06e2fad4c4a18c0ec45e5643a4c595..ffc0be87d7eca4de4dbc91d740d36b7b40bfa911:/doc/features.mdwn diff --git a/doc/features.mdwn b/doc/features.mdwn index 069be981a..332f86606 100644 --- a/doc/features.mdwn +++ b/doc/features.mdwn @@ -1,12 +1,23 @@ +[[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]] @@ -25,12 +36,70 @@ 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) + +* [[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 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. -* [[RecentChanges]], editng pages in a web browser +* page locking - 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]]. + Wiki admins can lock pages so that only other admins can edit them. ---- -It also has lots of [[TODO]] items and [[Bugs]]. This wiki is not ready for production! \ No newline at end of file +It also has some [[TODO]] items and [[Bugs]].