========= ---------------------------
CL-WIKI Wiki Engine for Common Lisp
========= ---------------------------
http://common-lisp.net/project/cl-wiki/
Quick start
===========
(asdf:operate 'asdf:load-op :cl-wiki)
;; Write config file "wiki.conf" in current directory with at least
;; (base (directory "/path/to/wiki-data/"))
;; ...
(wiki:start)
Then direct your browser to http://localhost:5757/cl-wiki/Somepage
CL-WIKI uses Hunchentoot . The example above
runs it without any front-end. But you can install it for use with Apache and
mod_lisp, too. See Hunchentoot's documentation.
Syntax highlighting via lisppaste's colorizing code
. See colorize-README.
Config
======
File "wiki.conf" in current directory.
Example:
;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
;; Config file for CL-WIKI -- Wiki engine for Common Lisp
(base (port 5757
directory "/home/stesch/wiki-data"
url "/cl-wiki/"
page-list ((title "Home" link "Home")
(title "About" link "About")
(title "Contact" link "Contact"))))
The following parameters can be set with the config file:
Section: base
-------------
directory Base directory for the wiki data, like pages, etc.
port TCP/IP port CL-WIKI will listen to. Attention: listens
on every interface.
template-directory Base directory for templates.
page-list List of title-link pairs with links that get displayed on
the top and bottom of every page. See example above how to
set this.
reverse-proxy Indicates if CL-WIKI runs behind a reverse proxy.
Default is NIL. Set it to t when behind a proxy.
home-page Default page when root directory of the site is accessed.
edit-textarea-size Plist of size of edit textarea.
Default is (:rows 25 :cols 80).
Textformatting
==============
[[Page]] ==> Generates a link to named page.
[[Page|Text]] ==> Generates a link to named page
and links Text.
[http://www.somepage.example/] ==> Inserts external link
''text'' ==> emphasize text (text)
-- on most browsers italic
'''text''' ==> stronger emphasize text
(text)
-- on most browsers bold
text ==> text in small font
text ==> text in big font
x ==> subscripting x
x ==> superscripting x
text ==> strike out text
text ==> underline text
text ==> Mark text as deleted
text ==> Mark text as inserted
or ==> Start a new line
* Item ==> List item
= Foo = ==> Level 1 header (discouraged)
== Foo == ==> Level 2 header
... ...
====== Foo ====== ==> Level 6 header
---- ==> Horizontal divider
... ==> Sourcecode snippet
...
...
==> Sourcecode snippet, colorized for the
named language LANG.
Snippet is surrounded by
...
LANG must be one of "Basic Lisp", "Scheme",
"Emacs Lisp", "Common Lisp", "C", "C++",
"Java", "Objective C", "Erlang", "Python",
or "Haskell"
... ==> Excludes a portion of the text from code
converting. Useful if you want to show
the formatting codes on a help page, etc.
==> Removes everything between .
Allows commenting.
Philosophy
==========
The term "wiki wiki" and its meaning are well known. Quick. Quick to use
and quick to program. The first wiki was written in 30 lines of Perl
code.
Thanks
======
Kevin Griffin for tests with different CL implementations and
beeing an early adopter.
Ian Clelland for ideas, patches, etc.
Vehbi Sinan Tunalioglu for ideas, patches, etc.
Jens Teich reviving development, ideas, patches, etc.
Ralf Stoye for a patch to speedup regexps, which are heavily used in CL-WIKI.