Skip to main content

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

Project description

.. image:: https://badge.fury.io/py/django-wakawaka.svg
:target: https://badge.fury.io/py/django-wakawaka

.. image:: https://travis-ci.org/bartTC/django-wakawaka.svg?branch=master
:target: https://travis-ci.org/bartTC/django-wakawaka

.. image:: https://codecov.io/github/bartTC/django-wakawaka/coverage.svg?branch=master
:target: https://codecov.io/github/bartTC/django-wakawaka?branch=master

===============
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`_
* `Revision List`_
* `Page History`_
* `Page List`_

.. _WikiIndex Page: https://github.com/bartTC/django-wakawaka/raw/master/docs/_static/overview.png
.. _Revision List: https://github.com/bartTC/django-wakawaka/raw/master/docs/_static/revisions.png
.. _Page History: https://github.com/bartTC/django-wakawaka/raw/master/docs/_static/history.png
.. _Page List: https://github.com/bartTC/django-wakawaka/raw/master/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`_ 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 pipenv_::

$ pipenv install
$ pipenv run ./runtests.py


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::

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

.. _django-attachments: https://github.com/bartTC/django-attachments
.. _pipenv: https://pipenv.readthedocs.io/

==========
Changelog:
==========

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

.. _`django-attachments`: http://github.com/bartTC/django-attachments/


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.1.tar.gz (313.3 kB view details)

Uploaded Source

Built Distribution

django_wakawaka-1.1-py2.py3-none-any.whl (32.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-wakawaka-1.1.tar.gz.

File metadata

  • Download URL: django-wakawaka-1.1.tar.gz
  • Upload date:
  • Size: 313.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

File hashes

Hashes for django-wakawaka-1.1.tar.gz
Algorithm Hash digest
SHA256 ddc04f4567b31bb1217b1f538bf52ce97cbea78afad2922c5d6ed8c2fab91ad2
MD5 5ad07a864b50b2cc99adf7ad748c8e9a
BLAKE2b-256 40fc2fe775ed48a12dfd9a09602644b99eddeabeece26dc4804379182f882588

See more details on using hashes here.

File details

Details for the file django_wakawaka-1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: django_wakawaka-1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

File hashes

Hashes for django_wakawaka-1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7962d625ce8ca0f78d778bafa7cb4e6eae31a9115a95bb35762b5a163d3efb88
MD5 4dbb7ba68e678cb9234d2e1d0c0882bd
BLAKE2b-256 02709f6d8ac1242fb7295461c29992c5b81212f340b0633435afebddef5ac404

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