Django Library Mycreole
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dirk Alders 997594e371 Logger creation simplified 2 months ago
migrations Initial mycreole implementation 4 years ago
templates/mycreole Initial Attachment Management 3 years ago
templatetags Initial mycreole implementation 4 years ago
.gitignore Initial commit 4 years ago
LICENSE Initial commit 4 years ago
README.md Added kwargs to extern navigation method, instead of passing a modified rel_path 2 months ago
__init__.py Module parameters centralised in parameter.py 2 months ago
admin.py Initial mycreole implementation 4 years ago
apps.py Initial mycreole implementation 4 years ago
context.py Logger creation simplified 2 months ago
help.py Make mycreole independent from patt 2 months ago
models.py Initial mycreole implementation 4 years ago
parameter.py Module parameters centralised in parameter.py 2 months ago
tests.py Initial mycreole implementation 4 years ago
urls.py Initial Attachment Management 3 years ago
views.py Logger creation simplified 2 months ago

README.md

mycreole

With the django library mycreole, you are abel to use the creole language to create html output in your django application.

Requirements

You need to ensure that python-mycreole is available in your python environment.

Integration

Clone the library in your django application.

Configurations in your settings.py

Add the following line to the list INSTALLED_APPS:

'mycreole.apps.MycreoleConfig',

Parameter

All parameters can be added in the django settings.py or in a config.py in the root django folder. The definitions in the config.py will be used before the definitions in settings.py.

MYCREOLE_ROOT

Define the folder, where the attachments are stored with the following line:

MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')

MYCREOLE_ATTACHMENT_ACCESS

Define the methods to grant or deny the access to the attachments by:

MYCREOLE_ATTACHMENT_ACCESS = {
    'read': 'pages.access.read_attachment',
    'modify': 'pages.access.modify_attachment',
}

MYCREOLE_BAR

Define the methods to extend the navigationbar and menubar by this statement:

MYCREOLE_BAR = {
    'navibar': 'pages.context.navigationbar',
    'menubar': 'pages.context.menubar',
}

Usage

Creole help page

In this example, you see a method in views.py which returns a creole help page:

from django.conf import settings
from django.http import HttpResponse
import mycreole
import os


def help_on_creole(request):
    attachment_path = os.path.join(settings.MYCREOLE_ROOT, 'creole_help_page')
    html = mycreole.render(request, creole.help.MYCREOLE_HELP, self.attachment_path)

Usage of next_achor

Defines the additional html anchor, which will be used after an upload.

Usage of macros

You can give a dictonary as macros parameter to the render method, to define your own macros. Here an example of such a dict:

macros={
    'mymacro': method_to_be_called,
}