What Is Stack's Wiki?
=====================

Stack's Wiki is a wiki system which is meant to be lean and simple.  Features of the system are:

* Password based authentication
* Single categories for pages
* Markdown for raw text
* Linking via double-brackets
* AJAX for interface simplicity

Stack's Wiki was written by Stephen Gerstacker (stack@shortround.net) with the help of Jason Lienbach.  It is released under the GPL license, which is included in distribution.  For more information about the software, please visit [my wiki][mywiki].

System Requirements
===================

* A web server capable of working with PHP (4 or 5) any MySQL
* For reading the wiki, a web browser that can read simple CSS and XHTML
* For editing the wiki, a web browser capable of running AJAX scripts, like IE 5.5, IE 6, Firefox or Safari.

Included Libraries
==================

* [script.aculo.us][scriptaculous]: Used for client-side scripting and handling of AJAX
* [Markdown][markdown]: Used for raw text storage.  It has been modified slightly for handling wiki links.  To create a new link, wrap any piece of text in double text brackets (`[[` `]]`).

Installation
============

First, modify the `www/includes/database.php` file to point to your MySQL server.  The `$database_prefix` variable is used to separate different copies of the wiki if they are run out of the same database.  By default, set the variable to "".  If you change the prefix, you will have to modify the table names of the SQL scripts before installing them.

Next, import the SQL schema, which is stored in the `schema.sql` file.  If you have command line access to the server, you can run the following command:

    mysql -u username -p database < schema.sql

`username` and `database` are the values you used above for the `database.php` file.  If you don't have command line access to the database server, you will have to use whatever means you ISP has given you to import the schema.

To setup a password for someone, run the following command on your SQL server:

    INSERT INTO `passwords` (`password`) VALUES (MD5('password'));

Passwords aren't associated with users.  It's best practice to have a password just for yourself and then a password for each different group of people that you want to have edit access to the wiki.

Lastly, copy everything from `www` directory to your web server.  From there you can begin to edit your wiki.

Customization
=============

The `params.php` file contains some constant strings for customizing you system.  `$page_footer` is the text that is shown at the end of each article.  `$wiki_title` is the title shown in header of each page.

Also, icons can be added for each category.  To do this, copy the icon to the `categories` folder with the same name as the category.  The icons have to in the PNG file format.  If you change a category icon in any way, you will have to regenerate each page in the category.  For now, this is the method, but in the future, there will be a way to regenerate the cache without re-editing the page.

  [mywiki]: http://www.shortround.net