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 %} +