• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created over 15 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple wiki app written in Python using the Django framework.

Compatibility Matrix:

Py/Dj 3.8 3.9 3.10 3.11
3.2 (LTS) βœ“ βœ“ βœ“ βœ“
4.0 βœ“ βœ“ βœ“ βœ“
4.1 βœ“ βœ“ βœ“ βœ“
4.2 (LTS) βœ“ βœ“ βœ“ βœ“

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

$ pipenv install
$ pipenv run tests

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

More Repositories

1

django-attachments

A generic Django application to attach Files (Attachments) to any model.
Python
288
star
2

django-memcache-status

Django admin extension that displays statistics about your memcached instances.
Python
269
star
3

django-frontendadmin

Not in active development; see README -- django-frontendadmin is a set of templatetags to allow an easy and unobstrusive way to edit model-data in the frontend of your page. See wiki for screencast!
Python
188
star
4

pip-check

pip-check gives you a quick overview of all installed packages and their update status.
Python
156
star
5

django-markup

Convert text markup to html. Markdown, rST, Textile etc.
Python
143
star
6

django-generic-flatblocks

A flatpages/flatblock application using generic relations to content models.
Python
67
star
7

django-templatesadmin

Not in active development. See readme. A Django app to make minor changes to your templates on the fly.
Python
54
star
8

django-eventlog

django-eventlog is a very simple event logger you can use to track certain actions in your code. Events are stored in a Django model and can be viewed in the Django Admin.
Python
29
star
9

django-comments-spamfighter

Not in active development; see README -- A Django app that contributes Akismet and Keyword blocking to your django comments.
Python
17
star
10

dpasteGUI

The OS X gui to quickly paste snippets to the dpaste.de pastebin.
Objective-C
10
star
11

django-staticinline

Django template tag to load static files inline with your template.
Python
9
star
12

SubDpaste

Paste code snippets on dpaste.de.
Python
8
star
13

tab

Opens a new OS X Terminal window with the current directory and runs an optional command in it.
Python
5
star
14

starcel

Starcel is a static page generator that helps you to transforms HTML/CSS/JS using ParcelJS.
HTML
3
star
15

fetch-sitemap

Python
1
star
16

go-like

It's like a Facebook Like button, but without Facebook.
Go
1
star