A simple Django based wiki system.
Project description
Compatibility Matrix:
Py/Dj | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 |
---|---|---|---|---|---|
3.2 (LTS) | ✓ | ✓ | ✓ | ✓ | ✓ |
4.0 | ✓ | ✓ | ✓ | ✓ | ✓ |
4.1 | ✓ | ✓ | ✓ | ✓ | ✓ |
4.2 (LTS) | ✓ | ✓ | ✓ | ✓ | ✓ |
5.0 | ✓ | ✓ | ✓ |
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:
- Put
wakawaka
to your INSTALLED_APPS in your settings.py within your django project. - 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.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_wakawaka-1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f170c59b08a7b0646228f1dfe9e4cfd9d9223c5212e7d5fd7d74a291a94cc7f |
|
MD5 | 07a2f939d663e28150428cf7a0588a8d |
|
BLAKE2b-256 | c674a4b37dc8de89a7a4f2e584ae5ae261a9d2c32050f6110ec51dbd8d62ddcf |