2020-01-26 14:47:50 +00:00
|
|
|
# mycreole
|
|
|
|
|
2024-10-06 18:23:20 +02:00
|
|
|
With the django library mycreole, you are abel to use the creole language to create html output in your django application.
|
|
|
|
|
|
|
|
## 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',
|
|
|
|
```
|
|
|
|
|
|
|
|
Define the folder, where the attachments are stored with the following line:
|
|
|
|
```
|
|
|
|
MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
|
|
|
```
|
|
|
|
|
|
|
|
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',
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
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
|
|
|
|
TBD
|
|
|
|
|
|
|
|
### 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,
|
|
|
|
}
|