Skip to main content

An extensible wiki app for Django with a Git backend

Project description

Waliki is an extensible wiki app for Django with a Git backend.

https://badge.fury.io/py/waliki.png https://travis-ci.org/mgaitan/waliki.png?branch=master https://coveralls.io/repos/mgaitan/waliki/badge.png?branch=master Documentation Status Wheel Status
home:

https://github.com/mgaitan/waliki/

demo:

http://waliki.pythonanywhere.com

documentation:

http://waliki.rtfd.org

twitter:

@Waliki_ // @tin_nqn_

group:

https://groups.google.com/forum/#!forum/waliki-devs

license:

BSD

At a glance, Waliki has these features:

  • File based content storage.

  • UI based on Bootstrap and CodeMirror

  • Version control and concurrent edition for your content using git

  • An extensible architecture with plugins

  • reStructuredText or Markdown support, configurable per page (and it’s easy to add extensions)

  • A very simple per slug ACL system

  • A nice page attachments manager (that respects the page permissions)

  • Realtime collaborative edition via togetherJS

  • Wiki content embeddable in any django template (as a “dummy CMS”)

  • Few helpers to migrate content (particularly from MoinMoin, using moin2git)

  • It works with Python 2.7, 3.3, 3.4 or PyPy in Django 1.6 or newer

How to start

Install it with pip:

$ pip install waliki[all]

Or the development version:

$ pip install https://github.com/mgaitan/waliki/tarball/master

Add waliki and the optionals plugins to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'waliki',
    'waliki.git',           # optional but recommended
    'waliki.attachments',   # optional but recommended
    'waliki.pdf',           # optional
    'waliki.slides',        # optional
    'waliki.togetherjs',    # optional
    ...
)

Include waliki.urls in your project’s urls.py. For example:

urlpatterns = patterns('',
    ...
    url(r'^wiki/', include('waliki.urls')),
    ...
)

Sync your database:

$ python manage.py migrate   # syncdb in django < 1.7

Why Waliki ?

Waliki is an Aymara word that means all right, fine.

It sounds a bit like wiki, has a meaningful sense and also plays with the idea of using a non-mainstream language [1] .

And last but most important, it’s a humble tribute to the president Evo Morales and the Bolivian people.

Changelog

0.5 (2015-04-12)

  • Per page markup is now fully functional. It allows to have a mixed rst & markdown wiki. Fixed #2

  • Allow save a page without changes in a body. Fixed #85

  • Fixed #84, that marked deleted but no commited after a move

  • Allow to choice markup from new page dialog. #82

  • Fix wrong encoding for raw of an old revision. #75

0.4.2 (2015-03-31)

  • Fixed conflict with a broken dependecy

0.4.1 (2015-03-31)

  • Marked the release as beta (instead of alpha)

  • Improves on setup.py and the README

0.4 (2015-03-31)

  • Implemented views to add a new, move and delete pages

  • Implemented real-time collaborative editing via together.js (#33)

  • Added pagination in what changed page

  • Added a way to extend waliki’s docutils with directives and transformation for

  • A deep docs proofreading by chuna

  • Edit view redirect to detail if the page doesn’t exist (#37)

  • waliki_box fails with missing slug #40

  • can’t view diffs on LMDE #60

  • fix typos in tutorial #76 (martenson)

  • Fix build with Markups 0.6. #63 (loganchien)

  • fixed roundoff error for whatchanged pagination #61 (aszepieniec)

  • Enhance slides #59 (loganchien)

  • Fix UnicodeDecodeError in waliki.git.view. #58 (loganchien)

0.3.3 (2014-11-24)

  • Tracking page redirections

  • fix bugs related to attachments in sync_waliki

  • The edition form uses crispy forms if it’s installed

  • many small improvements to help the integration/customization

0.3.2 (2014-11-17)

  • Url pattern is configurable now. By default allow uppercase and underscores

  • Added moin_migration_cleanup, a tool to cleanup the result of a moin2git import

  • Improve git parsers for page history and what changed

0.3.1 (2014-11-11)

  • Plugin attachments

  • Implemented per namespace ACL rules

  • Added the waliki_box templatetag: use waliki content in any app

  • Added entry_point to extend templates from plugins

  • Added a webhook to pull and sync change from a remote repository (Git)

  • Fixed a bug in git that left the repo unclean

0.2 (2014-09-29)

  • Support concurrent edition

  • Added a simple ACL system

  • i18n support (and locales for es)

  • Editor based in Codemirror

  • Migrated templates to Bootstrap 3

  • Added the management command waliki_sync

  • Added a basic test suite and setup Travis CI.

  • Added “What changed” page (from Git)

  • Plugins can register links in the nabvar ({% navbar_links %})

0.1.2 / 0.1.3 (2014-10-02)

  • “Get as PDF” plugin

  • rst2html5 fixes

0.1.1 (2014-10-02)

  • Many Python 2/3 compatibility fixes

0.1.0 (2014-10-01)

  • First release on PyPI.

Download files

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

Source Distribution

waliki-0.5.tar.gz (404.4 kB view hashes)

Uploaded Source

Built Distribution

waliki-0.5-py2.py3-none-any.whl (482.1 kB view hashes)

Uploaded Python 2 Python 3

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