Как использовать синтаксис Jinja вместо HTML, когда CKEDITOR вставляет элементы - PullRequest
0 голосов
/ 23 января 2020

Документ, который я редактирую с помощью ckeditor, обрабатывается для синтаксиса Jinja, а для кода с большим количеством настраиваемых шаблонов, которые необходимо обновлять по всему сайту, если он изменяется, я хочу, чтобы код можно было повторно отображать в будущем. Для этого мне нужно диалоговое окно вставки изображения, чтобы вставить следующее вместо HTML:

{% include "includes/media.html" type="img" src="/img/2019/12/its-all-a-machine-partner-live-free-dont-join.jpg" title="It's all a machine, partner. Live free. Don't join." caption="It's all a machine, partner. Live free. Don't join." %}

Я нашел следующее решение: https://ckeditor.com/old/forums/CKEditor-3.x/Change-code-inserted-for-image

Ответ от 26.05.2012 работал, если я использовал HTML теги, но не получался, если я изменил синтаксис на шаблонизацию Jinja, из-за чего кнопка ОК в диалоговом окне изображения перестала отвечать.

Попытка кода :

CKEDITOR.on('dialogDefinition', function (ev) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;
    var dialog = dialogDefinition.dialog;
    var editor = ev.editor;

    if (dialogName == 'image') {
        dialogDefinition.onOk = function (e) {
            var imageSrcUrl = e.sender.originalElement.$.src;
            var imgHtml = CKEDITOR.dom.element.createFromHtml('{% include "includes/media.html" type="img" src="' + imageSrcUrl + '" %}');
            editor.insertElement(imgHtml);
        };
    }
});

Я пропустил все тонкости получения описания и альтернативного текста, если я смогу заставить принцип работать, тогда я могу выяснить все остальное.

Кто-нибудь может порекомендовать? как я могу это сделать? 1019 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...