diff --git a/nyaa/static/css/main.css b/nyaa/static/css/main.css index ee01f9b..83ca0ea 100644 --- a/nyaa/static/css/main.css +++ b/nyaa/static/css/main.css @@ -87,6 +87,11 @@ table.torrent-list thead th.sorting_desc:after { .panel-deleted > .panel-footer + .panel-collapse > .panel-body { border-bottom-color:#757575; } + +.markdown-editor label { + padding: 1em 0; +} + @media (max-width: 991px){ .col-md-5 { margin-left: 20px; diff --git a/nyaa/static/js/main.js b/nyaa/static/js/main.js index 96c59f4..99c5355 100644 --- a/nyaa/static/js/main.js +++ b/nyaa/static/js/main.js @@ -77,6 +77,26 @@ document.addEventListener("DOMContentLoaded", function(event) { }; }); +// Initialise markdown editors on page +document.addEventListener("DOMContentLoaded", function() { + var markdownEditors = Array.prototype.slice.call(document.querySelectorAll('.markdown-editor')); + + markdownEditors.forEach(function (markdownEditor) { + var fieldName = markdownEditor.getAttribute('data-field-name'); + + var previewTabSelector = '#' + fieldName + '-preview-tab'; + var targetSelector = '#' + fieldName + '-markdown-target'; + var sourceSelector = markdownEditor.querySelector('.markdown-source'); + + var previewTabEl = markdownEditor.querySelector(previewTabSelector); + var targetEl = markdownEditor.querySelector(targetSelector); + + previewTabEl.addEventListener('click', function () { + targetEl.innerHTML = marked(sourceSelector.value.trim()); + }); + }); +}); + // // This is the unminified version of the theme changer script in the layout.html @ line: 21 // =========================================================== diff --git a/nyaa/templates/_formhelpers.html b/nyaa/templates/_formhelpers.html index a0e00ea..2ae1d4d 100644 --- a/nyaa/templates/_formhelpers.html +++ b/nyaa/templates/_formhelpers.html @@ -24,6 +24,40 @@ {% endmacro %} + +{% macro render_markdown_editor(field, field_name='') %} +{% if field.errors %} +
+{% else %} +
+{% endif %} +
+ +
+
+ {{ render_field(field, class_='form-control markdown-source') }} +
+
+ {{ field.label(class='control-label') }} +
+
+
+
+
+{% endmacro %} + + {% macro render_upload(field) %} {% if field.errors %}
diff --git a/nyaa/templates/edit.html b/nyaa/templates/edit.html index 3d505ac..6ea01d4 100644 --- a/nyaa/templates/edit.html +++ b/nyaa/templates/edit.html @@ -2,6 +2,7 @@ {% block title %}Edit {{ torrent.display_name }} :: {{ config.SITE_NAME }}{% endblock %} {% block body %} {% from "_formhelpers.html" import render_field %} +{% from "_formhelpers.html" import render_markdown_editor %}

Edit Torrent

@@ -28,7 +29,7 @@
- {{ render_field(form.description, class_='form-control') }} + {{ render_markdown_editor(form.description, field_name='description') }}
diff --git a/nyaa/templates/upload.html b/nyaa/templates/upload.html index 25cbb78..5119b25 100644 --- a/nyaa/templates/upload.html +++ b/nyaa/templates/upload.html @@ -3,6 +3,7 @@ {% block body %} {% from "_formhelpers.html" import render_field %} {% from "_formhelpers.html" import render_upload %} +{% from "_formhelpers.html" import render_markdown_editor %}

Upload Torrent

@@ -37,11 +38,11 @@
-
-
- {{ render_field(form.description, class_='form-control') }} -
-
+
+
+ {{ render_markdown_editor(form.description, field_name='description') }} +
+