[![](https://badge.fury.io/py/django-wakawaka.svg)](https://badge.fury.io/py/django-wakawaka)
_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_:
- [WikiIndex Page][WikiIndex Page]
- [Revision List][Revision List]
- [Page History][Page History]
- [Page List][Page List]
[WikiIndex Page]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/overview.png
[Revision List]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/revisions.png
[Page History]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/history.png
[Page List]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/pagelist.png
## 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][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]:
$ 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
[django-attachments]: https://github.com/bartTC/django-attachments
[poetry]: https://python-poetry.org
# 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
Raw data
{
"_id": null,
"home_page": "https://github.com/bartTC/django-wakawaka/",
"name": "django-wakawaka",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "django, wiki",
"author": "Martin Mahner",
"author_email": "martin@mahner.org",
"download_url": "https://files.pythonhosted.org/packages/b6/1e/9fcdbd0540899813e43588caed0fd883a0016051dcbae87fa99c7fc1b7b5/django_wakawaka-1.6.tar.gz",
"platform": null,
"description": "[![](https://badge.fury.io/py/django-wakawaka.svg)](https://badge.fury.io/py/django-wakawaka)\n\n_Compatibility Matrix:_\n\n| Py/Dj | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 |\n| --------- | --- | ---- | ---- | ---- |------|\n| 4.2 (LTS) | \u2713 | \u2713 | \u2713 | \u2713 | \u2713 |\n| 5.0 | | \u2713 | \u2713 | \u2713 | \u2713 |\n| 5.1 | | \u2713 | \u2713 | \u2713 | \u2713 |\n\n# django-wakawaka\n\ndjango-wakawaka is a super simple wiki system written in Python using the\nDjango framework.\n\n- Links between Wiki pages are automatically resolved by their CamelCase naming\n scheme.\n\n- It automatically keeps track of revision changes of a Page, while\n providing the ability to revert to earlier states.\n\n- It also has a quite comprehensive permission integration, taking care of\n Django's default create/edit/delete permissions.\n\n- Wakawaka is an application and indented to be placed in an existing project.\n\nSome screenshots from the _Example Project_:\n\n- [WikiIndex Page][WikiIndex Page]\n- [Revision List][Revision List]\n- [Page History][Page History]\n- [Page List][Page List]\n\n[WikiIndex Page]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/overview.png\n[Revision List]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/revisions.png\n[Page History]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/history.png\n[Page List]: https://github.com/bartTC/django-wakawaka/raw/main/docs/_static/pagelist.png\n\n## Installation:\n\n1. Put `wakawaka` to your INSTALLED_APPS in your settings.py within your\n django project.\n2. Add `(r'^wiki/', include('wakawaka.urls')),` to your urls.py.\n\nThat's all. Wakawaka has no other dependencies than Django 1.11 or later.\n\n## Configuration:\n\nWakawaka takes care of Django's permission system. Grant your users always a\npair of `wikipage` and `revision` permissions either what they should do.\n(Adding, changing or deleting WikiPages)\n\n### Optional Settings:\n\nThe name of your first wiki page is defined as `WikiIndex`. You can change\nthis by adding a setting `WAKAWAKA_DEFAULT_INDEX` to your settings.py.\nExample:\n\n WAKAWAKA_DEFAULT_INDEX = 'Home'\n\nWords that are written in CamelCase (a pair of one upper letter followed by\n_n_ lower letters) are automatically treated as internal wiki links. You can\nchange this behaviour by adding a setting `WAKAWAKA_SLUG_REGEX` to your\nsettings.py. This holds a regular expression of the wiki name format. Default:\n\n WAKAWAKA_SLUG_REGEX = r'((([A-Z]+[a-z]+){2,})(/([A-Z]+[a-z]+){2,})*)'\n\n### Attachments:\n\nWakawaka does not provide the ability to store file attachments to wiki pages.\nTo do so, have a look on the side project [django-attachments][django-attachments]\nwhich provides a unobstrusive way to add attachments to models.\n\n## Testing and Development:\n\nThe project comes with a test library which can be simply invoked by Tox,\nwhich tests the project under all current Python and Django versions:\n\n $ pip install tox\n $ tox\n\nTo run the testsuite manually in your development environment, install the\nproject using [Poetry][poetry]:\n\n $ poetry install\n $ pipenv run pytest\n\n## Example Project:\n\nThe application comes with a sample project. This gives you a brief overview\nabout the Wiki features, and can help you with the integration of the\napplication into an existing project. It's alo used for the test suite:\n\n $ poetry install\n $ poetry run ./manage.py migrate\n $ poetry run ./manage.py createsuperuser\n $ poetry run ./manage.py runserver\n\n[django-attachments]: https://github.com/bartTC/django-attachments\n[poetry]: https://python-poetry.org\n\n# Changelog:\n\nv1.6 (2024-11-19)\n\n- Added support for Python 3.13.\n- Added support for Django 5.1.\n- Drop support for Django <= 4.1.\n- Drop support for Python 3.8.\n\nv1.5 (2024-07-10):\n\n- Switch from pipenv to a Poetry build system\n- The IP Address field is now optional\n\nv1.4 (2023-12-15):\n\n- Added support for Django 5.0.\n- Added support for Python 3.12\n- Type Annotations\n\nv1.3 (2022-04-30):\n\n- Added support for Django 3.2 to 4.2.\n- Added support for Python 3.8 to 3.11.\n\nv1.2 (2020-01-08):\n\n- Dropped support for Python 2.7.\n- Added support for Python 3.8.\n- Added support for Django 2.2 and 3.0.\n\nv1.1 (2019-01-21):\n\n- Django 2.1 compatibility and and further cleanup.\n- Dropped support for Django <v1.11.\n- Dropped \"authenticated\" url patterns which were not functional since a while.\n\nv1.0 (2016-11-26):\n\n- Django 1.10 compatibility and total cleanup.\n- Full Python 3 compatibility.\n- Removed Pinax Group support.\n- Tests.\n\nv0.3: (2009-08-06):\n\n- If a wikipage was not found, the view now raises a proper Http404 instead of\n a (silent) HttpResponseNotFound. This gives you the ability to display a\n proper 404 page.\n- All templates are now translatable using gettext.\n\nv0.2 (2009-07-22):\n\n- Edit-forms are now replaceable\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A simple Django based wiki system.",
"version": "1.6",
"project_urls": {
"Homepage": "https://github.com/bartTC/django-wakawaka/"
},
"split_keywords": [
"django",
" wiki"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3883960090454f32d57d6db1f3e59feeb17067600ceeac50b4f47107793b3e22",
"md5": "3298024ee581603155f41b8ba7073d2d",
"sha256": "659dd95619f0177086bce2e9cc8a1375065aa73ff9999c0dbc233b2ac691b6ae"
},
"downloads": -1,
"filename": "django_wakawaka-1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3298024ee581603155f41b8ba7073d2d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 37031,
"upload_time": "2024-11-19T08:46:41",
"upload_time_iso_8601": "2024-11-19T08:46:41.267370Z",
"url": "https://files.pythonhosted.org/packages/38/83/960090454f32d57d6db1f3e59feeb17067600ceeac50b4f47107793b3e22/django_wakawaka-1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b61e9fcdbd0540899813e43588caed0fd883a0016051dcbae87fa99c7fc1b7b5",
"md5": "abea4383a973a70d79f4798638d50188",
"sha256": "ce8f4d9d9a38c0aba95cb4b2b987ce1f3d390e831efa18b2e6e0472855031501"
},
"downloads": -1,
"filename": "django_wakawaka-1.6.tar.gz",
"has_sig": false,
"md5_digest": "abea4383a973a70d79f4798638d50188",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 25387,
"upload_time": "2024-11-19T08:46:43",
"upload_time_iso_8601": "2024-11-19T08:46:43.173416Z",
"url": "https://files.pythonhosted.org/packages/b6/1e/9fcdbd0540899813e43588caed0fd883a0016051dcbae87fa99c7fc1b7b5/django_wakawaka-1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-19 08:46:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bartTC",
"github_project": "django-wakawaka",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "django-wakawaka"
}