Skip to main content

Djiki

The latest release is 0.9

Djiki is a lightweight, portable Wiki engine based on Django. It offers full functionality of a wiki engine without any configuration, yet it might be easily customized to match your preferred environment.

Features:

  • Creole markup,

  • anonymous and authenticated edits,

  • automatic merges of parallel edits when possible,

  • inclusion of images,

  • diff views between revisions,

  • reverts to any revision in the history,

  • automatic undoes of any historical revision, if possible.

  • not strictly bound to Django user model and template engine, you may replace them,

  • multiple languages support (no internal linking of equivalent pages yet).

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_IMAGES_PATH — path to images, relative to MEDIA_ROOT.

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_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_TEPLATING_BACKEND — a Python path to a templating backend. The default is djiki.templating.django_engine, which is a light wrapper over the standard Django template engine. Therefore you are not strictly bound to the default implementation. The author, for example, uses Jinja2 in some of his projects.

DJIKI_IMAGES_STORAGE — a Python path to file storage used to keep images. If absent, DEFAULT_FILE_STORAGE will be used.

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}}.

Templating

Roadmap

  • more markup backends; MediaWiki is the main priority

  • page operations: rename, delete

  • translations

Metadata

Release files for djiki 0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djiki 0.9
File Size Uploaded Provenance
djiki-0.9.tar.gz 28.9 kB Without provenance Details

Release files / djiki-0.9.tar.gz

Download URL djiki-0.9.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1a2aee00ed20ad0374615b1de5a2359bb74b8215ddc70bd12c21eb153eb647eb
BLAKE2b-256 checksum
How to use checksums
532babe7a2eb26ab9a5ace47428a71040a1c5b339f1098876160efaf1870b482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.10.4

Security for djiki 0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page