diff --git a/src/templates/nodes/custom/post/create.pug b/src/templates/nodes/custom/post/create.pug
index 6af4c7a1..83b3987d 100644
--- a/src/templates/nodes/custom/post/create.pug
+++ b/src/templates/nodes/custom/post/create.pug
@@ -122,41 +122,38 @@ script(type="text/javascript").
.toLowerCase();
};
- var convert = new Markdown.getSanitizingConverter().makeHtml;
-
/* Build the markdown preview when typing in textarea */
$(function() {
+ var $contentField = $('.form-group.description textarea'),
+ $contentPreview = $('
').insertAfter($contentField);
- var $textarea = $('.form-group.content textarea'),
- $loader = $('
').insertAfter($textarea),
- $preview = $('').insertAfter($loader);
+ function parseDescriptionContent(content) {
- $loader.hide();
+ $.ajax({
+ url: "{{ url_for('nodes.preview_markdown')}}",
+ type: 'post',
+ data: {content: content},
+ headers: {"X-CSRFToken": csrf_token},
+ headers: {},
+ dataType: 'json'
+ })
+ .done(function (data) {
+ $contentPreview.html(data.content);
+ })
+ .fail(function (err) {
+ toastr.error(xhrErrorResponseMessage(err), 'Parsing failed');
+ });
+ }
- // Delay function to not start converting heavy posts immediately
- var delay = (function(){
- var timer = 0;
- return function(callback, ms){
- clearTimeout (timer);
- timer = setTimeout(callback, ms);
- };
- })();
+ var options = {
+ callback: parseDescriptionContent,
+ wait: 750,
+ highlight: false,
+ allowSubmit: false,
+ captureLength: 2
+ }
- $textarea.keyup(function() {
- /* If there's an iframe (YouTube embed), delay markdown convert 1.5s */
- if (/iframe/i.test($textarea.val())) {
- $loader.show();
-
- delay(function(){
- // Convert markdown
- $preview.html(convert($textarea.val()));
- $loader.hide();
- }, 1500 );
- } else {
- // Convert markdown
- $preview.html(convert($textarea.val()));
- };
- }).trigger('keyup');
+ $contentField.typeWatch(options);
});
$(function() {
diff --git a/src/templates/projects/edit.pug b/src/templates/projects/edit.pug
index 3cb9fa56..6d6cabb5 100644
--- a/src/templates/projects/edit.pug
+++ b/src/templates/projects/edit.pug
@@ -122,7 +122,6 @@ script(type="text/javascript").
$('.project-mode-edit').displayAs('inline-block');
ProjectUtils.setProjectAttributes({projectId: "{{project._id}}", isProject: true, nodeId: ''});
- var convert = new Markdown.getSanitizingConverter().makeHtml;
$('.button-save').on('click', function(e){
e.preventDefault();
@@ -136,36 +135,36 @@ script(type="text/javascript").
/* Build the markdown preview when typing in textarea */
$(function() {
- var $textarea = $('.form-group.description textarea'),
- $loader = $('
').insertAfter($textarea),
- $preview = $('').insertAfter($loader);
+ var $contentField = $('.form-group.description textarea'),
+ $contentPreview = $('').insertAfter($contentField);
- $loader.hide();
+ function parseDescriptionContent(content) {
- // Delay function to not start converting heavy posts immediately
- var delay = (function(){
- var timer = 0;
- return function(callback, ms){
- clearTimeout (timer);
- timer = setTimeout(callback, ms);
- };
- })();
+ $.ajax({
+ url: "{{ url_for('nodes.preview_markdown')}}",
+ type: 'post',
+ data: {content: content},
+ headers: {"X-CSRFToken": csrf_token},
+ headers: {},
+ dataType: 'json'
+ })
+ .done(function (data) {
+ $contentPreview.html(data.content);
+ })
+ .fail(function (err) {
+ toastr.error(xhrErrorResponseMessage(err), 'Parsing failed');
+ });
+ }
- $textarea.keyup(function() {
- /* If there's an iframe (YouTube embed), delay markdown convert 1.5s */
- if (/iframe/i.test($textarea.val())) {
- $loader.show();
+ var options = {
+ callback: parseDescriptionContent,
+ wait: 750,
+ highlight: false,
+ allowSubmit: false,
+ captureLength: 2
+ }
- delay(function(){
- // Convert markdown
- $preview.html(convert($textarea.val()));
- $loader.hide();
- }, 1500 );
- } else {
- // Convert markdown
- $preview.html(convert($textarea.val()));
- };
- }).trigger('keyup');
+ $contentField.typeWatch(options);
$('input, textarea').keypress(function () {
// Unused: save status of the page as 'edited'