Skip to main content

Django Wiki Application

Project description

Djiki is a lightweight, portable Wiki engine based on Django.

Features:

  • Creole markup,

  • anonymous and registered edits,

  • automatic merges of parallel edits when possible,

  • inclusion of images,

  • diff views between revisions,

  • reverts to any revision in the history,

  • automatic undos of any historical revision, if possible.

Requirements

Usage

  • Add ‘djiki’ and ‘sorl.thumbnail’ to your INSTALLED_APPS setting.

  • Run ‘./manage.py syncdb’ in your project.

  • Add the following to your URLconf:

    (r'wiki/', include('djiki.urls')),
  • Add the required setting DJIKI_IMAGES_PATH

  • Create a ‘base.html’ that Djiki expects to exist and acts as a base template for all the wiki pages. It must have a ‘page’ block. Alternatively, supply your own ‘djiki/base.html’ that overrides the supplied template.

  • Optionally include/add the provided CSS in media/css/styles.css to your page template.

Settings

The following settings configure Djiki’s behavior:

DJIKI_PARSER — a Python path to the markup parser. The default is djiki.parsers.wikicreole.

DJIKI_ALLOW_ANONYMOUS_EDITS — no longer used, replaced by:

DJIKI_AUTHORIZATION_BACKEND — a Python path to authorization backend. The default is djiki.auth.base.UnrestrictedAccess, which grants full read/write permissions to all clients. The other included backends are djiki.auth.base.OnlyAuthenticatedEdits and djiki.auth.base.OnlyAdminEdits.

DJIKI_SPACES_AS_UNDERSCORES — makes Djiki replace whitespaces in URLs by underscores. It’s a choice between having nice or exact URLs. Depending on the settings, the adresses may look as http://djiki.org/wiki/Main_Page or http://djiki.org/wiki/Main%20Page This setting will also squash multiple spaces into one. It affects image names in the same way, too. Defaults to True.

DJIKI_IMAGES_PATH — path to images, relative to MEDIA_ROOT.

Parsers

Djiki allows you to use custom markup parser and it is no longer required to use Creole. The default behavior, however, is to pass all the page contents through djiki.parsers.wikicreole module. The other choices are:

  • djiki.parsers.raw — passes the content without modification, allowing for raw HTML. This should not be used in a public wiki, as users may enter malicious code.

  • djiki.parsers.html.SafeHTML — it is a safer alternative, which filters the resulting content from dangerous HTML elements like scripts, CSS styles or annoying and invalid tags.

Images

The standard Creole markup has been extended to handle resizing of images. The standard syntax of {{Image_name.jpg|Image title}} is still valid, however you may add size by typing {{Image_name.jpg|300x200|Image title}} or even omit the title: {{Image_name.jpg|300x200}}.

Roadmap

  • more markup backends; MediaWiki is the main priority

  • page operations: rename, delete

  • multi-language support, interwiki links

  • translations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djiki-0.4.tar.gz (17.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page