Wikked can be configured with a couple files:
.wikirc: this file, located at the root of your wiki, can be submitted into revision control, so that various clones of the wiki have the same options where it makes sense.
.wiki/wikirc: some options may have to be different depending on where you run the wiki from. This file is a complementary variant of the
.wikircfile, but is contained in the ignored-by-default
.wikifolder. As such it is meant to store options valid only for a local installation.
wikirc file is meant to be written with an INI-style format:
[section1] water = good witches = really bad [section2] wish = be home
The main Wikked options should be defined in a
[wiki] section. Here are the
Main page): the name of the page that should be displayed when people visit the root URL of your wiki. Page names are case sensitive so watch out for the capitalization.
Templates): by default, the
includestatement (see Editing Pages) will first look into a templates directory for a template of the given name. This is the name of that folder.
Also see Advanced Options below.
wikirc file can also be used to define user permissions. This is done with
PASSWORD_HASH is, well, a password hash. You can generate one by using the
wk newuser command (see Command Line Interface):
$ wkdev newuser dorothy Password: ******** dorothy = $2a$12$7FR949jt9zq5iNwY5WAZAOzD7pK3P0f/NnrKHAys17HT1Omuk2Asu (copy this into your .wikirc file)
Once you have some users defined, you can give them some permissions, using the
[permissions] section. Supported settings are:
readers: users able to read the wiki.
writers: users able to edit the wiki.
Multiple usernames must be separated by a comma. You can also use
* for "all
anonymous for unauthenticated visitors.
The following example shows a wiki only accessible to registered users, and that
can only be edited by
[permissions] readers = * writers = dorothy,toto
Those settings can also be overriden at the page level using the
writers metadata. So you can still have a public landing page for the
previously mentioned private wiki by adding this to
See Page Metadata for more information.
ignore section lets you define files or folders for Wikked to
ignore (i.e. files that are not pages, or folder that don't contain pages).
Each item in this section should be
name = pattern, where
name is irrelevant,
pattern is a glob-like pattern:
[ignore] venv = venv temp = *~ temp2 = *.swp
This will ignore a
venv folder or file at the root, or any file or folder
anywhere that ends with
In addition to the Main Options above, the
following avanced wiki options are available. They's in the
sql): The database system to use for the cache. Wikked currently only supports SQL, but see the next option below.
sqlite:///%(root)s/.wiki/wiki.db): the URL to pass to SQLAlchemy for connecting to the database. As you can see, the default value will read or create an SQLite file in the
.wikifolder. If you want to use a proper SQL server you can specify its URL and login information instead. See the SQLAlchemy connection string format for more information.
Wikked runs on top of Flask, and for some advanced things (like hacking
around with code), you may want to be able to configure the Flask app. For this,
you can use the
This file, if it exists, will be passed on to Flask. See the Flask configuration documentation for more information.