Skip to main content

A wiki system written for the Django framework.

Project description

Docs Build status Coverage Status PyPi Downloads IRC

Django support

The below table explains which Django versions are supported.

Release

Django

Upgrade from

0.11.x

3.2, 4.0, 4.1, 4.2, 5.0

0.10

0.10.x

2.2, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2

0.7

0.9.x

2.2, 3.0, 3.1, 3.2, 4.0

0.7

0.8.x

2.2, 3.0, 3.1, 3.2, 4.0

0.7

0.7.x

2.2, 3.0, 3.1, 3.2

0.5 or 0.6

0.6.x

2.1, 2.2, 3.0

0.5

0.5.x

2.1, 2.2

0.4

0.4.x

1.11, 2.0, 2.1

0.3

0.3.x

1.8, 1.9, 1.10, 1.11

0.2

0.2.x

1.8, 1.9, 1.10

0.1

0.1.x

1.5, 1.6, 1.7

0.0.24

0.0.24

1.4, 1.5, 1.6 1.7 (unstable)

0.0.?

For upgrade instructions, please refer to the Release Notes

Translations (Transifex)

Django-wiki is fully translated into 13 languages, apart from the default (English) and some additional languages underway.

But please help out in adding more languages! It’s very easy and you don’t even need to be a programmer.

Some languages…

  • …just need a little push, as they are almost fully complete

  • …got initiated and need a new instigator to carry on the ambitions

  • …do not exist yet - but you can request them and become the coordinator

Visit the django-wiki project on Transifex

Demo

A demo running the latest main branch is available here:

https://demo.django-wiki.org

Sign up for an account to see the notification system, or you can log in with the existing account:

  • user: admin

  • password:admin

Community

Please use our IRC or mailing list (google group) for getting in touch on development and support. Please do not email developers asking for personal support.

Always a work in progr…

On a number of factors, this project has proven itself useful and stable.

  • There won’t be changes that are expected to cause loss of data without a proper upgrade path.

  • The model API has been very stable and is only subject to smaller changes.

  • The plugin API seems pretty stable.

  • You can maintain the latest version of django-wiki through PyPi (package name: wiki), using SemVer versioning schema.

What should I customize? What can break?

You will need to learn a bit of Django to customize django-wiki.

The simplest is to override templates and create your own template tags. Do not make your own hard copy of this repository in order to fiddle with internal parts of the wiki, this strategy will lead you to lose out on future updates with highly improved features, plugins and security fixes.

You can also override the whole Bootstrap theming. At present, you’re best off maintaining your own Bootstrap SCSS and hard-copying, then overriding django-wiki’s rules.

All Python views are class-based. However for most cases overriding views and URLs shouldn’t be the best place to start since most customization can be achieved through plugins, templates and SCSS.

Contributing

Contributions are welcome! ❤️

Please read our Developer Guide

Manifesto

Django needs a mature wiki system appealing to all kinds of needs, both big and small:

  • Be pluggable and light-weight. Don’t integrate optional features in the core.

  • Be open. Make an extension API that allows the ecology of the wiki to grow in a structured way. Wikipedia consists of over 1100 extension projects written for MediaWiki. We should learn from this.

  • Be smart. This is the map of tables in MediaWiki - we’ll understand the choices of other wiki projects and make our own. After-all, this is a Django project.

  • Be simple. The source code should almost explain itself.

  • Be structured. Markdown is a simple syntax for readability. Features should be implemented either through easy coding patterns in the content field, but rather stored in a structured way (in the database) and managed through a friendly interface. This gives control back to the website developer, and makes knowledge more usable. Just ask: Why has Wikipedia never changed? Answer: Because it’s knowledge is stored in a complicated way, thus it becomes very static.

Docs

See the docs/ folder, or read them at:

https://django-wiki.readthedocs.io/en/latest/

If you wish to add something, please ask in the google group or raise an issue if you’re in doubt about whether something might change.

Background

Django-wiki is a rewrite of django-simplewiki, a project from 2009 that aimed to be a base system for a wiki. It proposed that the user should customize the wiki by overwriting templates, but soon learned that the only customization that really took place was that people forked the entire project. We don’t want that for django-wiki, we want it to be modular and extendable.

As of now, Django has existed for too long without a proper wiki application. The dream of django-wiki is to become a contestant alongside Mediawiki, so that Django developers can stick to the Django platform even when facing tough challenges such as implementing a wiki.

Q&A

  • Why is the module named just wiki ? Because when we tried pip install wiki, it returned “No distributions at all found for wiki”, so we had to make up for that! …oh, and django-wiki was occupied.

  • What markup language will you use? Markdown. The markup renderer is not a pluggable part but has been internalized into core parts. Discussion should go here: https://github.com/django-wiki/django-wiki/issues/76

  • Why not use django-reversion? It’s a great project, but if the wiki has to grow ambitious, someone will have to optimize its behavior, and using a third-party application for something as crucial as the revision system is a no-go in this regard.

  • Any support for multiple wikis? Yes, in an sense you can just imagine that you always have multiple wikis, because you always have hierarchies and full control of their permissions. See this discussion: https://github.com/django-wiki/django-wiki/issues/63

Docker tl;dr

There is a docker container available here: https://github.com/riotkit-org/docker-django-wiki

Acknowledgements

Original source of inspiration back in 2009 was django-cms, and since then Wagtail has also done a tremendous amount of work to promote Django models as a fundamental structure and enabler for application design.

Release history Release notifications | RSS feed

This version

0.11

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wiki-0.11.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wiki-0.11-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file wiki-0.11.tar.gz.

File metadata

  • Download URL: wiki-0.11.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for wiki-0.11.tar.gz
Algorithm Hash digest
SHA256 73b37b45066616fe491c5fd02e8484ea83e662269f412296f01fc63977837349
MD5 5a9f500a2866a955027c5038f539a852
BLAKE2b-256 03c9fff5be931ac27bc03d1d48af81553c3dd0914142fb0022730cebe2d0a935

See more details on using hashes here.

File details

Details for the file wiki-0.11-py3-none-any.whl.

File metadata

  • Download URL: wiki-0.11-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for wiki-0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 479c7ab83c753123ffe786578e9ed3e0828494b8e4e23c9ec747d7a2b8fd7c6b
MD5 6b400afc64be641450c3cc935e256291
BLAKE2b-256 674e47e231b85fa0191fbe8a0817c07a6f4f8aa9ffc800bfd8e5c8a2aa82e56e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page