Skip to main content

Django application to manage documents in ReStructuredText

Project description

Introduction

Sveetchies-documents is a Django application to manage text documents. It work almost like a Wiki.

Features

  • Usage of the ReStructuredText docutils parser;

  • Templates builded with Foundation5;

  • Rich editor djangocodemirror;

  • Nice forms with django-crispy-forms;

  • Usage of autobreadcrumbs;

  • Optional usage of Assets bundles with django-assets;

  • Usage of the Django cache system for the parser rendering;

  • A management board ready to use in frontend;

  • Two kind of documents :

    • Page : For full page documents with children pages in a sitemap tree;

    • Insert : For documents to insert as fragment in your templates;

  • Simple collaborative way (History, authoring) for Pages;

  • Templatetags to use documents in your templates;

  • Fully internationalized;

Requires

Optionnally :

  • django-assets to use Assets bundles instead of plain assets, you will have to load these bundles instead of raw asset files, perform this with overriding sveedocuments/assets_css.html and sveedocuments/assets_js.html in your project templates directory.

  • South to perform database migrations for next releases;

Install

Add it to your installed apps in your project settings :

INSTALLED_APPS = (
    ...
    'autobreadcrumbs',
    'djangocodemirror',
    'rstview',
    'mptt',
    'sveedocuments',
    ...
)

And add the djangocodemirror required settings :

DJANGOCODEMIRROR_USER_SETTINGS_COOKIE_NAME = "djangocodemirror_user_settings"
CODEMIRROR_SETTINGS = {
    'sveetchies-documents-edit-page': {
        'mode': 'rst',
        'csrf': 'CSRFpass',
        'preview_url': ('sveedocuments:preview',),
        'quicksave_url': ('sveedocuments:page-quicksave',),
        'quicksave_datas': 'DJANGOCODEMIRROR_OBJECT',
        'lineWrapping': True,
        'lineNumbers': True,
        'search_enabled': True,
        'settings_cookie': DJANGOCODEMIRROR_USER_SETTINGS_COOKIE_NAME,
        'help_link': ('sveedocuments:help',),
        'settings_url': ('sveedocuments:editor-settings', [], {}),
    },
    'sveetchies-documents-edit-insert': {
        'mode': 'rst',
        'csrf': 'CSRFpass',
        'preview_url': ('sveedocuments:preview',),
        'quicksave_url': ('sveedocuments:insert-quicksave',),
        'quicksave_datas': 'DJANGOCODEMIRROR_OBJECT',
        'lineWrapping': True,
        'lineNumbers': True,
        'search_enabled': True,
        'settings_cookie': DJANGOCODEMIRROR_USER_SETTINGS_COOKIE_NAME,
        'help_link': ('sveedocuments:help',),
        'settings_url': ('sveedocuments:editor-settings', [], {}),
    },
}
CODEMIRROR_SETTINGS['sveetchies-documents-add-page'] = CODEMIRROR_SETTINGS['sveetchies-documents-edit-page'].copy()
CODEMIRROR_SETTINGS['sveetchies-documents-add-page']['quicksave_url'] = None
CODEMIRROR_SETTINGS['sveetchies-documents-add-insert'] = CODEMIRROR_SETTINGS['sveetchies-documents-edit-insert'].copy()
CODEMIRROR_SETTINGS['sveetchies-documents-add-insert']['quicksave_url'] = None

Also you can overrides app settings to change some behaviors, see sveedocuments.local_settings to see what you can override in your project settings like DOCUMENTS_PAGE_TEMPLATES to add new templates to use to build your pages.

Finally mount its urls into your main urls.py :

urlpatterns = patterns('',
    ...
    (r'^documents/', include('sveedocuments.urls', namespace='sveedocuments')),
    ...
)

Usage

Signals

sveedocuments use Django signals to send signals when Page or Insert is updated (when created or edited), you can listen to them to perform some tasks. These signals are :

  • sveedocuments.models.documents_page_update_signal for Page updates;

  • sveedocuments.models.documents_insert_update_signal for Insert updates;

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

sveedocuments-0.9.9.8.tar.gz (95.6 kB view hashes)

Uploaded Source

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