Skip to main content

A simple Django based wiki system.

Project description

Compatibility Matrix:

Py/Dj 3.9 3.10 3.11 3.12 3.13
4.2 (LTS)
5.0
5.1

django-wakawaka

django-wakawaka is a super simple wiki system written in Python using the Django framework.

  • Links between Wiki pages are automatically resolved by their CamelCase naming scheme.

  • It automatically keeps track of revision changes of a Page, while providing the ability to revert to earlier states.

  • It also has a quite comprehensive permission integration, taking care of Django's default create/edit/delete permissions.

  • Wakawaka is an application and indented to be placed in an existing project.

Some screenshots from the Example Project:

Installation:

  1. Put wakawaka to your INSTALLED_APPS in your settings.py within your django project.
  2. Add (r'^wiki/', include('wakawaka.urls')), to your urls.py.

That's all. Wakawaka has no other dependencies than Django 1.11 or later.

Configuration:

Wakawaka takes care of Django's permission system. Grant your users always a pair of wikipage and revision permissions either what they should do. (Adding, changing or deleting WikiPages)

Optional Settings:

The name of your first wiki page is defined as WikiIndex. You can change this by adding a setting WAKAWAKA_DEFAULT_INDEX to your settings.py. Example:

WAKAWAKA_DEFAULT_INDEX = 'Home'

Words that are written in CamelCase (a pair of one upper letter followed by n lower letters) are automatically treated as internal wiki links. You can change this behaviour by adding a setting WAKAWAKA_SLUG_REGEX to your settings.py. This holds a regular expression of the wiki name format. Default:

WAKAWAKA_SLUG_REGEX = r'((([A-Z]+[a-z]+){2,})(/([A-Z]+[a-z]+){2,})*)'

Attachments:

Wakawaka does not provide the ability to store file attachments to wiki pages. To do so, have a look on the side project django-attachments which provides a unobstrusive way to add attachments to models.

Testing and Development:

The project comes with a test library which can be simply invoked by Tox, which tests the project under all current Python and Django versions:

$ pip install tox
$ tox

To run the testsuite manually in your development environment, install the project using Poetry:

$ poetry install
$ pipenv run pytest

Example Project:

The application comes with a sample project. This gives you a brief overview about the Wiki features, and can help you with the integration of the application into an existing project. It's alo used for the test suite:

$ poetry install
$ poetry run ./manage.py migrate
$ poetry run ./manage.py createsuperuser
$ poetry run ./manage.py runserver

Changelog:

v1.6 (2024-11-19)

  • Added support for Python 3.13.
  • Added support for Django 5.1.
  • Drop support for Django <= 4.1.
  • Drop support for Python 3.8.

v1.5 (2024-07-10):

  • Switch from pipenv to a Poetry build system
  • The IP Address field is now optional

v1.4 (2023-12-15):

  • Added support for Django 5.0.
  • Added support for Python 3.12
  • Type Annotations

v1.3 (2022-04-30):

  • Added support for Django 3.2 to 4.2.
  • Added support for Python 3.8 to 3.11.

v1.2 (2020-01-08):

  • Dropped support for Python 2.7.
  • Added support for Python 3.8.
  • Added support for Django 2.2 and 3.0.

v1.1 (2019-01-21):

  • Django 2.1 compatibility and and further cleanup.
  • Dropped support for Django <v1.11.
  • Dropped "authenticated" url patterns which were not functional since a while.

v1.0 (2016-11-26):

  • Django 1.10 compatibility and total cleanup.
  • Full Python 3 compatibility.
  • Removed Pinax Group support.
  • Tests.

v0.3: (2009-08-06):

  • If a wikipage was not found, the view now raises a proper Http404 instead of a (silent) HttpResponseNotFound. This gives you the ability to display a proper 404 page.
  • All templates are now translatable using gettext.

v0.2 (2009-07-22):

  • Edit-forms are now replaceable

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

django_wakawaka-1.6.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

django_wakawaka-1.6-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file django_wakawaka-1.6.tar.gz.

File metadata

  • Download URL: django_wakawaka-1.6.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Darwin/24.1.0

File hashes

Hashes for django_wakawaka-1.6.tar.gz
Algorithm Hash digest
SHA256 ce8f4d9d9a38c0aba95cb4b2b987ce1f3d390e831efa18b2e6e0472855031501
MD5 abea4383a973a70d79f4798638d50188
BLAKE2b-256 b61e9fcdbd0540899813e43588caed0fd883a0016051dcbae87fa99c7fc1b7b5

See more details on using hashes here.

File details

Details for the file django_wakawaka-1.6-py3-none-any.whl.

File metadata

  • Download URL: django_wakawaka-1.6-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Darwin/24.1.0

File hashes

Hashes for django_wakawaka-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 659dd95619f0177086bce2e9cc8a1375065aa73ff9999c0dbc233b2ac691b6ae
MD5 3298024ee581603155f41b8ba7073d2d
BLAKE2b-256 3883960090454f32d57d6db1f3e59feeb17067600ceeac50b4f47107793b3e22

See more details on using hashes here.

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