From ed1fb3c8a3fa11abc65aeee665e16a70af3ed323 Mon Sep 17 00:00:00 2001 From: Matthias Mees <mm@yellowled.de> Date: Fri, 18 Apr 2014 16:23:40 +0200 Subject: [PATCH] Open/close tags, support for language-based tags in non-WYSIWYG. Some plugins might want to hook into the non-WYSIWYG editor and create buttons which do use different "tags" for open/close or not create HTML markup at all. This makes it possible for them to do so. References #122 References #114 --- templates/2k11/admin/entries.tpl | 16 ++++++++-------- templates/2k11/admin/serendipity_editor.js.tpl | 12 +++++++++--- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/templates/2k11/admin/entries.tpl b/templates/2k11/admin/entries.tpl index cc58a530..361b9f17 100644 --- a/templates/2k11/admin/entries.tpl +++ b/templates/2k11/admin/entries.tpl @@ -20,11 +20,11 @@ {if NOT $entry_vars.wysiwyg} <div id="tools_entry" class="editor_toolbar"> {if $iso2br} - <button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="serendipity[body]">NoBR</button> + <button class="wrap_selection lang-html" type="button" name="insX" data-tag-open="nl" data-tag-close="nl" data-tarea="serendipity[body]">NoBR</button> {/if} - <button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="serendipity[body]">i</button> - <button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="serendipity[body]">b</button> - <button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="serendipity[body]">{$CONST.QUOTE}</button> + <button class="hilite_i wrap_selection lang-html" type="button" name="insI" data-tag-open="em" data-tag-close="em" data-tarea="serendipity[body]">i</button> + <button class="hilite_b wrap_selection lang-html" type="button" name="insB" data-tag-open="strong" data-tag-close="strong" data-tarea="serendipity[body]">b</button> + <button class="wrap_selection lang-html" type="button" name="insQ" data-tag-open="blockquote" data-tag-close="blockquote" data-tarea="serendipity[body]">{$CONST.QUOTE}</button> <button class="wrap_insimg" type="button" name="insJ" data-tarea="serendipity[body]">img</button> <button class="wrap_insmedia" type="button" name="insImage" data-tarea="serendipity[body]">{$CONST.MEDIA}</button> <button class="wrap_insurl" type="button" name="insURL" data-tarea="serendipity[body]">URL</button> @@ -52,11 +52,11 @@ {if NOT $entry_vars.wysiwyg} <div id="tools_extended" class="editor_toolbar"> {if $iso2br} - <button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="serendipity[extended]">NoBR</button> + <button class="wrap_selection" type="button" name="insX" data-tag-open="nl" data-tag-close="nl" data-tarea="serendipity[extended]">NoBR</button> {/if} - <button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="serendipity[extended]">i</button> - <button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="serendipity[extended]">b</button> - <button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="serendipity[extended]">{$CONST.QUOTE}</button> + <button class="hilite_i wrap_selection" type="button" name="insI" data-tag-open="em" data-tag-close="em" data-tarea="serendipity[extended]">i</button> + <button class="hilite_b wrap_selection" type="button" name="insB" data-tag-open="strong" data-tag-close="strong" data-tarea="serendipity[extended]">b</button> + <button class="wrap_selection" type="button" name="insQ" data-tag-open="blockquote" data-tag-close="blockquote" data-tarea="serendipity[extended]">{$CONST.QUOTE}</button> <button class="wrap_insimg" type="button" name="insJ" data-tarea="serendipity[extended]">img</button> <button class="wrap_insmedia" type="button" name="insImage" data-tarea="serendipity[extended]">{$CONST.MEDIA}</button> <button class="wrap_insurl" type="button" name="insURL" data-tarea="serendipity[extended]">URL</button> diff --git a/templates/2k11/admin/serendipity_editor.js.tpl b/templates/2k11/admin/serendipity_editor.js.tpl index ed915b37..abf24415 100644 --- a/templates/2k11/admin/serendipity_editor.js.tpl +++ b/templates/2k11/admin/serendipity_editor.js.tpl @@ -905,11 +905,17 @@ $(function() { // Editor tools $('.wrap_selection').click(function() { var $el = $(this); - var $tag = $el.attr('data-tag'); + var $tagOpen = $el.attr('data-tag-open'); + var $tagClose = $el.attr('data-tag-close'); //var target = document.forms['serendipityEntry']['serendipity[' + $el.attr('data-tarea') + ']']; var target = $('#'+serendipity.escapeBrackets($el.attr('data-tarea'))); - var open = '<' + $tag + '>'; - var close = '</' + $tag + '>'; + if ($el.hasClass('lang-html')) { + var open = '<' + $tagOpen + '>'; + var close = '</' + $tagClose + '>'; + } else { + var open = $tagOpen; + var close = $tagClose; + } serendipity.wrapSelection(target, open, close); });