summaryrefslogtreecommitdiffstats
path: root/templates/editexpopage.html
diff options
context:
space:
mode:
authorMartin Green <martin.speleo@gmail.com>2022-06-24 14:39:09 +0100
committerMartin Green <martin.speleo@gmail.com>2022-06-24 14:39:09 +0100
commitb38412b145fac56f8b3e7ebdd6d213f6bcaeb936 (patch)
tree354e6432fb58ed1d02b8d67d640ce8ef4fb3666e /templates/editexpopage.html
parentef68db080a5a4af746881c8227b0456d1626f076 (diff)
downloadtroggle-b38412b145fac56f8b3e7ebdd6d213f6bcaeb936.tar.gz
troggle-b38412b145fac56f8b3e7ebdd6d213f6bcaeb936.tar.bz2
troggle-b38412b145fac56f8b3e7ebdd6d213f6bcaeb936.zip
Added come mirror for the edit page, including some buttons to make html
Diffstat (limited to 'templates/editexpopage.html')
-rw-r--r--templates/editexpopage.html96
1 files changed, 94 insertions, 2 deletions
diff --git a/templates/editexpopage.html b/templates/editexpopage.html
index 606a47c..d66c9ca 100644
--- a/templates/editexpopage.html
+++ b/templates/editexpopage.html
@@ -4,12 +4,104 @@
<!--<script src="{{ settings.TINY_MCE_MEDIA_URL }}tiny_mce.js" type="text/javascript"></script>-->
<!-- <script type="text/javascript"> tinyMCE.init({ mode : "textareas" }); </script>-->
+
+ <script src={{ settings.MEDIA_URL }}codemirror/codemirror.js></script>
+ <script src={{ settings.MEDIA_URL }}codemirror/xml.js></script>
+ <script src={{ settings.MEDIA_URL }}codemirror/javascript.js></script>
+ <script src={{ settings.MEDIA_URL }}codemirror/css.js></script>
+ <script src={{ settings.MEDIA_URL }}codemirror/htmlmixed.js></script>
+ <link rel=stylesheet href={{ settings.MEDIA_URL }}codemirror/codemirror.css>
+ <link rel=stylesheet href={{ settings.MEDIA_URL }}codemirror/docs.css>
+ <style type=text/css>
+ .CodeMirror {
+ float: left;
+ width: 50%;
+ border: 1px solid black;
+ height: 80%;
+ }
+ .CodeMirror-scroll{
+ height: 99%
+ }
+ iframe {
+ width: 49%;
+ height: 80%;
+ float: left;
+ border: 1px solid black;
+ border-left: 0px;
+ }
+ body{max-width: none;
+ margin-left: 275px;
+ margin-right: 50px;
+ text-align: left;
+ }
+ #id_change_message{
+ height: 5%;
+ }
+ </style>
{% endblock %}
{% block body %}
<h1>Edit {{ path }}</h1>
<form action="" method="post">{% csrf_token %}
-{{form.as_p}}
+{{ form.non_field_errors }}
+<div class="fieldWrapper">
+ {{ form.title.errors }}
+ <label for="{{ form.title.id_for_label }}">Title:</label>
+ {{ form.title }}
+</div>
+<div class="fieldWrapper">
+ {{ form.html.errors }}
+ <!--<label for="{{ form.title.id_for_label }}">HTML:</label> -->
+ {{ form.html }}<iframe id=preview></iframe>
+</div>
+<button type="button" onclick="addTag('i', '')">italic</button>
+<button type="button" onclick="addTag('b', '')">bold</button>
+<button type="button" onclick="addTag('h2', 'id=&quot;tophead&quot;')">top heading</button>
+<button type="button" onclick="addTag('h1', '')">heading 1</button>
+<button type="button" onclick="addTag('h2', '')">heading 2</button>
+<button type="button" onclick="addTag('h3', '')">heading 3</button>
+<button type="button" onclick="addTag('h4', '')">heading 4</button>
+<button type="button" onclick="addTag('a', 'href=&quot;&quot;')">hyperlink</button>
+<button type="button" onclick="addTag('p', '')">paragraph</button>
+<div class="fieldWrapper">
+ {{ form.change_message.errors }}
+ <label for="{{ form.title.id_for_label }}">Git change message:</label>
+ {{ form.change_message }}
+</div>
+{% include "menu.html" %}
<p><input type="submit" value="Submit" /></p>
</form>
-{% include "menu.html" %}
+ <script>
+ var delay;
+ // Initialize CodeMirror editor with a nice html5 canvas demo.
+ var editor = CodeMirror.fromTextArea(document.getElementById('id_html'), {
+ mode: 'text/html',
+ tabMode: 'indent',
+ onChange: function() {
+ clearTimeout(delay);
+ delay = setTimeout(updatePreview, 300);
+ }
+ });
+
+ function updatePreview() {
+ var previewFrame = document.getElementById('preview');
+ var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
+ preview.open();
+ preview.write("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><link rel='stylesheet' type='text/css' href='/css/main2.css' /></head><body>");
+ preview.write(editor.getValue());
+ preview.write("</body></html>");
+ preview.close();
+ }
+ setTimeout(updatePreview, 300);
+
+ function addTag(tag, attr){
+ // For codemirror & center cursor
+ var from = editor.getCursor(true);
+ var to = editor.getCursor(false);
+ editor.replaceRange("</"+tag+">", to);
+ if (attr.length > 0) {attr = " " + attr;}
+ editor.replaceRange("<"+tag+attr+">", from);
+ editor.focus();
+ editor.setCursor({line: to.line , ch : to.ch + 2 + tag.length + attr.length });
+ }
+ </script>
{% endblock %}