integration wip: showing + saving document, debug mode only, editor via symlink
[redakcja.git] / apps / wiki / templates / wiki / bootstrap.html
1 {% load staticfiles %}
2 {% load i18n %}
3
4 <!DOCTYPE html>
5 <html>
6     <head>
7
8         <script src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
9         <script src="http://cdnjs.cloudflare.com/ajax/libs/ace/1.1.01/ace.js" type="text/javascript" charset="utf-8"></script>
10         
11         {% if DEBUG %}
12             <link rel="stylesheet/less" type="text/css" href="{% static 'wiki/rng/src/editor/styles/main.less' %}"/>
13             <script type="text/javascript">less = {relativeUrls: true};</script>
14             <script src="{% static 'wiki/rng/libs/less-1.3.3.min.js' %}"></script>
15             <script src="{% static 'wiki/rng/libs/require.js' %}" data-main="{% static 'wiki/rng/src/editor/entrypoint.js' %}" ></script>
16         {% else %}
17             <link href="{% static 'wiki/build/rng.css' %}" rel="stylesheet">
18             <script src="{% static 'wiki/build/rng.js' %}"></script>
19         {% endif %}
20     </head>
21     <body>
22         <script type="text/javascript">
23
24             var config = {
25                 rootSelector: '#editor_root',
26                 jsonifySentPayload: false,
27                 
28                 documentSaveUrl: function(id) { return '/editor/text/' + id + '/'; },
29                 documentHistoryUrl: function(id) { return '/editor/history/' + id + '/'},
30
31                 documentSaveForm: {
32                     fields: [
33                         {label: '{{forms.text_save.comment.label}}', name: '{{forms.text_save.comment.html_name}}', type: 'textarea'},
34                         {label: '{{forms.text_save.stage_completed.label}}', name: '{{forms.text_save.stage_completed.html_name}}', type: 'select', options: [
35                             {% for value,text in tags %}
36                                 {value:'{{value|default:''}}', text:'{{text}}'} {% if not forloop.last %}, {% endif %}
37                             {% endfor %}
38                         ], description: '{{forms.text_save.stage_completed.help_text}}'},
39                     ],
40                     content_field_name: '{{forms.text_save.text.html_name}}',
41                     version_field_name: '{{forms.text_save.parent_revision.html_name}}'
42                 }
43             };
44
45             {% if can_pubmark %}
46                 config.documentSaveForm.fields.push(
47                     {label: '{{forms.text_save.publishable.label}}', name: '{{forms.text_save.publishable.html_name}}', type: 'checkbox', description: '{{forms.text_save.publishable.help_text}}'}
48                 );
49             {% endif %}
50
51             {% if not request.user.is_authenticated %}
52                 config.documentSaveForm.fields.push(
53                     {label: '{{forms.text_save.author_name.label}}', name: '{{forms.text_save.author_name.html_name}}', type: 'input', description: '{{forms.text_save.author_name.help_text}}'},
54                     {label: '{{forms.text_save.author_email.label}}', name: '{{forms.text_save.author_email.html_name}}', type: 'input', description: '{{forms.text_save.author_email.help_text}}'}
55                 );
56             {% endif %}
57
58             var data = {% autoescape off%}{{serialized_document_data}}{%endautoescape%};
59
60             var editor_init = function(Editor) {            
61                 Editor.setBootstrappedData('data', data);
62                 Editor.start(config);
63             };
64         </script>
65         <div id="editor_root"></div>
66     </body>
67 </html>