Kwiki-Kwiki - Kwiki Kwiki is a Wiki
Typical Usage of Kwiki::Kwiki
> mkdir site > cd site > kwiki -new > kk -init # Edit source code list > vim kwiki/sources/list # Download all the source code > kk -src # Make lib directory > kk -lib # Make distribution tarball > kk -dist # Run built-in Server > bin/server
KwikiKwiki is a Wiki distribution toolkit, or framework. It's the best way to spread your own copy of wiki to friends.
Most folks think that Kwiki is wiki software, and in a sense it is. But the main purpose of Kwiki is to be a framework for creating wiki software. In other words, it's a Perl hacker's playground. Most of the energy was put into figuring out how plugins from various folks could play well together, and less thought was put into how to simply run a wiki with the features you'd expect.
This is where KwikiKwiki comes in.
KwikiKwiki ships a "server" script under "bin/" directory. It is a pure-perl http server just for serving this Kwiki directory. Therefore it is suggest to leave the default source list intact, and add more your own.
KwikiKwiki installs a
kk script to your system. It's the front-end for build KwikiKwiki distributions. There are four phrases to build a distribution: 1. Create a new Kwiki directory 2. Get the source code, 3. Install to lib dir 3. Create a distribution tarball.
kk script works with the
kwiki script, you should make sure that current Kwiki directory is runnable and has plugins of your own choice before using
kk to create distribution.
There are four arguments to
kk : <-init> initialize a
kwiki/ directory under current working directory, and you should edit
kwiki/source/list for your own need. Plugins are auto-bundled, so you don't have to add them to the list.
The source list file contains information where to find perl modules, lines begin with
=== are source types, lines begin with
--- are sources. There are four possible source types: svn, local, inc, cpan. For svn sources, please give the repository url to the module directory (which should contain a sub-directory 'lib'). For example, http://svn.kwiki.org/ingy/Kwiki. For local sources, please give the path to your module directories. For example,
/home/gugod/src/Kwiki-NewStuff/. For inc sources, please give the path of module file names relative to @INC. For example,
File/Temp.pm. For cpan sources, just give the full name of that module. For example,
Kwiki::Comments. All fetched source are stored under
kwiki/ directory, and are excluded in the creation of distribution tarball.
Invoking <-src> argumenets will download all sources, and <-lib> just build a
lib directory for all sources. After calling
kk -lib, pre-requesties should all be installed to
kk -dist will create a tarball with the same name of current working directory. You should be able to give away this tarball, and people who extract it should be able to run
And have a Kwiki server running on localhost, port 8080.
That's pretty much about the current feature of KwikiKwiki.
Kwiki uses unicode, and unicode didn't really stabilize until Perl 5.8.4. If you try to run Kwiki on older perls, you will likely run into problems. So Kwiki-Kwiki requires 5.8.4 or higher.
Depending on how you configure Kwiki-Kwiki, you may need subversion. You really want subversion. It makes life so much simpler. If you really can't get it on your machine, that's ok.
Kwiki-Kwiki may uses your exist CPAN configuration to install CPAN modules locally under "lib" directory, please make sure your CPAN installation is configured well.
Download module source code from remote and extract it locally.
Install all .pm files locally under kwiki/lib/
Install all CPAN modules locally under lib/
Create a distfile named based on current directory name.
Ingy döt Net <firstname.lastname@example.org>
Kang-min Liu <email@example.com>
Copyright (c) 2006. Ingy döt Net, Kang-min Liu. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.