Clone wiki

dokuwiki-custom / Home

DokuWiki-custom (DWc)

DokuWiki-custom(DWc) is a customized DokuWiki installation compiled and maintained by Kang Seonghoon.

While DokuWiki is an excellent wiki software, it lacks many advanced features available in other softwares, especially MediaWiki, and instead delegates them to plugins. DWc provides many necessary and/or convenient plugins in one place chosen by me so you don't have to.

DWc is mainly intended for one or a few users; you may use DWc for public wiki, but it may have some serious security issues.

For impatients

Download the source code from the following URLs: (You can safely overwrite the existing DokuWiki base too.)

Or you may clone the repository from the following URLs: (Recommended if you can type cd path/to/wiki && hg pull -u in the shell.)

There is no tagged release of DokuWiki-custom: every revision is considered stable. If you prefer some kind of version number, the current (tip) version is dated 2012-01-30.


Current DWc tip is based on stable DokuWiki 2012-01-25 "Angua".

DWc ships with two basic templates: one is a default DokuWiki template (only modification being a fixed layout width), and another is heavily modified ameoto template. Both templates are especially tailored to Korean, but it is just good for other languages.

DWc contains many plugins, including but not limited to syntax extensions for definition lists, block quotations, image boxes with description, LaTeX formula, arbitrary <span>/<div> elements and multi-column layouts; tagging; page inclusion & transclusion; manual & automatic page redirection. I have personally debugged many plugins for completeness.

Finally, DWc also contains tuned default settings, albeit it is mainly for my use. This includes expanded typography replacements (entities.conf) for Greek alphabets and other common symbols. Even better, there is a lighttpd configuration file which you can drop in to your lighttpd conf file. (Well, I am such a lazy person. :)

Plugins included

The list of plugins included is as follows:

  • alias plugin by Kang Seonghoon. It allows you to link to an alias of certain page, not the actual name of page --- it is very handy if a language you speak is hard to romanize (e.g. Korean or Japanese). You put something like {{alias>alias1 alias_2 "alias 3"}} to enable this feature. Note that the alias is not namespace-specific, so you may have to link like [[:this]].
  • altindex plugin by Kang Seonghoon. It replaces and enhances a built-in DokuWiki index page by adding two features: paging and showing redirection target (see pageredirector plugin below).
  • blockquote plugin by Gina Häußge. It provides <blockquote>...</blockquote> or <blockquote ATTRIBUTION>...</blockquote> syntax for proper citation.
  • columns3 plugin by Michael Arlt and Mykola Ostrovskyy. It will arrange long text in multiple columns. (It is not same as not-yet-official-nor-widely-deployed CSS3 multi-column layout; it does use a table, but displays identically in most graphical browsers.)
  • dir plugin by Jacobus Geluk, Geert Janssens ("collapse" and "ego" support) and Kang Seonghoon (wildcard for skip option). It provides a syntax listing all pages matching given criteria, in various forms.
  • div/span plugin by Kang Seonghoon, which is roughly based on original one by Joe Lapp. Basically they provides {.class#id}...{/} (for span) and <.class#id>...</> (for div) syntaxes; provided with appropriate userstyle.css, you can apply any CSS effects as you wish.
  • dl plugin by Marc Wäckerlin and Kang Seonghoon (partial parser bug fix). It provides a definition list syntax, where definition title starts with ? and description starts with !.
  • imagebox plugin by FFTiger and myst6re. It allows you to show a description under the image, via [{{filename|description}}] syntax (without brackets, the description will go to alternative text and won't show up).
  • include plugin by Gina Häußge, Michael Klier, Christopher Smith and Kang Seonghoon (IE6 style patch). It includes a given page or section of the page to other pages, using {{page>...}} and {{section>...#...}} syntaxes. The page to be included can contain some special substitutions for dynamic contents.
  • math plugin by Kang Seonghoon. It renders LaTeX formula enclosed by $$...$$ syntax (warning: despite its appearance, it is actually inline!) via WordPress LaTeX server. Even no GD library is required.
  • pagelist plugin by Gina Häußge, Michael Klier and Esther Brunner. It is a helper plugin for dir and tag plugins, but also provides its own syntax.
  • pageredirector plugin by David Lorentsen, Jo Valentine-Cooper (syntax change) and Kang Seonghoon (more syntax change and fragment link support). It is basically same as MediaWiki's #redirect [[pagename]] syntax.
  • tag plugin by Gina Häußge, Michael Klier, Esther Brunner and Kang Seonghoon (syntax bug fix). It provides {{tag>tag1 tag_2 "tag 3"}} and {{topic>tag +moretag -notag}} syntaxes, which enable rudimentary tagging feature.

All my original plugins (alias, altindex and math) is distributed under the terms of GNU LGPL 2.1 or later; other plugins have their own license requirements, typically GNU LGPL or GPL.