96 lines
3.5 KiB
Markdown
96 lines
3.5 KiB
Markdown
[[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
|
|
page with a filename ending in ".mdwn" is converted from markdown to html
|
|
by ikiwiki. Markdown understands text formatted as it would be in an email,
|
|
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]]
|
|
|
|
* 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.
|
|
|
|
----
|
|
|
|
It also has some [[TODO]] items and [[Bugs]].
|