update TinyMCE
|
|
@ -0,0 +1 @@
|
|||
div[data-type="tadv/classic-paragraph"].is-selected .block-library-classic__toolbar,div[data-type="tadv/classic-paragraph"].is-typing .block-library-classic__toolbar,div[data-type="tadv/classic-paragraph"] div.mce-toolbar-grp{border-color:rgba(66,88,99,.35)}div[data-type="tadv/classic-paragraph"] .block-library-classic__toolbar:empty{display:none}div[data-type="tadv/classic-paragraph"].is-selected .block-library-classic__toolbar,div[data-type="tadv/classic-paragraph"].is-typing .block-library-classic__toolbar{display:block;z-index:31}
|
||||
|
|
@ -0,0 +1 @@
|
|||
.tadv-buttons-panel .components-toolbar__control.tadv-icon-button>svg{box-sizing:border-box;outline:none;box-shadow:none}.tadv-buttons-panel .components-toolbar{border:none}.tadv-mark-icon{background-color:#fff9c0;background-clip:content-box}
|
||||
|
|
@ -0,0 +1 @@
|
|||
div[data-type="core/freeform"].is-selected .block-library-classic__toolbar,div[data-type="core/freeform"].is-typing .block-library-classic__toolbar{z-index:31}.block-library-classic__toolbar .mce-btn .mce-txt{font-size:13px;color:#454545}.mce-tinymce-inline .mce-menubar>div,.mce-tinymce-inline .mce-toolbar .mce-btn-group>div{white-space:normal}div.mce-menubar,div.mce-menubar *{box-sizing:border-box}.block-library-classic__toolbar .mce-menubar{padding:1px}.block-library-classic__toolbar .mce-menubar .mce-menubtn button span{font-size:13px}.block-library-classic__toolbar .mce-menubar i.mce-caret{margin-top:.4em}.block-library-classic__toolbar .mce-menubar .mce-flow-layout-item{margin:2px 0}div.mce-menubar.mce-toolbar .mce-btn button{padding:3px 4px 2px}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}div.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}div.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}div.mce-menubtn span{margin-right:0;padding-left:3px}div.mce-menu-has-icons i.mce-ico:before{margin-left:0}div.mce-menu-has-icons i.mce-ico{line-height:18px;width:18px;height:18px}.wp-core-ui .mce-menu-item .mce-text{font-size:13px}.block-library-classic__toolbar .mce-menubar .mce-menubtn.mce-active,.block-library-classic__toolbar .mce-menubar .mce-menubtn:focus,.block-library-classic__toolbar .mce-menubar .mce-menubtn:hover{border-color:transparent}.block-library-classic__toolbar .mce-menubar .mce-menubtn.mce-active span,.block-library-classic__toolbar .mce-menubar .mce-menubtn:focus span,.block-library-classic__toolbar .mce-menubar .mce-menubtn:hover span{color:#000}.mce-inline-toolbar-grp div.wp-link-input{margin:2px 4px}.mce-inline-toolbar-grp div.wp-link-input input{padding:4px}div.mce-menu-item.mce-menu-item-preview.mce-active:hover,div.mce-menu .mce-menu-item-normal.mce-active,div.mce-menu .mce-menu-item-preview.mce-active,div.mce-menu .mce-menu-item.mce-selected,div.mce-menu .mce-menu-item:focus,div.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}div.mce-menu-item.mce-active .mce-menu-shortcut,div.mce-menu-item.mce-disabled:hover .mce-ico,div.mce-menu-item.mce-disabled:hover .mce-text,div.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico,div.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,div.mce-menu-item:focus .mce-ico,div.mce-menu-item:focus .mce-menu-shortcut,div.mce-menu-item:focus .mce-text,div.mce-menu-item:hover .mce-ico,div.mce-menu-item:hover .mce-menu-shortcut,div.mce-menu-item:hover .mce-text{color:inherit}div.mce-menu .mce-menu-item.mce-disabled{cursor:default}div.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-inline-toolbar-grp .mce-btn.mce-active:hover button,div.mce-inline-toolbar-grp .mce-btn.mce-active:hover i,div.mce-inline-toolbar-grp .mce-btn.mce-active button,div.mce-inline-toolbar-grp .mce-btn.mce-active i,div.mce-inline-toolbar-grp .mce-btn:hover button,div.mce-inline-toolbar-grp .mce-btn:hover i,div.mce-toolbar-grp .mce-btn.mce-active:hover button,div.mce-toolbar-grp .mce-btn.mce-active:hover i,div.mce-toolbar-grp .mce-btn.mce-active button,div.mce-toolbar-grp .mce-btn.mce-active i,div.mce-toolbar-grp .mce-btn:hover button,div.mce-toolbar-grp .mce-btn:hover i{color:#191e23}div.mce-inline-toolbar-grp .mce-btn i,div.mce-toolbar-grp .mce-btn i{font-style:normal}div.mce-toolbar-grp .mce-btn i.mce-ico{font-size:20px}div.mce-widget.mce-tooltip .mce-tooltip-inner{font-size:13px;opacity:1}.mce-inline-toolbar-grp.mce-panel .mce-toolbar .mce-btn{margin:1px}.mce-inline-toolbar-grp.mce-panel .mce-toolbar .mce-btn button{padding:3px}.wp-block-freeform.block-library-rich-text__tinymce table{width:100%}
|
||||
|
|
@ -1,305 +0,0 @@
|
|||
/**
|
||||
* This file is part of the TinyMCE Advanced WordPress plugin and is released under the same license.
|
||||
* For more information please see tinymce-advanced.php.
|
||||
*
|
||||
* Copyright (c) 2007-2016 Andrew Ozz. All rights reserved.
|
||||
*/
|
||||
|
||||
.tadv-more-plugins label {
|
||||
font-weight: bold;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.advanced-options label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.advanced-options {
|
||||
margin: 20px 0;
|
||||
border: 1px solid #ccc;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.advanced-options div {
|
||||
margin: 1.2em 0;
|
||||
}
|
||||
|
||||
.advanced-options p {
|
||||
margin-left: 22px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.advanced-options h3 {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.tadv-more-plugins {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.tadv-submit .button-large {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#tadv-import-error {
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
#tadv-confirm-uninstall {
|
||||
display: none;
|
||||
background: #FFFFE0;
|
||||
border: 1px solid #E6DB55;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
#tadv-confirm-uninstall .button {
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.tadv-import-export {
|
||||
max-width: 800px;
|
||||
min-width: 320px;
|
||||
}
|
||||
|
||||
#tadv-export,
|
||||
#tadv-import {
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
ul.container,
|
||||
#unused {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tadvitem i.mce-ico {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
vertical-align: text-top;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.tadvitem i.mce-ico.mce-i-ltr,
|
||||
.tadvitem i.mce-ico.mce-i-tadv_mark {
|
||||
font-family: tinymce;
|
||||
font-size: 16px;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
.tadvitem i.mce-ico.mce-i-ltr:before {
|
||||
content: "\e02f";
|
||||
}
|
||||
|
||||
.tadvitem i.mce-ico.mce-i-tadv_mark:before {
|
||||
content: "\e01a";
|
||||
}
|
||||
|
||||
.tadvitem i.mce-ico.mce-i-tadv_mark {
|
||||
text-shadow: none;
|
||||
background: #ddd;
|
||||
}
|
||||
|
||||
#tadv-mce-menu {
|
||||
margin-bottom: 0;
|
||||
background: #fff;
|
||||
border: 1px solid #ccc;
|
||||
border-bottom: 0;
|
||||
opacity: 0.4;
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
|
||||
#tadv-mce-menu.enabled {
|
||||
opacity: 1;
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
|
||||
#tadv-mce-menu.mce-menubar .mce-menubtn:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#tadv-mce-menu .mce-btn .mce-caret {
|
||||
margin-top: 9px;
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
#tadv-mce-menu * {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
#tadvzones,
|
||||
#unused {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#tadvadmin p.submit {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#tadvadmin #save {
|
||||
float: right;
|
||||
}
|
||||
|
||||
#tadvzones {
|
||||
margin: 25px 280px 0 0;
|
||||
}
|
||||
|
||||
.tadvdropzone {
|
||||
padding: 2px 4px;
|
||||
margin: 0 0 10px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
}
|
||||
|
||||
#unuseddiv.highlighted,
|
||||
.tadvdropzone.highlighted {
|
||||
background-color: #efefe9;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
.tadvdropzone .descr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.tadvdropzone .mce-menubtn .descr {
|
||||
padding: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.tadvdropzone .tadvmodule .tadvitem {
|
||||
border: 1px solid transparent;
|
||||
display: block;
|
||||
margin: 1px 2px;
|
||||
padding: 2px 3px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.tadvdropzone .tadvmodule .tadvitem.mce-widget {
|
||||
width: auto;
|
||||
height: 20px;
|
||||
border-color: #ccc;
|
||||
background-color: #fff;
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
.tadvdropzone.mce-toolbar .mce-btn .the-button {
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
.tadvdropzone .tadvmodule .tadvitem:hover {
|
||||
border-color: #999;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.tadvdropzone ul {
|
||||
height: 30px;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 1px 0 0;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
#unuseddiv {
|
||||
padding: 10px;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
#unuseddiv h3 {
|
||||
margin: 5px 5px 12px;
|
||||
}
|
||||
|
||||
#unused li,
|
||||
.tadvdropzone li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
display: inline-block;
|
||||
cursor: move;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
#unused li {
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
#unused {
|
||||
margin: 0;
|
||||
min-height: 36px;
|
||||
}
|
||||
|
||||
#unused .tadvmodule .tadvitem {
|
||||
display: block;
|
||||
height: 22px;
|
||||
width: 140px;
|
||||
border: 1px solid #bbb;
|
||||
background-color: #fff;
|
||||
margin: 1px;
|
||||
padding: 1px 3px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#unused .tadvmodule .descr {
|
||||
display: inline;
|
||||
font-size: 12px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
#unused .tadvmodule .the-button .descr {
|
||||
padding: 0 4px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.tadvdropzone #formatselect,
|
||||
.tadvdropzone #styleselect,
|
||||
.tadvdropzone #fontsizeselect,
|
||||
.tadvdropzone #fontselect {
|
||||
width: 115px;
|
||||
}
|
||||
|
||||
div.tadv-error {
|
||||
color: #ff0000;
|
||||
font-weight: bold;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wp-adv-error #wp-adv-error-message {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.wp-adv-error #wp_adv .tadvitem {
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
.tadv-placeholder {
|
||||
vertical-align: bottom;
|
||||
display: inline-block;
|
||||
position: static;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.tadvdropzone .tadv-placeholder {
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.tadv-error {
|
||||
color: #d54e21;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
/**
|
||||
* This file is part of the TinyMCE Advanced WordPress plugin and is released under the same license.
|
||||
* For more information please see tinymce-advanced.php.
|
||||
*
|
||||
* Copyright (c) 2007-2016 Andrew Ozz. All rights reserved.
|
||||
*/
|
||||
|
||||
jQuery( document ).ready( function( $ ) {
|
||||
var $importElement = $('#tadv-import'),
|
||||
$importError = $('#tadv-import-error');
|
||||
|
||||
$('.container').sortable({
|
||||
connectWith: '.container',
|
||||
items: '> li',
|
||||
cursor: 'move',
|
||||
stop: function( event, ui ) {
|
||||
var toolbar_id;
|
||||
|
||||
if ( ui && ( toolbar_id = ui.item.parent().attr('id') ) ) {
|
||||
ui.item.find('input.tadv-button').attr('name', toolbar_id + '[]');
|
||||
}
|
||||
},
|
||||
activate: function( event, ui ) {
|
||||
$(this).parent().addClass( 'highlighted' );
|
||||
},
|
||||
deactivate: function( event, ui ) {
|
||||
$(this).parent().removeClass( 'highlighted' );
|
||||
},
|
||||
revert: 300,
|
||||
opacity: 0.7,
|
||||
placeholder: 'tadv-placeholder',
|
||||
forcePlaceholderSize: true,
|
||||
containment: 'document'
|
||||
});
|
||||
|
||||
$( '#menubar' ).on( 'change', function() {
|
||||
$( '#tadv-mce-menu' ).toggleClass( 'enabled', $(this).prop('checked') );
|
||||
});
|
||||
|
||||
$( '#tadvadmins' ).on( 'submit', function() {
|
||||
$( 'ul.container' ).each( function( i, node ) {
|
||||
$( node ).find( '.tadv-button' ).attr( 'name', node.id ? node.id + '[]' : '' );
|
||||
});
|
||||
});
|
||||
|
||||
$('#tadv-export-select').click( function() {
|
||||
$('#tadv-export').focus().select();
|
||||
});
|
||||
|
||||
$importElement.change( function() {
|
||||
$importError.empty();
|
||||
});
|
||||
|
||||
$('#tadv-import-verify').click( function() {
|
||||
var string;
|
||||
|
||||
string = ( $importElement.val() || '' ).replace( /^[^{]*/, '' ).replace( /[^}]*$/, '' );
|
||||
$importElement.val( string );
|
||||
|
||||
try {
|
||||
JSON.parse( string );
|
||||
$importError.text( 'No errors.' );
|
||||
} catch( error ) {
|
||||
$importError.text( error );
|
||||
}
|
||||
});
|
||||
|
||||
function translate( str ) {
|
||||
if ( window.tadvTranslation.hasOwnProperty( str ) ) {
|
||||
return window.tadvTranslation[str];
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
if ( typeof window.tadvTranslation === 'object' ) {
|
||||
$( '.tadvitem' ).each( function( i, element ) {
|
||||
var $element = $( element ),
|
||||
$descr = $element.find( '.descr' ),
|
||||
text = $descr.text();
|
||||
|
||||
if ( text ) {
|
||||
text = translate( text );
|
||||
$descr.text( text );
|
||||
$element.find( '.mce-ico' ).attr( 'title', text );
|
||||
}
|
||||
});
|
||||
|
||||
$( '#tadv-mce-menu .tadv-translate' ).each( function( i, element ) {
|
||||
var $element = $( element ),
|
||||
text = $element.text();
|
||||
|
||||
if ( text ) {
|
||||
$element.text( translate( text ) );
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -1,352 +0,0 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TinyMCE Advanced\n"
|
||||
"POT-Creation-Date: 2016-03-17 12:21-0800\n"
|
||||
"PO-Revision-Date: 2016-03-17 12:22-0800\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: en_US\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
||||
"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
|
||||
"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SearchPath-1: ..\n"
|
||||
|
||||
#: ../tadv_admin.php:140
|
||||
msgid "Default settings restored."
|
||||
msgstr "تمت استعادة الاعدادات الافتراضية."
|
||||
|
||||
#: ../tadv_admin.php:152
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr "TinyMCE Advanced تصدير اعدادات"
|
||||
|
||||
#: ../tadv_admin.php:156
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr "الاعدادات قد تم تصديرها JSON كسلسلة مشفرة."
|
||||
|
||||
#: ../tadv_admin.php:157
|
||||
msgid ""
|
||||
"Please copy the content and save it in a <b>text</b> (.txt) file, using a "
|
||||
"plain text editor like Notepad."
|
||||
msgstr ""
|
||||
"الرجاء انسخ المحتوى وواحفظه في ملف<b>.txt</b> , استخدم محرر بسيط مثل نوتباد."
|
||||
|
||||
#: ../tadv_admin.php:158
|
||||
msgid ""
|
||||
"It is important that the export is not changed in any way, no spaces, line "
|
||||
"breaks, etc."
|
||||
msgstr ""
|
||||
"من المهم ان لايتم تعديل التصدير بأي طريقة , لامسافات , خطوط فارغة , الخ"
|
||||
|
||||
#: ../tadv_admin.php:163
|
||||
msgid "Select All"
|
||||
msgstr "تحديد الكل"
|
||||
|
||||
#: ../tadv_admin.php:165 ../tadv_admin.php:191
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr "العودة الى اعدادات الحرر"
|
||||
|
||||
#: ../tadv_admin.php:177
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr "TinyMCE Advanced إستيراد إعدادات"
|
||||
|
||||
#: ../tadv_admin.php:180
|
||||
msgid ""
|
||||
"The settings are imported from a JSON encoded string. Please paste the "
|
||||
"exported string in the text area below."
|
||||
msgstr ""
|
||||
"الاعدادات مستوردة من JSON سلسلة مشفرة ,الرجاء الصاق السلسلة المصدرة في "
|
||||
"منطقة النص ادناه."
|
||||
|
||||
#: ../tadv_admin.php:185
|
||||
msgid "Verify"
|
||||
msgstr "تحقق"
|
||||
|
||||
#: ../tadv_admin.php:186
|
||||
msgid "Import"
|
||||
msgstr "إستيراد"
|
||||
|
||||
#: ../tadv_admin.php:216
|
||||
msgid "Importing of settings failed."
|
||||
msgstr "إستيراد الاعدادات فشل."
|
||||
|
||||
#: ../tadv_admin.php:242
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr "خطأ: جميع الاشرطة فارغة. الاعدادات الافتراضية ارجعت."
|
||||
|
||||
#: ../tadv_admin.php:254
|
||||
msgid "Editor Settings"
|
||||
msgstr "إعدادات المحرر"
|
||||
|
||||
#: ../tadv_admin.php:261
|
||||
msgid "Settings saved."
|
||||
msgstr "الاعدادات حفظت."
|
||||
|
||||
#: ../tadv_admin.php:270 ../tadv_admin.php:540
|
||||
msgid "Save Changes"
|
||||
msgstr "حفظ التغييرات"
|
||||
|
||||
#: ../tadv_admin.php:277
|
||||
msgid "Enable the editor menu."
|
||||
msgstr "تفعيل قائمة المحرر."
|
||||
|
||||
#: ../tadv_admin.php:389
|
||||
msgid ""
|
||||
"Drag buttons from the unused buttons below and drop them in the toolbars "
|
||||
"above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr ""
|
||||
"اسحب الازرار من منطقة الازرار الغير مستخدمة في الاسفل وافلتها في الشريط "
|
||||
"العلوي , او اسحب الازرار من الشريط لاعادة ترتيبهم."
|
||||
|
||||
#: ../tadv_admin.php:392
|
||||
msgid "Unused Buttons"
|
||||
msgstr "الازرار الغير مستخدمة"
|
||||
|
||||
#: ../tadv_admin.php:434
|
||||
#, fuzzy
|
||||
msgid "Options"
|
||||
msgstr "خيارات متقدمة"
|
||||
|
||||
#: ../tadv_admin.php:437
|
||||
msgid "List Style Options"
|
||||
msgstr "قائمة خيارات الشكل"
|
||||
|
||||
#: ../tadv_admin.php:439
|
||||
msgid ""
|
||||
"Enable more list options: upper or lower case letters for ordered lists, "
|
||||
"disk or square for unordered lists, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:444
|
||||
msgid "Context Menu"
|
||||
msgstr "حالة القائمة"
|
||||
|
||||
#: ../tadv_admin.php:446
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:451
|
||||
msgid "Alternative link dialog"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:453
|
||||
msgid ""
|
||||
"Open the TinyMCE link dialog when using the link button on the toolbar or "
|
||||
"the link menu item."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:458
|
||||
msgid "Font sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:459
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Replace the size setting available for fonts with: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
msgstr ""
|
||||
"استبدل خيار حجم الخطوط مع :8px 10px 12px 14px 16px 20px 24px 28px 32px 36px."
|
||||
|
||||
#: ../tadv_admin.php:467
|
||||
msgid "Advanced Options"
|
||||
msgstr "خيارات متقدمة"
|
||||
|
||||
#: ../tadv_admin.php:476
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:478
|
||||
msgid ""
|
||||
"Load the CSS classes used in editor-style.css and replace the Formats button "
|
||||
"and sub-menu."
|
||||
msgstr ""
|
||||
"استخدم كلاسات css المستخدمة في ملف editor-style.css , و استبدل زر الصيغ "
|
||||
"والقائمة الفرعية."
|
||||
|
||||
#: ../tadv_admin.php:488
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:490
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Stop removing the <p> and <br /> tags when saving and show them "
|
||||
"in the Text editor."
|
||||
msgstr "ايقاف حذف وسم <p> و <br /> عند الحفظ وعرضهم في محرر النصوص"
|
||||
|
||||
# تحتاج مراجعة
|
||||
#: ../tadv_admin.php:491
|
||||
msgid ""
|
||||
"This will make it possible to use more advanced coding in the HTML editor "
|
||||
"without the back-end filtering affecting it much."
|
||||
msgstr ""
|
||||
"هذه سوف تتيح لك استخدام HTML اكثر تقدما بدون فلاتر ومؤثرات برمجية كثيرة."
|
||||
|
||||
#: ../tadv_admin.php:492
|
||||
msgid ""
|
||||
"However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
"before enabling it permanently."
|
||||
msgstr ""
|
||||
"على اية حال انه تصرف مفاجئ في حالات نادرة , لذا قم بتجربته بشكل كامل قبل "
|
||||
"تضمينه."
|
||||
|
||||
#: ../tadv_admin.php:493
|
||||
msgid ""
|
||||
"Line breaks in the HTML editor would still affect the output, in particular "
|
||||
"do not use empty lines, line breaks inside HTML tags or multiple <br /"
|
||||
"> tags."
|
||||
msgstr ""
|
||||
"الخطوط الفارغة في محرر HTML سوف تؤثر في الاخراج . لذا لاتستخدم خطوط فارغة "
|
||||
"داخل وسوم HTML او تعدد وسوم <br /> ."
|
||||
|
||||
#: ../tadv_admin.php:498
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr "تفعيل اللصق بمصدر الصورة"
|
||||
|
||||
#: ../tadv_admin.php:500
|
||||
msgid ""
|
||||
"Works only in Firefox and Safari. These browsers support pasting of images "
|
||||
"directly in the editor and convert them to base64 encoded text."
|
||||
msgstr ""
|
||||
"تعمل فقط على فايرفوكس و سفاري. هؤلاء المتصفحات يدعمون لصق الصور مباشرة في "
|
||||
"المحرر و تحويلها الى base64 نص مشفر."
|
||||
|
||||
#: ../tadv_admin.php:501
|
||||
msgid ""
|
||||
"This is not acceptable for larger images like photos or graphics, but may be "
|
||||
"useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr ""
|
||||
"هذه غير متوافقة للصور الكبير مثل الصور الفوتوغرافية , ولكنها مفيدة لالصور "
|
||||
"الصغيرة كالايقونات , ليست اكبر من 2-3 كيلوبايت"
|
||||
|
||||
#: ../tadv_admin.php:502
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr "لن تكون هذه الصور متاحة في مكتبة الوسائط."
|
||||
|
||||
#: ../tadv_admin.php:508
|
||||
msgid "Administration"
|
||||
msgstr "الادارة"
|
||||
|
||||
#: ../tadv_admin.php:510
|
||||
msgid "Settings import and export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:512
|
||||
msgid "Export Settings"
|
||||
msgstr "تصدير الاعدادات"
|
||||
|
||||
#: ../tadv_admin.php:513
|
||||
msgid "Import Settings"
|
||||
msgstr "استيراد الاعدادات"
|
||||
|
||||
#: ../tadv_admin.php:517
|
||||
#, fuzzy
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr "تفعيل قائمة المحرر."
|
||||
|
||||
#: ../tadv_admin.php:520
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:524
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:528
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:539
|
||||
msgid "Restore Default Settings"
|
||||
msgstr "استعادة الاعدادات الافتراضية"
|
||||
|
||||
#: ../tadv_admin.php:545
|
||||
msgid ""
|
||||
"The [Toolbar toggle] button shows or hides the second, third, and forth "
|
||||
"button rows. It will only work when it is in the first row and there are "
|
||||
"buttons in the second row."
|
||||
msgstr ""
|
||||
"زر شريط التبديل يعرض او يخفي صف الازرار الثاني ,الثالث وصاعدا. سيعمل فقط "
|
||||
"عندما يكون في اول صف و الازرار في ثاني صف."
|
||||
|
||||
#: ../tinymce-advanced.php:221
|
||||
#, php-format
|
||||
msgid ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
msgstr ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
|
||||
#: ../tinymce-advanced.php:228
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
msgstr ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
|
||||
#: ../tinymce-advanced.php:703
|
||||
#, fuzzy
|
||||
msgid "Settings"
|
||||
msgstr "إعدادات المحرر"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "New in TinyMCE 4.0/WordPress 3.9 is the editor menu. When it is enabled, "
|
||||
#~ "most buttons are also available as menu items."
|
||||
#~ msgstr ""
|
||||
#~ "جديد قائمة المحرر في TinyMCE 4.0/WordPress 3.9 , عند تفعيلها , اغلب "
|
||||
#~ "الازرار متاحة في القائمة."
|
||||
|
||||
#~ msgid "Also enable:"
|
||||
#~ msgstr "فعل ايضا:"
|
||||
|
||||
#~ msgid "Link (replaces the Insert/Edit Link dialog)"
|
||||
#~ msgstr "رابط (استبدال المدرج/تعديل رابط الحوار)"
|
||||
|
||||
#~ msgid "Import editor-style.css."
|
||||
#~ msgstr "استيراد ملفeditor-style.css."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme does not support customised styles for the editor."
|
||||
#~ msgstr "يبدو ان قالبك لايدعم الستايل المخصص للمحرر."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory."
|
||||
#~ msgstr ""
|
||||
#~ "تستطيع انشاء ملف CSS بأسم <code>editor-style.css</code> ورفعه الى مسار "
|
||||
#~ "الثيم الخاص بك."
|
||||
|
||||
#~ msgid "After that, enable this setting."
|
||||
#~ msgstr "بعد ذلك, فعل هذا"
|
||||
|
||||
#~ msgid "Replace font size settings"
|
||||
#~ msgstr " استبداال خيارات حجم الخط"
|
||||
|
||||
#~ msgid "Markdown typing support (text pattern plugin)"
|
||||
#~ msgstr "دعم تنسيق الكتابة ( اضافة اسلوب النص )"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This plugin matches special patterns while you type and applies formats "
|
||||
#~ "or executes commands on the matched text."
|
||||
#~ msgstr "هذه الاضافة "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The default patterns are the same as the markdown syntax so you can type "
|
||||
#~ "<code># text</code> to create a header, <code>1. text</code> to create a "
|
||||
#~ "list, <code>**text**</code> to make it bold, etc."
|
||||
#~ msgstr ""
|
||||
#~ "الاساليب الافتراضية هي نفسها الموجودة في markdown syntax لذا يمكنك كتابة "
|
||||
#~ "<code># text</code> لإنشاء هيدر , <code>1. text</code> لإنشاء قائمة ,"
|
||||
#~ "<code>**text**</code> لجعله سميك , الخ"
|
||||
|
||||
#~ msgid "More information"
|
||||
#~ msgstr "معلومات اكثر"
|
||||
|
|
@ -1,339 +0,0 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TinyMCE Advanced\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-03-17 12:21-0800\n"
|
||||
"PO-Revision-Date: 2016-03-17 12:24-0800\n"
|
||||
"Last-Translator: jminst <admin@jmic.co.kr>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ko\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
||||
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
||||
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
||||
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
||||
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
||||
"X-Loco-Target-Locale: ko_KR\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SearchPath-1: ..\n"
|
||||
|
||||
#: ../tadv_admin.php:140
|
||||
msgid "Default settings restored."
|
||||
msgstr "기본 설정이 복구됨."
|
||||
|
||||
#: ../tadv_admin.php:152
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr "TinyMCE 고급 설정 내보내기"
|
||||
|
||||
#: ../tadv_admin.php:156
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr "설정은 JSON 인코딩 스트링으로 내보냅니다."
|
||||
|
||||
#: ../tadv_admin.php:157
|
||||
msgid ""
|
||||
"Please copy the content and save it in a <b>text</b> (.txt) file, using a "
|
||||
"plain text editor like Notepad."
|
||||
msgstr ""
|
||||
"내용을 복사하여 메모장과 같은 평문 편집기를 사용하여 <b>텍스트</b> (.txt) 파"
|
||||
"일로 저장해주세요."
|
||||
|
||||
#: ../tadv_admin.php:158
|
||||
msgid ""
|
||||
"It is important that the export is not changed in any way, no spaces, line "
|
||||
"breaks, etc."
|
||||
msgstr "내보내기에 띄어쓰기, 줄 바꿈 등의 변경사항이 없는 것이 중요합니다."
|
||||
|
||||
#: ../tadv_admin.php:163
|
||||
msgid "Select All"
|
||||
msgstr "모두 선택"
|
||||
|
||||
#: ../tadv_admin.php:165 ../tadv_admin.php:191
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr "편집기 설정으로 돌아가기"
|
||||
|
||||
#: ../tadv_admin.php:177
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr "TinyMCE 고급 설정 가져오기"
|
||||
|
||||
#: ../tadv_admin.php:180
|
||||
msgid ""
|
||||
"The settings are imported from a JSON encoded string. Please paste the "
|
||||
"exported string in the text area below."
|
||||
msgstr ""
|
||||
"설정은 JSON 인코딩 스트링에서 가져옵니다. 내보낸 스트링을 아래 텍스트 영역에 "
|
||||
"붙여넣어주세요."
|
||||
|
||||
#: ../tadv_admin.php:185
|
||||
msgid "Verify"
|
||||
msgstr "검증"
|
||||
|
||||
#: ../tadv_admin.php:186
|
||||
msgid "Import"
|
||||
msgstr "가져오기"
|
||||
|
||||
#: ../tadv_admin.php:216
|
||||
msgid "Importing of settings failed."
|
||||
msgstr "설정 가져오기를 실패함."
|
||||
|
||||
#: ../tadv_admin.php:242
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr "오류: 모든 도구 표시줄이 비어있습니다. 기본 설정을 불러왔습니다."
|
||||
|
||||
#: ../tadv_admin.php:254
|
||||
msgid "Editor Settings"
|
||||
msgstr "편집기 설정"
|
||||
|
||||
#: ../tadv_admin.php:261
|
||||
msgid "Settings saved."
|
||||
msgstr "설정이 저장됨."
|
||||
|
||||
#: ../tadv_admin.php:270 ../tadv_admin.php:540
|
||||
msgid "Save Changes"
|
||||
msgstr "변경사항 저장"
|
||||
|
||||
#: ../tadv_admin.php:277
|
||||
msgid "Enable the editor menu."
|
||||
msgstr "편집기 메뉴를 활성화합니다."
|
||||
|
||||
#: ../tadv_admin.php:389
|
||||
msgid ""
|
||||
"Drag buttons from the unused buttons below and drop them in the toolbars "
|
||||
"above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr ""
|
||||
"아래 사용하지 않은 버튼에서 끌어다 위의 도구 표시줄에 놓거나, 도구 표시줄의 "
|
||||
"버튼을 끌어다 재배치하십시오."
|
||||
|
||||
#: ../tadv_admin.php:392
|
||||
msgid "Unused Buttons"
|
||||
msgstr "사용하지 않은 버튼"
|
||||
|
||||
#: ../tadv_admin.php:434
|
||||
#, fuzzy
|
||||
msgid "Options"
|
||||
msgstr "고급 옵션"
|
||||
|
||||
#: ../tadv_admin.php:437
|
||||
msgid "List Style Options"
|
||||
msgstr "목록 스타일 옵션"
|
||||
|
||||
#: ../tadv_admin.php:439
|
||||
msgid ""
|
||||
"Enable more list options: upper or lower case letters for ordered lists, "
|
||||
"disk or square for unordered lists, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:444
|
||||
msgid "Context Menu"
|
||||
msgstr "콘텍스트 메뉴"
|
||||
|
||||
#: ../tadv_admin.php:446
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:451
|
||||
msgid "Alternative link dialog"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:453
|
||||
msgid ""
|
||||
"Open the TinyMCE link dialog when using the link button on the toolbar or "
|
||||
"the link menu item."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:458
|
||||
msgid "Font sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:459
|
||||
msgid ""
|
||||
"Replace the size setting available for fonts with: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
msgstr ""
|
||||
"다음 글꼴에 사용 가능한 크기 설정을 대체합니다: 8px 10px 12px 14px 16px 20px "
|
||||
"24px 28px 32px 36px 48px 60px."
|
||||
|
||||
#: ../tadv_admin.php:467
|
||||
msgid "Advanced Options"
|
||||
msgstr "고급 옵션"
|
||||
|
||||
#: ../tadv_admin.php:476
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:478
|
||||
msgid ""
|
||||
"Load the CSS classes used in editor-style.css and replace the Formats button "
|
||||
"and sub-menu."
|
||||
msgstr ""
|
||||
"editor-style.css 의 CSS 클래스를 불러오고 형식 버튼 및 하위 메뉴를 대체합니"
|
||||
"다."
|
||||
|
||||
#: ../tadv_admin.php:488
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:490
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Stop removing the <p> and <br /> tags when saving and show them "
|
||||
"in the Text editor."
|
||||
msgstr ""
|
||||
"저장 시 <p> 및 <br /> 태그의 제거를 중단하고 텍스트 편집기에 표시"
|
||||
"합니다."
|
||||
|
||||
#: ../tadv_admin.php:491
|
||||
msgid ""
|
||||
"This will make it possible to use more advanced coding in the HTML editor "
|
||||
"without the back-end filtering affecting it much."
|
||||
msgstr ""
|
||||
"이 기능은 백엔드 필터링의 영향을 최소화하여 HTML 편집기에서 더욱 전문적인 코"
|
||||
"딩을 사용할 수 있도록 합니다."
|
||||
|
||||
#: ../tadv_admin.php:492
|
||||
msgid ""
|
||||
"However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
"before enabling it permanently."
|
||||
msgstr ""
|
||||
"하지만 드문 경우 예상치 못하게 행동할 수 있으므로, 영구적으로 활성화하기 전"
|
||||
"에 철저하게 검사하십시오."
|
||||
|
||||
#: ../tadv_admin.php:493
|
||||
msgid ""
|
||||
"Line breaks in the HTML editor would still affect the output, in particular "
|
||||
"do not use empty lines, line breaks inside HTML tags or multiple <br /"
|
||||
"> tags."
|
||||
msgstr ""
|
||||
"HTML 편집기의 줄 바꿈은 출력에 영향을 끼치므로, 특히 빈 줄, HTML 태그의 줄 바"
|
||||
"꿈 또는 다중 <br /> 태그를 사용하지 마십시오."
|
||||
|
||||
#: ../tadv_admin.php:498
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr "이미지 소스 붙여넣기 활성화"
|
||||
|
||||
#: ../tadv_admin.php:500
|
||||
msgid ""
|
||||
"Works only in Firefox and Safari. These browsers support pasting of images "
|
||||
"directly in the editor and convert them to base64 encoded text."
|
||||
msgstr ""
|
||||
"파이어폭스 및 사파리에서만 작동함. 이 브라우저는 편집기에 이미지 직접 붙여넣"
|
||||
"기 및 base64 인코딩 텍스트로 변환을 지원합니다. "
|
||||
|
||||
#: ../tadv_admin.php:501
|
||||
msgid ""
|
||||
"This is not acceptable for larger images like photos or graphics, but may be "
|
||||
"useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr ""
|
||||
"이 기능은 사진 또는 그래픽과 같은 큰 이미지를 허용하지 않으나, 2-3KB 보다 작"
|
||||
"은 아이콘과 같은 매우 작은 이미지일 경우 유용할 수 있습니다."
|
||||
|
||||
#: ../tadv_admin.php:502
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr "이 이미지는 미디어 라이브러리에 나타나지 않습니다."
|
||||
|
||||
#: ../tadv_admin.php:508
|
||||
msgid "Administration"
|
||||
msgstr "관리"
|
||||
|
||||
#: ../tadv_admin.php:510
|
||||
msgid "Settings import and export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:512
|
||||
msgid "Export Settings"
|
||||
msgstr "설정 내보내기"
|
||||
|
||||
#: ../tadv_admin.php:513
|
||||
msgid "Import Settings"
|
||||
msgstr "설정 가져오기"
|
||||
|
||||
#: ../tadv_admin.php:517
|
||||
#, fuzzy
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr "편집기 메뉴를 활성화합니다."
|
||||
|
||||
#: ../tadv_admin.php:520
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:524
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:528
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:539
|
||||
msgid "Restore Default Settings"
|
||||
msgstr "기본 설정 복원"
|
||||
|
||||
#: ../tadv_admin.php:545
|
||||
msgid ""
|
||||
"The [Toolbar toggle] button shows or hides the second, third, and forth "
|
||||
"button rows. It will only work when it is in the first row and there are "
|
||||
"buttons in the second row."
|
||||
msgstr ""
|
||||
"[도구 표시줄 전환] 버튼은 두 번째, 세 번째 및 네 번째 버튼 줄을 표시하거나 숨"
|
||||
"깁니다. 첫 번째 줄이고 두 번째 줄에 버튼이 있을 경우에만 작동합니다. "
|
||||
|
||||
#: ../tinymce-advanced.php:221
|
||||
#, php-format
|
||||
msgid ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
msgstr ""
|
||||
"TinyMCE Advanced 는 워드프레스 버전 %1$s 이상을 요구합니다. 현재 %2$s 이(가) "
|
||||
"실행 중인 것 같습니다. 이로 인해 편집기가 불안정해질 수 있습니다."
|
||||
|
||||
#: ../tinymce-advanced.php:228
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
msgstr ""
|
||||
"워드프레스 설치를 업그레이드 하시거나 <a href=\"%s\">이전 버전의 플러그인</a>"
|
||||
"을 다운로드 해주세요."
|
||||
|
||||
#: ../tinymce-advanced.php:703
|
||||
#, fuzzy
|
||||
msgid "Settings"
|
||||
msgstr "편집기 설정"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "New in TinyMCE 4.0/WordPress 3.9 is the editor menu. When it is enabled, "
|
||||
#~ "most buttons are also available as menu items."
|
||||
#~ msgstr ""
|
||||
#~ "TinyMCE 4.0/워드프레스 3.9의 새로운 내용은 편집기 메뉴입니다. 활성화할 경"
|
||||
#~ "우, 대부분의 버튼이 메뉴 항목으로도 사용 가능합니다."
|
||||
|
||||
#~ msgid "Also enable:"
|
||||
#~ msgstr "또한 다음을 활성화:"
|
||||
|
||||
#~ msgid "Link (replaces the Insert/Edit Link dialog)"
|
||||
#~ msgstr "링크 (링크 삽입/편집 대화를 대체)"
|
||||
|
||||
#~ msgid "Import editor-style.css."
|
||||
#~ msgstr "editor-style.css를 가져오십시오."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme does not support customised styles for the editor."
|
||||
#~ msgstr "테마가 편집기에 사용자 지정 스타일을 지원하지 않는 것 같습니다."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory."
|
||||
#~ msgstr ""
|
||||
#~ "<code>editor-style.css</code> 이름의 CSS 파일을 생성하여 테마의 디렉터리"
|
||||
#~ "에 업로드 할 수 있습니다."
|
||||
|
||||
#~ msgid "After that, enable this setting."
|
||||
#~ msgstr "그런 다음, 이 설정을 활성화하십시오."
|
||||
|
||||
#~ msgid "Replace font size settings"
|
||||
#~ msgstr "글꼴 크기 설정 바꾸기"
|
||||
|
|
@ -1,558 +0,0 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: tinymce-advanced\n"
|
||||
"POT-Creation-Date: 2016-03-17 12:21-0800\n"
|
||||
"PO-Revision-Date: 2016-03-17 12:24-0800\n"
|
||||
"Last-Translator: Vadim Bogaiskov <vadim.bogaiskov@gmail.com>\n"
|
||||
"Language-Team: Vadim Bogaiskov\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Poedit-KeywordsList: _;gettext;gettext_noop;_e;__;_n;_x\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=3; plural=((((n%10)==1)&&((n%100)!=11))?(0):(((((n"
|
||||
"%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(1):2));\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
|
||||
#: ../tadv_admin.php:140
|
||||
msgid "Default settings restored."
|
||||
msgstr "Настройки по умолчанию восстановлены"
|
||||
|
||||
#: ../tadv_admin.php:152
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr "Экспорт настроек TinyMCE Advanced"
|
||||
|
||||
#: ../tadv_admin.php:156
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr "Настройки экспортируется как закодированная JSON-строка."
|
||||
|
||||
#: ../tadv_admin.php:157
|
||||
msgid ""
|
||||
"Please copy the content and save it in a <b>text</b> (.txt) file, using a "
|
||||
"plain text editor like Notepad."
|
||||
msgstr ""
|
||||
"Пожалуйста скопируйте содержимое и сохраните его в <b>текстовом</b> (.txt) "
|
||||
"файл, используя текстовый редактор, например Блокнот."
|
||||
|
||||
#: ../tadv_admin.php:158
|
||||
msgid ""
|
||||
"It is important that the export is not changed in any way, no spaces, line "
|
||||
"breaks, etc."
|
||||
msgstr ""
|
||||
"Важно, чтобы экспорт никак не изменялся, без пробелов, разрывы строк и т.д."
|
||||
|
||||
#: ../tadv_admin.php:163
|
||||
msgid "Select All"
|
||||
msgstr "Выбрать все"
|
||||
|
||||
#: ../tadv_admin.php:165 ../tadv_admin.php:191
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr "Назад в настройки редактора"
|
||||
|
||||
#: ../tadv_admin.php:177
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr "Импорт настроек TinyMCE Advanced"
|
||||
|
||||
#: ../tadv_admin.php:180
|
||||
msgid ""
|
||||
"The settings are imported from a JSON encoded string. Please paste the "
|
||||
"exported string in the text area below."
|
||||
msgstr ""
|
||||
"Настройки импортируются из закодированной JSON-строки. Пожалуйста вставьте "
|
||||
"экспортированную строку в текстовом поле ниже."
|
||||
|
||||
#: ../tadv_admin.php:185
|
||||
msgid "Verify"
|
||||
msgstr "Проверить"
|
||||
|
||||
#: ../tadv_admin.php:186
|
||||
msgid "Import"
|
||||
msgstr "Импорт"
|
||||
|
||||
#: ../tadv_admin.php:216
|
||||
msgid "Importing of settings failed."
|
||||
msgstr "Импорт настроек не выполнен."
|
||||
|
||||
#: ../tadv_admin.php:242
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr ""
|
||||
"ОШИБКА: Все панели инструментов пусты. Загружены настройки по умолчанию."
|
||||
|
||||
#: ../tadv_admin.php:254
|
||||
msgid "Editor Settings"
|
||||
msgstr "Настройки редактора"
|
||||
|
||||
#: ../tadv_admin.php:261
|
||||
msgid "Settings saved."
|
||||
msgstr "Настройки сохранены."
|
||||
|
||||
#: ../tadv_admin.php:270 ../tadv_admin.php:540
|
||||
msgid "Save Changes"
|
||||
msgstr "Сохранить изменения"
|
||||
|
||||
#: ../tadv_admin.php:277
|
||||
msgid "Enable the editor menu."
|
||||
msgstr "Включить меню редактора."
|
||||
|
||||
#: ../tadv_admin.php:389
|
||||
msgid ""
|
||||
"Drag buttons from the unused buttons below and drop them in the toolbars "
|
||||
"above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr ""
|
||||
"Перетащите кнопки из области неиспользованных, расположенной ниже и "
|
||||
"поместите их в панели инструментов наверху, или переместите кнопки в панелях "
|
||||
"инструментов, чтобы изменить их."
|
||||
|
||||
#: ../tadv_admin.php:392
|
||||
msgid "Unused Buttons"
|
||||
msgstr "Неиспользуемые кнопки"
|
||||
|
||||
#: ../tadv_admin.php:434
|
||||
#, fuzzy
|
||||
msgid "Options"
|
||||
msgstr "Дополнительные параметры"
|
||||
|
||||
#: ../tadv_admin.php:437
|
||||
msgid "List Style Options"
|
||||
msgstr "Список настроек стилей"
|
||||
|
||||
#: ../tadv_admin.php:439
|
||||
msgid ""
|
||||
"Enable more list options: upper or lower case letters for ordered lists, "
|
||||
"disk or square for unordered lists, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:444
|
||||
msgid "Context Menu"
|
||||
msgstr "Контекстное меню"
|
||||
|
||||
#: ../tadv_admin.php:446
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:451
|
||||
msgid "Alternative link dialog"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:453
|
||||
msgid ""
|
||||
"Open the TinyMCE link dialog when using the link button on the toolbar or "
|
||||
"the link menu item."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:458
|
||||
msgid "Font sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:459
|
||||
msgid ""
|
||||
"Replace the size setting available for fonts with: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
msgstr ""
|
||||
"Заменяет настройки размера шрифта одним из доступных: 8px 10px 12px 14px "
|
||||
"16px 20px 24px 28px 32px 36px 48px 60px."
|
||||
|
||||
#: ../tadv_admin.php:467
|
||||
msgid "Advanced Options"
|
||||
msgstr "Дополнительные параметры"
|
||||
|
||||
#: ../tadv_admin.php:476
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:478
|
||||
msgid ""
|
||||
"Load the CSS classes used in editor-style.css and replace the Formats button "
|
||||
"and sub-menu."
|
||||
msgstr ""
|
||||
"Загрузить классы CSS, используемые в editor-style.css и заменить кнопку "
|
||||
"Форматы и подменю."
|
||||
|
||||
#: ../tadv_admin.php:488
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:490
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Stop removing the <p> and <br /> tags when saving and show them "
|
||||
"in the Text editor."
|
||||
msgstr ""
|
||||
"Остановить удаление тегов <p> и <br /> при сохранении и "
|
||||
"показать их в текстовом редакторе"
|
||||
|
||||
#: ../tadv_admin.php:491
|
||||
msgid ""
|
||||
"This will make it possible to use more advanced coding in the HTML editor "
|
||||
"without the back-end filtering affecting it much."
|
||||
msgstr ""
|
||||
"Это позволит использовать более передовые методы кодирования в редакторе "
|
||||
"HTML без фоновой фильтрации, существенно влияющей на него."
|
||||
|
||||
#: ../tadv_admin.php:492
|
||||
msgid ""
|
||||
"However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
"before enabling it permanently."
|
||||
msgstr ""
|
||||
"Однако в редких случаях это может вести себя непредсказуемо, поэтому "
|
||||
"тщательно проверьте его перед включением на постоянно."
|
||||
|
||||
#: ../tadv_admin.php:493
|
||||
msgid ""
|
||||
"Line breaks in the HTML editor would still affect the output, in particular "
|
||||
"do not use empty lines, line breaks inside HTML tags or multiple <br /"
|
||||
"> tags."
|
||||
msgstr ""
|
||||
"Переносы строк в редакторе HTML прежнему будет влиять на результат, в "
|
||||
"частности, не используйте пустые строки, переносы строк внутри тегов HTML "
|
||||
"или многократные теги <br />. "
|
||||
|
||||
#: ../tadv_admin.php:498
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr "Включить вставку исходного кода изображения"
|
||||
|
||||
#: ../tadv_admin.php:500
|
||||
msgid ""
|
||||
"Works only in Firefox and Safari. These browsers support pasting of images "
|
||||
"directly in the editor and convert them to base64 encoded text."
|
||||
msgstr ""
|
||||
"Работает только в Firefox и Safari. Эти браузеры поддерживают вставку "
|
||||
"изображений непосредственно в редакторе и конвертацию их в base64-"
|
||||
"закодированный текст."
|
||||
|
||||
#: ../tadv_admin.php:501
|
||||
msgid ""
|
||||
"This is not acceptable for larger images like photos or graphics, but may be "
|
||||
"useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr ""
|
||||
"Это неприемлемо для больших изображений, таких как фотографии или графики, "
|
||||
"но может быть полезным в некоторых случаях для очень маленьких изображений, "
|
||||
"таких как иконки размером не более 2-3KB."
|
||||
|
||||
#: ../tadv_admin.php:502
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr "Эти изображения не будут доступны в библиотеке мультимедиа."
|
||||
|
||||
#: ../tadv_admin.php:508
|
||||
msgid "Administration"
|
||||
msgstr "Управление"
|
||||
|
||||
#: ../tadv_admin.php:510
|
||||
msgid "Settings import and export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:512
|
||||
msgid "Export Settings"
|
||||
msgstr "Экспорт настроек"
|
||||
|
||||
#: ../tadv_admin.php:513
|
||||
msgid "Import Settings"
|
||||
msgstr "Импорт настроек"
|
||||
|
||||
#: ../tadv_admin.php:517
|
||||
#, fuzzy
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr "Включить меню редактора."
|
||||
|
||||
#: ../tadv_admin.php:520
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:524
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:528
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:539
|
||||
msgid "Restore Default Settings"
|
||||
msgstr "Восстановить настройки по умолчанию"
|
||||
|
||||
#: ../tadv_admin.php:545
|
||||
msgid ""
|
||||
"The [Toolbar toggle] button shows or hides the second, third, and forth "
|
||||
"button rows. It will only work when it is in the first row and there are "
|
||||
"buttons in the second row."
|
||||
msgstr ""
|
||||
"Кнопка [Панель переключения] отображает/скрывает вторую, третью и четвертую "
|
||||
"строки кнопок. Она будет работать только тогда, когда она находится в первой "
|
||||
"строке и есть кнопки во второй строке."
|
||||
|
||||
#: ../tinymce-advanced.php:221
|
||||
#, php-format
|
||||
msgid ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
msgstr ""
|
||||
"Для работы TinyMCE Advanced требуется WordPress версии %1$s или выше. "
|
||||
"Похоже, что Вы работаете на %2$s. Это может сделать работу редактора "
|
||||
"неустойчивой."
|
||||
|
||||
#: ../tinymce-advanced.php:228
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
msgstr ""
|
||||
"Пожалуйста, обновите Ваш WordPress или скачайте <a href=\"%s\">старую версию "
|
||||
"плагина</a> ."
|
||||
|
||||
#: ../tinymce-advanced.php:703
|
||||
#, fuzzy
|
||||
msgid "Settings"
|
||||
msgstr "Настройки редактора"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "New in TinyMCE 4.0/WordPress 3.9 is the editor menu. When it is enabled, "
|
||||
#~ "most buttons are also available as menu items."
|
||||
#~ msgstr ""
|
||||
#~ "Новое в TinyMCE 4.0/WordPress 3.9 - меню редактора. Когда оно включено, "
|
||||
#~ "большинство кнопок, также доступны как элементы меню."
|
||||
|
||||
#~ msgid "Also enable:"
|
||||
#~ msgstr "Также вкл.:"
|
||||
|
||||
#~ msgid "Link (replaces the Insert/Edit Link dialog)"
|
||||
#~ msgstr "Ссылка (заменяет диалог Вставить/Редактировать ссылку)"
|
||||
|
||||
#~ msgid "Import editor-style.css."
|
||||
#~ msgstr "Импорт editor-style.css."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme does not support customised styles for the editor."
|
||||
#~ msgstr ""
|
||||
#~ "Кажется, ваша тема не поддерживает пользовательские стили для редактора."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory."
|
||||
#~ msgstr ""
|
||||
#~ "Вы можете создать CSS-файл с именем <code>editor-style.css</code> и "
|
||||
#~ "загрузите его в папку вашей темы."
|
||||
|
||||
#~ msgid "After that, enable this setting."
|
||||
#~ msgstr "После этого, включить этот параметр."
|
||||
|
||||
#~ msgid "Replace font size settings"
|
||||
#~ msgstr "Заменить настройки размера шрифта "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This plugin requires WordPress version 4.0 or newer. Please upgrade your "
|
||||
#~ "WordPress installation or download an %solder version of the plugin%s."
|
||||
#~ msgstr ""
|
||||
#~ "Для этого плагина требуется WordPress версии 4.0 или более новой. "
|
||||
#~ "Обновите WordPress или загрузите %sстарую версию плагина%s."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The settings are exported as a JSON encoded string. Please copy the "
|
||||
#~ "content and save it in a <b>text</b> (.txt) file, using a plain text "
|
||||
#~ "editor like Notepad. It is important that the export is not changed in "
|
||||
#~ "any way, no spaces, line breaks, etc."
|
||||
#~ msgstr ""
|
||||
#~ "Настройки экспортируется как строки JSON . Пожалуйста, скопируйте "
|
||||
#~ "содержимое и сохранить его в <b>текстовом</b> файле (.txt), используя "
|
||||
#~ "простой текстовый редактор, например, Блокнот. Важно, чтобы "
|
||||
#~ "экспортированный файл не изменяется ни каким образом, не добавлением "
|
||||
#~ "пробелов, не разрывом строк, и т.д."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The settings are imported from a JSON encoded string. Please paste the "
|
||||
#~ "exported string in the textarea below."
|
||||
#~ msgstr ""
|
||||
#~ "Настройки импортируются из JSON. Пожалуйста, вставьте экспортированную "
|
||||
#~ "строку ниже в текстовое поле."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme does not support customised styles for the editor. "
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory. After that, enable this setting."
|
||||
#~ msgstr ""
|
||||
#~ "Кажется, Ваша тема не поддерживает пользовательские стили для редактора. "
|
||||
#~ "Вы можете создать файл с именем <i>editor-style.css</i> и загрузить его в "
|
||||
#~ "каталог Вашей темы. После этого включите эту настройку."
|
||||
|
||||
#~ msgid "Markdown typing support (text pattern plugin)"
|
||||
#~ msgstr "Поддержка ввода Markdown (плагин шаблона текста)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This plugin matches special patterns while you type and applies formats "
|
||||
#~ "or executed commands on these text patterns. The default patterns are the "
|
||||
#~ "same as the markdown syntax so you can type <code># text</code> to create "
|
||||
#~ "a header, <code>1. text</code> to create a list, <code>**text**</code> to "
|
||||
#~ "make something bold, etc."
|
||||
#~ msgstr ""
|
||||
#~ "Этот модуль использует специальные шаблоны во время ввода текста и "
|
||||
#~ "применяет форматы или введенные команды из этих текстовых шаблонов. По "
|
||||
#~ "умолчанию шаблоны соответствуют синтаксису markdown, так что Вы можете "
|
||||
#~ "ввести <code># text</code>, чтобы создать заголовок, <code>1. text</"
|
||||
#~ "code>, чтобы создать список, <code>**text**</code>, чтобы выделить текст "
|
||||
#~ "жирным шрифтом и т.д."
|
||||
|
||||
#~ msgid "More information"
|
||||
#~ msgstr "Более подробная информация"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This will make it possible to use more advanced coding in the HTML editor "
|
||||
#~ "without the back-end filtering affecting it much. However it may behave "
|
||||
#~ "unexpectedly in rare cases, so test it thoroughly before enabling it "
|
||||
#~ "permanently. Line breaks in the HTML editor would still affect the "
|
||||
#~ "output, in particular do not use empty lines, line breaks inside HTML "
|
||||
#~ "tags or multiple <br /> tags."
|
||||
#~ msgstr ""
|
||||
#~ "Эта функция делает возможным использовать более продвинутое кодирование в "
|
||||
#~ "HTML редакторе без фоновой фильтрации, оказывающей не него существенное "
|
||||
#~ "влияние. Однако в редких случаях она может вести себя непредсказуемо, "
|
||||
#~ "поэтому тщательно проверьте её перед включением постоянно. Разрывы строк "
|
||||
#~ "в HTML редакторе будут по-прежнему влиять на результат, в частности не "
|
||||
#~ "используйте пустые строки, разрывы строк внутри HTML тегов или несколько "
|
||||
#~ "тегов <br /> ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Works only in Firefox and Safari. These browsers support pasting of "
|
||||
#~ "images directly in the editor and convert them to base64 encoded text. "
|
||||
#~ "This is not acceptable for larger images like photos or graphics, but may "
|
||||
#~ "be useful in some cases for very small images like icons, not larger than "
|
||||
#~ "2-3KB. These images will not be available in the Media Library."
|
||||
#~ msgstr ""
|
||||
#~ "Работает только в Firefox и Safari. Эти браузеры поддерживают вставку "
|
||||
#~ "изображений непосредственно в редакторе и конвертируют их в текст, "
|
||||
#~ "закодированный по формату base64. Это не приемлемо для больших "
|
||||
#~ "изображений, таких как фотографии или графики, но может быть полезно в "
|
||||
#~ "некоторых случаях для очень маленьких изображений, таких как иконки, не "
|
||||
#~ "больше, чем 2-3KB. Эти изображения не будут доступны в библиотеке "
|
||||
#~ "мультимедиа."
|
||||
|
||||
#~ msgid "older version of the plugin."
|
||||
#~ msgstr "старую версию плагина."
|
||||
|
||||
#~ msgid "The settings are exported as a JSON encoded string. "
|
||||
#~ msgstr "Настройки экспортируется как JSON ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme doesn't support customised styles for the editor. "
|
||||
#~ msgstr ""
|
||||
#~ "Кажется, Ваша тема не поддерживает специальные стили для редактора. "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory. "
|
||||
#~ msgstr ""
|
||||
#~ "Вы можете создать файл CSS с именем <code>editor-style.css</code> и "
|
||||
#~ "загрузить его в каталог вашей темы. "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This will make it possible to use more advanced coding in the HTML editor "
|
||||
#~ "without the back-end filtering affecting it much. "
|
||||
#~ msgstr ""
|
||||
#~ "Это сделает возможным использование более продвинутого кодирования в "
|
||||
#~ "редакторе HTML без фоновой фильтрации влияющей на многое. "
|
||||
|
||||
#~ msgid ""
|
||||
#~ "However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
#~ "before enabling it permanently. "
|
||||
#~ msgstr ""
|
||||
#~ "Однако в редких случаях это может вести себя непредсказуемымо, поэтому "
|
||||
#~ "проверьте все тщательно перед включением его постоянно. "
|
||||
|
||||
#~ msgid "All options have been removed from the database. You can"
|
||||
#~ msgstr "Все опции были удалены из базы данных. Вы можете"
|
||||
|
||||
#~ msgid "deactivate TinyMCE Advanced"
|
||||
#~ msgstr "отключить TinyMCE Advanced"
|
||||
|
||||
#~ msgid "or"
|
||||
#~ msgstr "или"
|
||||
|
||||
#~ msgid "reload this page"
|
||||
#~ msgstr "перезагрузить страницу"
|
||||
|
||||
#~ msgid "to reset them to the default values."
|
||||
#~ msgstr "сбросить их к значениям по умолчанию."
|
||||
|
||||
#~ msgid "TinyMCE Buttons Arrangement"
|
||||
#~ msgstr "Компоновка кнопок TinyMCE "
|
||||
|
||||
#~ msgid "Drag and drop buttons onto the toolbars below."
|
||||
#~ msgstr "Перетащите кнопки снизу на панели инструментов."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Adding too many buttons will make the toolbar too long and will not "
|
||||
#~ "display correctly in TinyMCE!"
|
||||
#~ msgstr ""
|
||||
#~ "Добавление слишком большого количества кнопок сделает панель инструментов "
|
||||
#~ "слишком длинной и она не будет корректно отображаться в TinyMCE!"
|
||||
|
||||
#~ msgid "Advanced Image"
|
||||
#~ msgstr "Дополнительные изображения"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "(to show the browser context menu in Firefox, hold down the Ctrl key)."
|
||||
#~ msgstr ""
|
||||
#~ "(чтобы показать контекстное меню браузера в Firefox, удерживайте нажатой "
|
||||
#~ "клавишу Ctrl)."
|
||||
|
||||
#~ msgid "Advanced Link"
|
||||
#~ msgstr "Дополнительные ссылки"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Enabling this TinyMCE plugin will overwrite the internal links feature in "
|
||||
#~ "WordPress 3.1 and newer. Cuttently there is no way to enable both of them "
|
||||
#~ "at the same time."
|
||||
#~ msgstr ""
|
||||
#~ "Включение этого модуля TinyMCE перезапишет внутренние ссылки в WordPress "
|
||||
#~ "3.1 и старше. В настоящее время не существует способа включить их оба "
|
||||
#~ "одновременно."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This is only needed if you created that file. Themes that style the "
|
||||
#~ "editor will import the stylesheet automatically."
|
||||
#~ msgstr ""
|
||||
#~ "Это необходимо, только если Вы создали этот файл. Темы этого стиля "
|
||||
#~ "редактор будет импортировать таблицы стилей автоматически."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Note that selecting this will also disable the Styles drop-down menu."
|
||||
#~ msgstr ""
|
||||
#~ "Обратите внимание, что если выбрать этот пункт будут также отключены "
|
||||
#~ "стили выпадающего меню."
|
||||
|
||||
#~ msgid "Language Settings"
|
||||
#~ msgstr "Настройки языка"
|
||||
|
||||
#~ msgid "Your WordPress language is set to"
|
||||
#~ msgstr "Язык WordPress -"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "However there is no matching language installed for TinyMCE plugins. This "
|
||||
#~ "plugin includes several translations: German, French, Italian, Spanish, "
|
||||
#~ "Portuguese, Russian, Japanese and Chinese. More translations are "
|
||||
#~ "available at the"
|
||||
#~ msgstr ""
|
||||
#~ "Однако для модулей TinyMCE никакой язык не установлен. Этот плагин "
|
||||
#~ "включает в себя несколько переводов: немецкий, французский, итальянский, "
|
||||
#~ "испанский, португальский, русский, японский и китайский языки. Другие "
|
||||
#~ "переводы доступны в"
|
||||
|
||||
#~ msgid "TinyMCE web site."
|
||||
#~ msgstr "Вэб-сайт TinyMCE."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Kitchen Sink button shows/hides the next toolbar row. It will not "
|
||||
#~ "work at the current place."
|
||||
#~ msgstr ""
|
||||
#~ "Кнопка Kitchen Sink показывает/скрывает следующую строку панели "
|
||||
#~ "инструментов. Он не будет работать на этом месте."
|
||||
|
||||
#~ msgid "Remove all saved settings from the database?"
|
||||
#~ msgstr "Удалить все сохраненные настройки из базы данных?"
|
||||
|
||||
#~ msgid "Cancel"
|
||||
#~ msgstr "Отмена"
|
||||
|
||||
#~ msgid "Continue"
|
||||
#~ msgstr "Продолжить"
|
||||
|
|
@ -1,362 +0,0 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TinyMCE Advanced\n"
|
||||
"POT-Creation-Date: 2016-03-17 12:21-0800\n"
|
||||
"PO-Revision-Date: 2016-03-17 14:16-0800\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: sv_SE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
||||
"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
|
||||
"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SearchPath-1: ..\n"
|
||||
|
||||
#: ../tadv_admin.php:140
|
||||
msgid "Default settings restored."
|
||||
msgstr "Standardinställningar återställda."
|
||||
|
||||
#: ../tadv_admin.php:152
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr "TinyMCE Avancerad Inställningsexport"
|
||||
|
||||
#: ../tadv_admin.php:156
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr "Inställningarna exporteras som en JSON-kodad sträng."
|
||||
|
||||
#: ../tadv_admin.php:157
|
||||
msgid ""
|
||||
"Please copy the content and save it in a <b>text</b> (.txt) file, using a "
|
||||
"plain text editor like Notepad."
|
||||
msgstr ""
|
||||
"Vänligen kopiera innehållet och spara det i en <b>text</b>-fil (.txt), genom "
|
||||
"en ren texteditor såsom Anteckningar."
|
||||
|
||||
#: ../tadv_admin.php:158
|
||||
msgid ""
|
||||
"It is important that the export is not changed in any way, no spaces, line "
|
||||
"breaks, etc."
|
||||
msgstr ""
|
||||
"Det är viktigt att exporten inte ändras på något sätt, inga mellanrum eller "
|
||||
"radbrytningar etc."
|
||||
|
||||
#: ../tadv_admin.php:163
|
||||
msgid "Select All"
|
||||
msgstr "Välj allt"
|
||||
|
||||
#: ../tadv_admin.php:165 ../tadv_admin.php:191
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr "Tillbaka till redigerarinställningar"
|
||||
|
||||
#: ../tadv_admin.php:177
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr "TinyMCE Avancerad Inställningsimport"
|
||||
|
||||
#: ../tadv_admin.php:180
|
||||
msgid ""
|
||||
"The settings are imported from a JSON encoded string. Please paste the "
|
||||
"exported string in the text area below."
|
||||
msgstr ""
|
||||
"Inställningarna importeras från en JSON-kodad sträng. Vänligen klistra in "
|
||||
"den exporterade strängen i textfältet nedan."
|
||||
|
||||
#: ../tadv_admin.php:185
|
||||
msgid "Verify"
|
||||
msgstr "Jämför"
|
||||
|
||||
#: ../tadv_admin.php:186
|
||||
msgid "Import"
|
||||
msgstr "Importera"
|
||||
|
||||
#: ../tadv_admin.php:216
|
||||
msgid "Importing of settings failed."
|
||||
msgstr "Import av inställningar misslyckades."
|
||||
|
||||
#: ../tadv_admin.php:242
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr "FEL: Alla verktygsfält är tomma. Ursprungsinställningar inladdade."
|
||||
|
||||
#: ../tadv_admin.php:254
|
||||
msgid "Editor Settings"
|
||||
msgstr "Redigerarinställningar"
|
||||
|
||||
#: ../tadv_admin.php:261
|
||||
msgid "Settings saved."
|
||||
msgstr "Inställningar sparade."
|
||||
|
||||
#: ../tadv_admin.php:270 ../tadv_admin.php:540
|
||||
msgid "Save Changes"
|
||||
msgstr "Spara ändringar"
|
||||
|
||||
#: ../tadv_admin.php:277
|
||||
msgid "Enable the editor menu."
|
||||
msgstr "Aktivera redigerarmenyn."
|
||||
|
||||
#: ../tadv_admin.php:389
|
||||
msgid ""
|
||||
"Drag buttons from the unused buttons below and drop them in the toolbars "
|
||||
"above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr ""
|
||||
"Dra knappar från de oanvända knapparna nedan och släpp dem i verktygsfälten "
|
||||
"ovan, eller dra knapparna i verktygsfältet för att arrangera om dem."
|
||||
|
||||
#: ../tadv_admin.php:392
|
||||
msgid "Unused Buttons"
|
||||
msgstr "Oanvända knappar"
|
||||
|
||||
#: ../tadv_admin.php:434
|
||||
#, fuzzy
|
||||
msgid "Options"
|
||||
msgstr "Avancerade tillval"
|
||||
|
||||
#: ../tadv_admin.php:437
|
||||
msgid "List Style Options"
|
||||
msgstr "Liststil-tillval"
|
||||
|
||||
#: ../tadv_admin.php:439
|
||||
msgid ""
|
||||
"Enable more list options: upper or lower case letters for ordered lists, "
|
||||
"disk or square for unordered lists, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:444
|
||||
msgid "Context Menu"
|
||||
msgstr "Sammanhangsmeny"
|
||||
|
||||
#: ../tadv_admin.php:446
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:451
|
||||
msgid "Alternative link dialog"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:453
|
||||
msgid ""
|
||||
"Open the TinyMCE link dialog when using the link button on the toolbar or "
|
||||
"the link menu item."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:458
|
||||
msgid "Font sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:459
|
||||
msgid ""
|
||||
"Replace the size setting available for fonts with: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
msgstr ""
|
||||
"Ersätter storleksinställningen för teckensnitt med: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
|
||||
#: ../tadv_admin.php:467
|
||||
msgid "Advanced Options"
|
||||
msgstr "Avancerade tillval"
|
||||
|
||||
#: ../tadv_admin.php:476
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:478
|
||||
msgid ""
|
||||
"Load the CSS classes used in editor-style.css and replace the Formats button "
|
||||
"and sub-menu."
|
||||
msgstr ""
|
||||
"Ladda CSS-klasser från editor-style.css och ersätt Formaterings-knapp och "
|
||||
"undermeny."
|
||||
|
||||
#: ../tadv_admin.php:488
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:490
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Stop removing the <p> and <br /> tags when saving and show them "
|
||||
"in the Text editor."
|
||||
msgstr ""
|
||||
"Sluta ta bort <p> och <br />-taggar vid sparande och visa dem i "
|
||||
"textredigeraren"
|
||||
|
||||
#: ../tadv_admin.php:491
|
||||
msgid ""
|
||||
"This will make it possible to use more advanced coding in the HTML editor "
|
||||
"without the back-end filtering affecting it much."
|
||||
msgstr ""
|
||||
"Detta möjliggör mer avancerad kodning i HTML-redigeraren utan att backend-"
|
||||
"filtrering påverkar så mycket."
|
||||
|
||||
#: ../tadv_admin.php:492
|
||||
msgid ""
|
||||
"However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
"before enabling it permanently."
|
||||
msgstr ""
|
||||
"Ändå kan det uppföra sig oväntat i särskilda fall, så testa noggrant innan "
|
||||
"du aktiverar det permanent."
|
||||
|
||||
#: ../tadv_admin.php:493
|
||||
msgid ""
|
||||
"Line breaks in the HTML editor would still affect the output, in particular "
|
||||
"do not use empty lines, line breaks inside HTML tags or multiple <br /"
|
||||
"> tags."
|
||||
msgstr ""
|
||||
"Radbrytningar i HTML-redigeraren skulle fortfarande påverka utmatningen så "
|
||||
"använd i synnerhet inte några tomma rader, radbrytningar inuti HTML-taggar "
|
||||
"eller flera <br />-taggar."
|
||||
|
||||
#: ../tadv_admin.php:498
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr "Aktivera inklistring av bildkällor"
|
||||
|
||||
#: ../tadv_admin.php:500
|
||||
msgid ""
|
||||
"Works only in Firefox and Safari. These browsers support pasting of images "
|
||||
"directly in the editor and convert them to base64 encoded text."
|
||||
msgstr ""
|
||||
"Fungerar enbart med Firefox och Safari. Dessa webbläsare stöder inklistring "
|
||||
"av bilder direkt i redigeraren och konverterar dem till base64-kodad text."
|
||||
|
||||
#: ../tadv_admin.php:501
|
||||
msgid ""
|
||||
"This is not acceptable for larger images like photos or graphics, but may be "
|
||||
"useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr ""
|
||||
"Detta är inte acceptabelt för större bilder som foton eller grafik, men kan "
|
||||
"vara användbart i vissa fall för väldigt små bilder såsom ikoner, inte "
|
||||
"större än 2-3kB."
|
||||
|
||||
#: ../tadv_admin.php:502
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr "Dessa bilder kommer inte att finnas i Mediabiblioteket."
|
||||
|
||||
#: ../tadv_admin.php:508
|
||||
msgid "Administration"
|
||||
msgstr "Administration"
|
||||
|
||||
#: ../tadv_admin.php:510
|
||||
msgid "Settings import and export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:512
|
||||
msgid "Export Settings"
|
||||
msgstr "Exportera inställningar"
|
||||
|
||||
#: ../tadv_admin.php:513
|
||||
msgid "Import Settings"
|
||||
msgstr "Importera inställningar"
|
||||
|
||||
#: ../tadv_admin.php:517
|
||||
#, fuzzy
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr "Aktivera redigerarmenyn."
|
||||
|
||||
#: ../tadv_admin.php:520
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:524
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:528
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:539
|
||||
msgid "Restore Default Settings"
|
||||
msgstr "Återställ ursprungsinställningar"
|
||||
|
||||
#: ../tadv_admin.php:545
|
||||
msgid ""
|
||||
"The [Toolbar toggle] button shows or hides the second, third, and forth "
|
||||
"button rows. It will only work when it is in the first row and there are "
|
||||
"buttons in the second row."
|
||||
msgstr ""
|
||||
"[Växla verktygsfält]-knappen visar eller gömmer den andra, tredje och fjärde "
|
||||
"knappraden. Det fungerar endast när knappen finns på den första raden och "
|
||||
"det finns knappar i den andra raden."
|
||||
|
||||
#: ../tinymce-advanced.php:221
|
||||
#, php-format
|
||||
msgid ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
msgstr ""
|
||||
"Detta tillägg kräver WordPress version %1$s eller nyare. Det verkar som att "
|
||||
"du kör %2$s. Detta kan göra redigeraren instabil."
|
||||
|
||||
#: ../tinymce-advanced.php:228
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
msgstr ""
|
||||
"Vänligen uppgradera din WordPress-installation eller ladda hem en <a href="
|
||||
"\"%s\">äldre version av tillägget</a>."
|
||||
|
||||
#: ../tinymce-advanced.php:703
|
||||
#, fuzzy
|
||||
msgid "Settings"
|
||||
msgstr "Redigerarinställningar"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "New in TinyMCE 4.0/WordPress 3.9 is the editor menu. When it is enabled, "
|
||||
#~ "most buttons are also available as menu items."
|
||||
#~ msgstr ""
|
||||
#~ "Nytt i TinyMCE 4.0/WordPress 3.9 är redigerarmenyn. När den är aktiverad "
|
||||
#~ "blir de flesta knapparna också tillgängliga som menyval."
|
||||
|
||||
#~ msgid "Also enable:"
|
||||
#~ msgstr "Aktivera också:"
|
||||
|
||||
#~ msgid "Link (replaces the Insert/Edit Link dialog)"
|
||||
#~ msgstr "Länk (ersätter dialogfönstret Infoga/redigera länk)"
|
||||
|
||||
#~ msgid "Import editor-style.css."
|
||||
#~ msgstr "Importera editor-style.css."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "It seems your theme does not support customised styles for the editor."
|
||||
#~ msgstr ""
|
||||
#~ "Det verkar som att ditt tema inte stöder anpassade stilar för redigeraren."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You can create a CSS file named <code>editor-style.css</code> and upload "
|
||||
#~ "it to your theme's directory."
|
||||
#~ msgstr ""
|
||||
#~ "Du kan skapa en CSS-fil namngiven <code>editor-style.css</code> och ladda "
|
||||
#~ "upp till ditt temas mapp."
|
||||
|
||||
#~ msgid "After that, enable this setting."
|
||||
#~ msgstr "Efteråt, aktivera denna inställning."
|
||||
|
||||
#~ msgid "Replace font size settings"
|
||||
#~ msgstr "Ersätt textstorleksinställningar"
|
||||
|
||||
#~ msgid "Markdown typing support (text pattern plugin)"
|
||||
#~ msgstr "Stöd för att skriva Markdown (tillägg för textflöde)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This plugin matches special patterns while you type and applies formats "
|
||||
#~ "or executes commands on the matched text."
|
||||
#~ msgstr ""
|
||||
#~ "Detta tillägg matchar speciella mönster medan du skriver och applicerar "
|
||||
#~ "formatering eller utför kommandon utifrån matchad text."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The default patterns are the same as the markdown syntax so you can type "
|
||||
#~ "<code># text</code> to create a header, <code>1. text</code> to create a "
|
||||
#~ "list, <code>**text**</code> to make it bold, etc."
|
||||
#~ msgstr ""
|
||||
#~ "Standardmönster är samma som markdown-syntax så att du kan skriva <code># "
|
||||
#~ "text</code> för att skapa en rubrik, <code>1. text</code> för att skapa "
|
||||
#~ "en lista, <code>**text**</code> för fet stil etc."
|
||||
|
||||
#~ msgid "More information"
|
||||
#~ msgstr "Mer information"
|
||||
|
|
@ -1,269 +0,0 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TinyMCE Advanced\n"
|
||||
"POT-Creation-Date: 2016-03-17 12:21-0800\n"
|
||||
"PO-Revision-Date: 2016-03-17 12:21-0800\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: en_US\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
||||
"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
|
||||
"esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SearchPath-1: ..\n"
|
||||
|
||||
#: ../tadv_admin.php:140
|
||||
msgid "Default settings restored."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:152
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:156
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:157
|
||||
msgid ""
|
||||
"Please copy the content and save it in a <b>text</b> (.txt) file, using a "
|
||||
"plain text editor like Notepad."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:158
|
||||
msgid ""
|
||||
"It is important that the export is not changed in any way, no spaces, line "
|
||||
"breaks, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:163
|
||||
msgid "Select All"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:165 ../tadv_admin.php:191
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:177
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:180
|
||||
msgid ""
|
||||
"The settings are imported from a JSON encoded string. Please paste the "
|
||||
"exported string in the text area below."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:185
|
||||
msgid "Verify"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:186
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:216
|
||||
msgid "Importing of settings failed."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:242
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:254
|
||||
msgid "Editor Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:261
|
||||
msgid "Settings saved."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:270 ../tadv_admin.php:540
|
||||
msgid "Save Changes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:277
|
||||
msgid "Enable the editor menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:389
|
||||
msgid ""
|
||||
"Drag buttons from the unused buttons below and drop them in the toolbars "
|
||||
"above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:392
|
||||
msgid "Unused Buttons"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:434
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:437
|
||||
msgid "List Style Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:439
|
||||
msgid ""
|
||||
"Enable more list options: upper or lower case letters for ordered lists, "
|
||||
"disk or square for unordered lists, etc."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:444
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:446
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:451
|
||||
msgid "Alternative link dialog"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:453
|
||||
msgid ""
|
||||
"Open the TinyMCE link dialog when using the link button on the toolbar or "
|
||||
"the link menu item."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:458
|
||||
msgid "Font sizes"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:459
|
||||
msgid ""
|
||||
"Replace the size setting available for fonts with: 8px 10px 12px 14px 16px "
|
||||
"20px 24px 28px 32px 36px 48px 60px."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:467
|
||||
msgid "Advanced Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:476
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:478
|
||||
msgid ""
|
||||
"Load the CSS classes used in editor-style.css and replace the Formats button "
|
||||
"and sub-menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:488
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:490
|
||||
msgid ""
|
||||
"Stop removing the <p> and <br /> tags when saving and show them "
|
||||
"in the Text editor."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:491
|
||||
msgid ""
|
||||
"This will make it possible to use more advanced coding in the HTML editor "
|
||||
"without the back-end filtering affecting it much."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:492
|
||||
msgid ""
|
||||
"However it may behave unexpectedly in rare cases, so test it thoroughly "
|
||||
"before enabling it permanently."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:493
|
||||
msgid ""
|
||||
"Line breaks in the HTML editor would still affect the output, in particular "
|
||||
"do not use empty lines, line breaks inside HTML tags or multiple <br /"
|
||||
"> tags."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:498
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:500
|
||||
msgid ""
|
||||
"Works only in Firefox and Safari. These browsers support pasting of images "
|
||||
"directly in the editor and convert them to base64 encoded text."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:501
|
||||
msgid ""
|
||||
"This is not acceptable for larger images like photos or graphics, but may be "
|
||||
"useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:502
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:508
|
||||
msgid "Administration"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:510
|
||||
msgid "Settings import and export"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:512
|
||||
msgid "Export Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:513
|
||||
msgid "Import Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:517
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:520
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:524
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:528
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:539
|
||||
msgid "Restore Default Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../tadv_admin.php:545
|
||||
msgid ""
|
||||
"The [Toolbar toggle] button shows or hides the second, third, and forth "
|
||||
"button rows. It will only work when it is in the first row and there are "
|
||||
"buttons in the second row."
|
||||
msgstr ""
|
||||
|
||||
#: ../tinymce-advanced.php:221
|
||||
#, php-format
|
||||
msgid ""
|
||||
"TinyMCE Advanced requires WordPress version %1$s or newer. It appears that "
|
||||
"you are running %2$s. This can make the editor unstable."
|
||||
msgstr ""
|
||||
|
||||
#: ../tinymce-advanced.php:228
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Please upgrade your WordPress installation or download an <a href=\"%s"
|
||||
"\">older version of the plugin</a>."
|
||||
msgstr ""
|
||||
|
||||
#: ../tinymce-advanced.php:703
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
|
@ -1,256 +1,160 @@
|
|||
(function () {
|
||||
var advlist = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
var applyListFormat = function (editor, listName, styleValue) {
|
||||
var cmd = listName === 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
|
||||
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
|
||||
};
|
||||
var Actions = { applyListFormat: applyListFormat };
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
var register = function (editor) {
|
||||
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
|
||||
Actions.applyListFormat(editor, 'UL', value['list-style-type']);
|
||||
});
|
||||
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
|
||||
Actions.applyListFormat(editor, 'OL', value['list-style-type']);
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
var getNumberStyles = function (editor) {
|
||||
var styles = editor.getParam('advlist_number_styles', 'default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman');
|
||||
return styles ? styles.split(/[ ,]/) : [];
|
||||
};
|
||||
var getBulletStyles = function (editor) {
|
||||
var styles = editor.getParam('advlist_bullet_styles', 'default,circle,disc,square');
|
||||
return styles ? styles.split(/[ ,]/) : [];
|
||||
};
|
||||
var Settings = {
|
||||
getNumberStyles: getNumberStyles,
|
||||
getBulletStyles: getBulletStyles
|
||||
};
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.advlist.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.util.Tools',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.util.Tools');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the advlist plugin.
|
||||
*
|
||||
* @class tinymce.plugins.advlist.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.advlist.Plugin',
|
||||
[
|
||||
'tinymce.core.PluginManager',
|
||||
'tinymce.core.util.Tools'
|
||||
],
|
||||
function (PluginManager, Tools) {
|
||||
PluginManager.add('advlist', function (editor) {
|
||||
var olMenuItems, ulMenuItems;
|
||||
|
||||
var hasPlugin = function (editor, plugin) {
|
||||
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
|
||||
return Tools.inArray(plugins.split(/[ ,]/), plugin) !== -1;
|
||||
var isChildOfBody = function (editor, elm) {
|
||||
return editor.$.contains(editor.getBody(), elm);
|
||||
};
|
||||
var isTableCellNode = function (node) {
|
||||
return node && /^(TH|TD)$/.test(node.nodeName);
|
||||
};
|
||||
var isListNode = function (editor) {
|
||||
return function (node) {
|
||||
return node && /^(OL|UL|DL)$/.test(node.nodeName) && isChildOfBody(editor, node);
|
||||
};
|
||||
};
|
||||
var getSelectedStyleType = function (editor) {
|
||||
var listElm = editor.dom.getParent(editor.selection.getNode(), 'ol,ul');
|
||||
return editor.dom.getStyle(listElm, 'listStyleType') || '';
|
||||
};
|
||||
var ListUtils = {
|
||||
isTableCellNode: isTableCellNode,
|
||||
isListNode: isListNode,
|
||||
getSelectedStyleType: getSelectedStyleType
|
||||
};
|
||||
|
||||
function isChildOfBody(elm) {
|
||||
return editor.$.contains(editor.getBody(), elm);
|
||||
}
|
||||
var styleValueToText = function (styleValue) {
|
||||
return styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
|
||||
return chr.toUpperCase();
|
||||
});
|
||||
};
|
||||
var toMenuItems = function (styles) {
|
||||
return global$1.map(styles, function (styleValue) {
|
||||
var text = styleValueToText(styleValue);
|
||||
var data = styleValue === 'default' ? '' : styleValue;
|
||||
return {
|
||||
text: text,
|
||||
data: data
|
||||
};
|
||||
});
|
||||
};
|
||||
var ListStyles = { toMenuItems: toMenuItems };
|
||||
|
||||
function isListNode(node) {
|
||||
return node && (/^(OL|UL|DL)$/).test(node.nodeName) && isChildOfBody(node);
|
||||
}
|
||||
|
||||
function buildMenuItems(listName, styleValues) {
|
||||
var items = [];
|
||||
if (styleValues) {
|
||||
Tools.each(styleValues.split(/[ ,]/), function (styleValue) {
|
||||
items.push({
|
||||
text: styleValue.replace(/\-/g, ' ').replace(/\b\w/g, function (chr) {
|
||||
return chr.toUpperCase();
|
||||
}),
|
||||
data: styleValue == 'default' ? '' : styleValue
|
||||
});
|
||||
});
|
||||
var findIndex = function (list, predicate) {
|
||||
for (var index = 0; index < list.length; index++) {
|
||||
var element = list[index];
|
||||
if (predicate(element)) {
|
||||
return index;
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
olMenuItems = buildMenuItems('OL', editor.getParam(
|
||||
"advlist_number_styles",
|
||||
"default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"
|
||||
));
|
||||
|
||||
ulMenuItems = buildMenuItems('UL', editor.getParam("advlist_bullet_styles", "default,circle,disc,square"));
|
||||
|
||||
function applyListFormat(listName, styleValue) {
|
||||
var cmd = listName == 'UL' ? 'InsertUnorderedList' : 'InsertOrderedList';
|
||||
editor.execCommand(cmd, false, styleValue === false ? null : { 'list-style-type': styleValue });
|
||||
}
|
||||
|
||||
function updateSelection(e) {
|
||||
var listStyleType = editor.dom.getStyle(editor.dom.getParent(editor.selection.getNode(), 'ol,ul'), 'listStyleType') || '';
|
||||
|
||||
return -1;
|
||||
};
|
||||
var listState = function (editor, listName) {
|
||||
return function (e) {
|
||||
var ctrl = e.control;
|
||||
editor.on('NodeChange', function (e) {
|
||||
var tableCellIndex = findIndex(e.parents, ListUtils.isTableCellNode);
|
||||
var parents = tableCellIndex !== -1 ? e.parents.slice(0, tableCellIndex) : e.parents;
|
||||
var lists = global$1.grep(parents, ListUtils.isListNode(editor));
|
||||
ctrl.active(lists.length > 0 && lists[0].nodeName === listName);
|
||||
});
|
||||
};
|
||||
};
|
||||
var updateSelection = function (editor) {
|
||||
return function (e) {
|
||||
var listStyleType = ListUtils.getSelectedStyleType(editor);
|
||||
e.control.items().each(function (ctrl) {
|
||||
ctrl.active(ctrl.settings.data === listStyleType);
|
||||
});
|
||||
}
|
||||
|
||||
var listState = function (listName) {
|
||||
return function () {
|
||||
var self = this;
|
||||
|
||||
editor.on('NodeChange', function (e) {
|
||||
var lists = Tools.grep(e.parents, isListNode);
|
||||
self.active(lists.length > 0 && lists[0].nodeName === listName);
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
var addSplitButton = function (editor, id, tooltip, cmd, nodeName, styles) {
|
||||
editor.addButton(id, {
|
||||
active: false,
|
||||
type: 'splitbutton',
|
||||
tooltip: tooltip,
|
||||
menu: ListStyles.toMenuItems(styles),
|
||||
onPostRender: listState(editor, nodeName),
|
||||
onshow: updateSelection(editor),
|
||||
onselect: function (e) {
|
||||
Actions.applyListFormat(editor, nodeName, e.control.settings.data);
|
||||
},
|
||||
onclick: function () {
|
||||
editor.execCommand(cmd);
|
||||
}
|
||||
});
|
||||
};
|
||||
var addButton = function (editor, id, tooltip, cmd, nodeName, styles) {
|
||||
editor.addButton(id, {
|
||||
active: false,
|
||||
type: 'button',
|
||||
tooltip: tooltip,
|
||||
onPostRender: listState(editor, nodeName),
|
||||
onclick: function () {
|
||||
editor.execCommand(cmd);
|
||||
}
|
||||
});
|
||||
};
|
||||
var addControl = function (editor, id, tooltip, cmd, nodeName, styles) {
|
||||
if (styles.length > 0) {
|
||||
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
|
||||
} else {
|
||||
addButton(editor, id, tooltip, cmd, nodeName);
|
||||
}
|
||||
};
|
||||
var register$1 = function (editor) {
|
||||
addControl(editor, 'numlist', 'Numbered list', 'InsertOrderedList', 'OL', Settings.getNumberStyles(editor));
|
||||
addControl(editor, 'bullist', 'Bullet list', 'InsertUnorderedList', 'UL', Settings.getBulletStyles(editor));
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
if (hasPlugin(editor, "lists")) {
|
||||
editor.addCommand('ApplyUnorderedListStyle', function (ui, value) {
|
||||
applyListFormat('UL', value['list-style-type']);
|
||||
});
|
||||
|
||||
editor.addCommand('ApplyOrderedListStyle', function (ui, value) {
|
||||
applyListFormat('OL', value['list-style-type']);
|
||||
});
|
||||
|
||||
editor.addButton('numlist', {
|
||||
type: (olMenuItems.length > 0) ? 'splitbutton' : 'button',
|
||||
tooltip: 'Numbered list',
|
||||
menu: olMenuItems,
|
||||
onPostRender: listState('OL'),
|
||||
onshow: updateSelection,
|
||||
onselect: function (e) {
|
||||
applyListFormat('OL', e.control.settings.data);
|
||||
},
|
||||
onclick: function () {
|
||||
editor.execCommand('InsertOrderedList');
|
||||
}
|
||||
});
|
||||
|
||||
editor.addButton('bullist', {
|
||||
type: (ulMenuItems.length > 0) ? 'splitbutton' : 'button',
|
||||
tooltip: 'Bullet list',
|
||||
onPostRender: listState('UL'),
|
||||
menu: ulMenuItems,
|
||||
onshow: updateSelection,
|
||||
onselect: function (e) {
|
||||
applyListFormat('UL', e.control.settings.data);
|
||||
},
|
||||
onclick: function () {
|
||||
editor.execCommand('InsertUnorderedList');
|
||||
}
|
||||
});
|
||||
global.add('advlist', function (editor) {
|
||||
var hasPlugin = function (editor, plugin) {
|
||||
var plugins = editor.settings.plugins ? editor.settings.plugins : '';
|
||||
return global$1.inArray(plugins.split(/[ ,]/), plugin) !== -1;
|
||||
};
|
||||
if (hasPlugin(editor, 'lists')) {
|
||||
Buttons.register(editor);
|
||||
Commands.register(editor);
|
||||
}
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return function () { };
|
||||
return Plugin;
|
||||
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.advlist.Plugin')();
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.PluginManager")}),g("2",["3"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2"],function(a,b){return a.add("advlist",function(a){function c(b){return a.$.contains(a.getBody(),b)}function d(a){return a&&/^(OL|UL|DL)$/.test(a.nodeName)&&c(a)}function e(a,c){var d=[];return c&&b.each(c.split(/[ ,]/),function(a){d.push({text:a.replace(/\-/g," ").replace(/\b\w/g,function(a){return a.toUpperCase()}),data:"default"==a?"":a})}),d}function f(b,c){var d="UL"==b?"InsertUnorderedList":"InsertOrderedList";a.execCommand(d,!1,c===!1?null:{"list-style-type":c})}function g(b){var c=a.dom.getStyle(a.dom.getParent(a.selection.getNode(),"ol,ul"),"listStyleType")||"";b.control.items().each(function(a){a.active(a.settings.data===c)})}var h,i,j=function(a,c){var d=a.settings.plugins?a.settings.plugins:"";return b.inArray(d.split(/[ ,]/),c)!==-1};h=e("OL",a.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),i=e("UL",a.getParam("advlist_bullet_styles","default,circle,disc,square"));var k=function(c){return function(){var e=this;a.on("NodeChange",function(a){var f=b.grep(a.parents,d);e.active(f.length>0&&f[0].nodeName===c)})}};j(a,"lists")&&(a.addCommand("ApplyUnorderedListStyle",function(a,b){f("UL",b["list-style-type"])}),a.addCommand("ApplyOrderedListStyle",function(a,b){f("OL",b["list-style-type"])}),a.addButton("numlist",{type:h.length>0?"splitbutton":"button",tooltip:"Numbered list",menu:h,onPostRender:k("OL"),onshow:g,onselect:function(a){f("OL",a.control.settings.data)},onclick:function(){a.execCommand("InsertOrderedList")}}),a.addButton("bullist",{type:i.length>0?"splitbutton":"button",tooltip:"Bullet list",onPostRender:k("UL"),menu:i,onshow:g,onselect:function(a){f("UL",a.control.settings.data)},onclick:function(){a.execCommand("InsertUnorderedList")}}))}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.util.Tools"),s=function(t,e,n){var r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===n?null:{"list-style-type":n})},o=function(n){n.addCommand("ApplyUnorderedListStyle",function(t,e){s(n,"UL",e["list-style-type"])}),n.addCommand("ApplyOrderedListStyle",function(t,e){s(n,"OL",e["list-style-type"])})},e=function(t){var e=t.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return e?e.split(/[ ,]/):[]},n=function(t){var e=t.getParam("advlist_bullet_styles","default,circle,disc,square");return e?e.split(/[ ,]/):[]},u=function(t){return t&&/^(TH|TD)$/.test(t.nodeName)},c=function(r){return function(t){return t&&/^(OL|UL|DL)$/.test(t.nodeName)&&(n=t,(e=r).$.contains(e.getBody(),n));var e,n}},d=function(t){var e=t.dom.getParent(t.selection.getNode(),"ol,ul");return t.dom.getStyle(e,"listStyleType")||""},p=function(t){return a.map(t,function(t){return{text:t.replace(/\-/g," ").replace(/\b\w/g,function(t){return t.toUpperCase()}),data:"default"===t?"":t}})},f=function(i,l){return function(t){var o=t.control;i.on("NodeChange",function(t){var e=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n]))return n;return-1}(t.parents,u),n=-1!==e?t.parents.slice(0,e):t.parents,r=a.grep(n,c(i));o.active(0<r.length&&r[0].nodeName===l)})}},m=function(e,t,n,r,o,i){var l;e.addButton(t,{active:!1,type:"splitbutton",tooltip:n,menu:p(i),onPostRender:f(e,o),onshow:(l=e,function(t){var e=d(l);t.control.items().each(function(t){t.active(t.settings.data===e)})}),onselect:function(t){s(e,o,t.control.settings.data)},onclick:function(){e.execCommand(r)}})},r=function(t,e,n,r,o,i){var l,a,s,u,c;0<i.length?m(t,e,n,r,o,i):(a=e,s=n,u=r,c=o,(l=t).addButton(a,{active:!1,type:"button",tooltip:s,onPostRender:f(l,c),onclick:function(){l.execCommand(u)}}))},i=function(t){r(t,"numlist","Numbered list","InsertOrderedList","OL",e(t)),r(t,"bullist","Bullet list","InsertUnorderedList","UL",n(t))};t.add("advlist",function(t){var e,n,r;n="lists",r=(e=t).settings.plugins?e.settings.plugins:"",-1!==a.inArray(r.split(/[ ,]/),n)&&(i(t),o(t))})}();
|
||||
|
|
@ -1,235 +1,118 @@
|
|||
(function () {
|
||||
var anchor = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.anchor.Plugin","tinymce.core.Env","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.Env',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.Env');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the anchor plugin.
|
||||
*
|
||||
* @class tinymce.anchor.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.anchor.Plugin',
|
||||
[
|
||||
'tinymce.core.Env',
|
||||
'tinymce.core.PluginManager'
|
||||
],
|
||||
|
||||
function (Env, PluginManager) {
|
||||
PluginManager.add('anchor', function (editor) {
|
||||
var isAnchorNode = function (node) {
|
||||
return !node.attr('href') && (node.attr('id') || node.attr('name')) && !node.firstChild;
|
||||
};
|
||||
|
||||
var setContentEditable = function (state) {
|
||||
return function (nodes) {
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
if (isAnchorNode(nodes[i])) {
|
||||
nodes[i].attr('contenteditable', state);
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
var isValidId = function (id) {
|
||||
// Follows HTML4 rules: https://www.w3.org/TR/html401/types.html#type-id
|
||||
return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
|
||||
};
|
||||
|
||||
var showDialog = function () {
|
||||
var selectedNode = editor.selection.getNode();
|
||||
var isAnchor = selectedNode.tagName == 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
|
||||
var value = '';
|
||||
|
||||
if (isAnchor) {
|
||||
value = selectedNode.id || selectedNode.name || '';
|
||||
}
|
||||
|
||||
editor.windowManager.open({
|
||||
title: 'Anchor',
|
||||
body: { type: 'textbox', name: 'id', size: 40, label: 'Id', value: value },
|
||||
onsubmit: function (e) {
|
||||
var id = e.data.id;
|
||||
|
||||
if (!isValidId(id)) {
|
||||
e.preventDefault();
|
||||
editor.windowManager.alert(
|
||||
'Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isAnchor) {
|
||||
selectedNode.removeAttribute('name');
|
||||
selectedNode.id = id;
|
||||
} else {
|
||||
editor.selection.collapse(true);
|
||||
editor.execCommand('mceInsertContent', false, editor.dom.createHTML('a', {
|
||||
id: id
|
||||
}));
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (Env.ceFalse) {
|
||||
editor.on('PreInit', function () {
|
||||
editor.parser.addNodeFilter('a', setContentEditable('false'));
|
||||
editor.serializer.addNodeFilter('a', setContentEditable(null));
|
||||
});
|
||||
var isValidId = function (id) {
|
||||
return /^[A-Za-z][A-Za-z0-9\-:._]*$/.test(id);
|
||||
};
|
||||
var getId = function (editor) {
|
||||
var selectedNode = editor.selection.getNode();
|
||||
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
|
||||
return isAnchor ? selectedNode.id || selectedNode.name : '';
|
||||
};
|
||||
var insert = function (editor, id) {
|
||||
var selectedNode = editor.selection.getNode();
|
||||
var isAnchor = selectedNode.tagName === 'A' && editor.dom.getAttrib(selectedNode, 'href') === '';
|
||||
if (isAnchor) {
|
||||
selectedNode.removeAttribute('name');
|
||||
selectedNode.id = id;
|
||||
editor.undoManager.add();
|
||||
} else {
|
||||
editor.focus();
|
||||
editor.selection.collapse(true);
|
||||
editor.execCommand('mceInsertContent', false, editor.dom.createHTML('a', { id: id }));
|
||||
}
|
||||
};
|
||||
var Anchor = {
|
||||
isValidId: isValidId,
|
||||
getId: getId,
|
||||
insert: insert
|
||||
};
|
||||
|
||||
editor.addCommand('mceAnchor', showDialog);
|
||||
var insertAnchor = function (editor, newId) {
|
||||
if (!Anchor.isValidId(newId)) {
|
||||
editor.windowManager.alert('Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.');
|
||||
return true;
|
||||
} else {
|
||||
Anchor.insert(editor, newId);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
var open = function (editor) {
|
||||
var currentId = Anchor.getId(editor);
|
||||
editor.windowManager.open({
|
||||
title: 'Anchor',
|
||||
body: {
|
||||
type: 'textbox',
|
||||
name: 'id',
|
||||
size: 40,
|
||||
label: 'Id',
|
||||
value: currentId
|
||||
},
|
||||
onsubmit: function (e) {
|
||||
var newId = e.data.id;
|
||||
if (insertAnchor(editor, newId)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
var Dialog = { open: open };
|
||||
|
||||
var register = function (editor) {
|
||||
editor.addCommand('mceAnchor', function () {
|
||||
Dialog.open(editor);
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var isAnchorNode = function (node) {
|
||||
return !node.attr('href') && (node.attr('id') || node.attr('name')) && !node.firstChild;
|
||||
};
|
||||
var setContentEditable = function (state) {
|
||||
return function (nodes) {
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
if (isAnchorNode(nodes[i])) {
|
||||
nodes[i].attr('contenteditable', state);
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
var setup = function (editor) {
|
||||
editor.on('PreInit', function () {
|
||||
editor.parser.addNodeFilter('a', setContentEditable('false'));
|
||||
editor.serializer.addNodeFilter('a', setContentEditable(null));
|
||||
});
|
||||
};
|
||||
var FilterContent = { setup: setup };
|
||||
|
||||
var register$1 = function (editor) {
|
||||
editor.addButton('anchor', {
|
||||
icon: 'anchor',
|
||||
tooltip: 'Anchor',
|
||||
onclick: showDialog,
|
||||
cmd: 'mceAnchor',
|
||||
stateSelector: 'a:not([href])'
|
||||
});
|
||||
|
||||
editor.addMenuItem('anchor', {
|
||||
icon: 'anchor',
|
||||
text: 'Anchor',
|
||||
context: 'insert',
|
||||
onclick: showDialog
|
||||
cmd: 'mceAnchor'
|
||||
});
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.anchor.Plugin')();
|
||||
global.add('anchor', function (editor) {
|
||||
FilterContent.setup(editor);
|
||||
Commands.register(editor);
|
||||
Buttons.register(editor);
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.Env")}),g("2",["3"],function(a){return a("tinymce.PluginManager")}),g("0",["1","2"],function(a,b){return b.add("anchor",function(b){var c=function(a){return!a.attr("href")&&(a.attr("id")||a.attr("name"))&&!a.firstChild},d=function(a){return function(b){for(var d=0;d<b.length;d++)c(b[d])&&b[d].attr("contenteditable",a)}},e=function(a){return/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(a)},f=function(){var a=b.selection.getNode(),c="A"==a.tagName&&""===b.dom.getAttrib(a,"href"),d="";c&&(d=a.id||a.name||""),b.windowManager.open({title:"Anchor",body:{type:"textbox",name:"id",size:40,label:"Id",value:d},onsubmit:function(d){var f=d.data.id;return e(f)?void(c?(a.removeAttribute("name"),a.id=f):(b.selection.collapse(!0),b.execCommand("mceInsertContent",!1,b.dom.createHTML("a",{id:f})))):(d.preventDefault(),void b.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."))}})};a.ceFalse&&b.on("PreInit",function(){b.parser.addNodeFilter("a",d("false")),b.serializer.addNodeFilter("a",d(null))}),b.addCommand("mceAnchor",f),b.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:f,stateSelector:"a:not([href])"}),b.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:f})}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=function(t){return/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)},e=function(t){var e=t.selection.getNode();return"A"===e.tagName&&""===t.dom.getAttrib(e,"href")?e.id||e.name:""},i=function(t,e){var n=t.selection.getNode();"A"===n.tagName&&""===t.dom.getAttrib(n,"href")?(n.removeAttribute("name"),n.id=e,t.undoManager.add()):(t.focus(),t.selection.collapse(!0),t.execCommand("mceInsertContent",!1,t.dom.createHTML("a",{id:e})))},n=function(r){var t=e(r);r.windowManager.open({title:"Anchor",body:{type:"textbox",name:"id",size:40,label:"Id",value:t},onsubmit:function(t){var e,n,o=t.data.id;e=r,(a(n=o)?(i(e,n),0):(e.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),1))&&t.preventDefault()}})},o=function(t){t.addCommand("mceAnchor",function(){n(t)})},r=function(o){return function(t){for(var e=0;e<t.length;e++)(n=t[e]).attr("href")||!n.attr("id")&&!n.attr("name")||n.firstChild||t[e].attr("contenteditable",o);var n}},c=function(t){t.on("PreInit",function(){t.parser.addNodeFilter("a",r("false")),t.serializer.addNodeFilter("a",r(null))})},d=function(t){t.addButton("anchor",{icon:"anchor",tooltip:"Anchor",cmd:"mceAnchor",stateSelector:"a:not([href])"}),t.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",cmd:"mceAnchor"})};t.add("anchor",function(t){c(t),o(t),d(t)})}();
|
||||
|
|
@ -1,203 +1,94 @@
|
|||
(function () {
|
||||
var code = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
var getMinWidth = function (editor) {
|
||||
return editor.getParam('code_dialog_width', 600);
|
||||
};
|
||||
var getMinHeight = function (editor) {
|
||||
return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
|
||||
};
|
||||
var Settings = {
|
||||
getMinWidth: getMinWidth,
|
||||
getMinHeight: getMinHeight
|
||||
};
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
var setContent = function (editor, html) {
|
||||
editor.focus();
|
||||
editor.undoManager.transact(function () {
|
||||
editor.setContent(html);
|
||||
});
|
||||
editor.selection.setCursorLocation();
|
||||
editor.nodeChanged();
|
||||
};
|
||||
var getContent = function (editor) {
|
||||
return editor.getContent({ source_view: true });
|
||||
};
|
||||
var Content = {
|
||||
setContent: setContent,
|
||||
getContent: getContent
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
var open = function (editor) {
|
||||
var minWidth = Settings.getMinWidth(editor);
|
||||
var minHeight = Settings.getMinHeight(editor);
|
||||
var win = editor.windowManager.open({
|
||||
title: 'Source code',
|
||||
body: {
|
||||
type: 'textbox',
|
||||
name: 'code',
|
||||
multiline: true,
|
||||
minWidth: minWidth,
|
||||
minHeight: minHeight,
|
||||
spellcheck: false,
|
||||
style: 'direction: ltr; text-align: left'
|
||||
},
|
||||
onSubmit: function (e) {
|
||||
Content.setContent(editor, e.data.code);
|
||||
}
|
||||
});
|
||||
win.find('#code').value(Content.getContent(editor));
|
||||
};
|
||||
var Dialog = { open: open };
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.code.Plugin","tinymce.core.dom.DOMUtils","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.dom.DOMUtils',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.dom.DOMUtils');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the code plugin.
|
||||
*
|
||||
* @class tinymce.code.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.code.Plugin',
|
||||
[
|
||||
'tinymce.core.dom.DOMUtils',
|
||||
'tinymce.core.PluginManager'
|
||||
],
|
||||
function (DOMUtils, PluginManager) {
|
||||
PluginManager.add('code', function (editor) {
|
||||
function showDialog() {
|
||||
var win = editor.windowManager.open({
|
||||
title: "Source code",
|
||||
body: {
|
||||
type: 'textbox',
|
||||
name: 'code',
|
||||
multiline: true,
|
||||
minWidth: editor.getParam("code_dialog_width", 600),
|
||||
minHeight: editor.getParam("code_dialog_height", Math.min(DOMUtils.DOM.getViewPort().h - 200, 500)),
|
||||
spellcheck: false,
|
||||
style: 'direction: ltr; text-align: left'
|
||||
},
|
||||
onSubmit: function (e) {
|
||||
// We get a lovely "Wrong document" error in IE 11 if we
|
||||
// don't move the focus to the editor before creating an undo
|
||||
// transation since it tries to make a bookmark for the current selection
|
||||
editor.focus();
|
||||
|
||||
editor.undoManager.transact(function () {
|
||||
editor.setContent(e.data.code);
|
||||
});
|
||||
|
||||
editor.selection.setCursorLocation();
|
||||
editor.nodeChanged();
|
||||
}
|
||||
});
|
||||
|
||||
// Gecko has a major performance issue with textarea
|
||||
// contents so we need to set it when all reflows are done
|
||||
win.find('#code').value(editor.getContent({ source_view: true }));
|
||||
}
|
||||
|
||||
editor.addCommand("mceCodeEditor", showDialog);
|
||||
var register = function (editor) {
|
||||
editor.addCommand('mceCodeEditor', function () {
|
||||
Dialog.open(editor);
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var register$1 = function (editor) {
|
||||
editor.addButton('code', {
|
||||
icon: 'code',
|
||||
tooltip: 'Source code',
|
||||
onclick: showDialog
|
||||
onclick: function () {
|
||||
Dialog.open(editor);
|
||||
}
|
||||
});
|
||||
|
||||
editor.addMenuItem('code', {
|
||||
icon: 'code',
|
||||
text: 'Source code',
|
||||
context: 'tools',
|
||||
onclick: showDialog
|
||||
onclick: function () {
|
||||
Dialog.open(editor);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.code.Plugin')();
|
||||
global.add('code', function (editor) {
|
||||
Commands.register(editor);
|
||||
Buttons.register(editor);
|
||||
return {};
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.dom.DOMUtils")}),g("2",["3"],function(a){return a("tinymce.PluginManager")}),g("0",["1","2"],function(a,b){return b.add("code",function(b){function c(){var c=b.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:b.getParam("code_dialog_width",600),minHeight:b.getParam("code_dialog_height",Math.min(a.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(a){b.focus(),b.undoManager.transact(function(){b.setContent(a.data.code)}),b.selection.setCursorLocation(),b.nodeChanged()}});c.find("#code").value(b.getContent({source_view:!0}))}b.addCommand("mceCodeEditor",c),b.addButton("code",{icon:"code",tooltip:"Source code",onclick:c}),b.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:c})}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),o=function(t){return t.getParam("code_dialog_width",600)},i=function(t){return t.getParam("code_dialog_height",Math.min(n.DOM.getViewPort().h-200,500))},c=function(t,n){t.focus(),t.undoManager.transact(function(){t.setContent(n)}),t.selection.setCursorLocation(),t.nodeChanged()},d=function(t){return t.getContent({source_view:!0})},e=function(n){var t=o(n),e=i(n);n.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:t,minHeight:e,spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){c(n,t.data.code)}}).find("#code").value(d(n))},u=function(t){t.addCommand("mceCodeEditor",function(){e(t)})},a=function(t){t.addButton("code",{icon:"code",tooltip:"Source code",onclick:function(){e(t)}}),t.addMenuItem("code",{icon:"code",text:"Source code",onclick:function(){e(t)}})};t.add("code",function(t){return u(t),a(t),{}})}();
|
||||
|
|
@ -1,449 +1,221 @@
|
|||
(function () {
|
||||
var importcss = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
var global$2 = tinymce.util.Tools.resolve('tinymce.EditorManager');
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
var global$3 = tinymce.util.Tools.resolve('tinymce.Env');
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
var global$4 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
var shouldMergeClasses = function (editor) {
|
||||
return editor.getParam('importcss_merge_classes');
|
||||
};
|
||||
var shouldImportExclusive = function (editor) {
|
||||
return editor.getParam('importcss_exclusive');
|
||||
};
|
||||
var getSelectorConverter = function (editor) {
|
||||
return editor.getParam('importcss_selector_converter');
|
||||
};
|
||||
var getSelectorFilter = function (editor) {
|
||||
return editor.getParam('importcss_selector_filter');
|
||||
};
|
||||
var getCssGroups = function (editor) {
|
||||
return editor.getParam('importcss_groups');
|
||||
};
|
||||
var shouldAppend = function (editor) {
|
||||
return editor.getParam('importcss_append');
|
||||
};
|
||||
var getFileFilter = function (editor) {
|
||||
return editor.getParam('importcss_file_filter');
|
||||
};
|
||||
var Settings = {
|
||||
shouldMergeClasses: shouldMergeClasses,
|
||||
shouldImportExclusive: shouldImportExclusive,
|
||||
getSelectorConverter: getSelectorConverter,
|
||||
getSelectorFilter: getSelectorFilter,
|
||||
getCssGroups: getCssGroups,
|
||||
shouldAppend: shouldAppend,
|
||||
getFileFilter: getFileFilter
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.importcss.Plugin","tinymce.core.EditorManager","tinymce.core.dom.DOMUtils","tinymce.core.Env","tinymce.core.PluginManager","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.EditorManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.EditorManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.dom.DOMUtils',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.dom.DOMUtils');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.Env',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.Env');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.util.Tools',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.util.Tools');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the importcss plugin.
|
||||
*
|
||||
* @class tinymce.importcss.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.importcss.Plugin',
|
||||
[
|
||||
'tinymce.core.EditorManager',
|
||||
'tinymce.core.dom.DOMUtils',
|
||||
'tinymce.core.Env',
|
||||
'tinymce.core.PluginManager',
|
||||
'tinymce.core.util.Tools'
|
||||
],
|
||||
function (EditorManager, DOMUtils, Env, PluginManager, Tools) {
|
||||
PluginManager.add('importcss', function (editor) {
|
||||
var self = this, each = Tools.each;
|
||||
|
||||
function removeCacheSuffix(url) {
|
||||
var cacheSuffix = Env.cacheSuffix;
|
||||
|
||||
if (typeof url == 'string') {
|
||||
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
|
||||
}
|
||||
|
||||
return url;
|
||||
var removeCacheSuffix = function (url) {
|
||||
var cacheSuffix = global$3.cacheSuffix;
|
||||
if (typeof url === 'string') {
|
||||
url = url.replace('?' + cacheSuffix, '').replace('&' + cacheSuffix, '');
|
||||
}
|
||||
|
||||
function isSkinContentCss(href) {
|
||||
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
|
||||
|
||||
if (skin) {
|
||||
var skinUrl = settings.skin_url;
|
||||
|
||||
if (skinUrl) {
|
||||
skinUrl = editor.documentBaseURI.toAbsolute(skinUrl);
|
||||
} else {
|
||||
skinUrl = EditorManager.baseURL + '/skins/' + skin;
|
||||
}
|
||||
|
||||
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
|
||||
}
|
||||
|
||||
return false;
|
||||
return url;
|
||||
};
|
||||
var isSkinContentCss = function (editor, href) {
|
||||
var settings = editor.settings, skin = settings.skin !== false ? settings.skin || 'lightgray' : false;
|
||||
if (skin) {
|
||||
var skinUrl = settings.skin_url ? editor.documentBaseURI.toAbsolute(settings.skin_url) : global$2.baseURL + '/skins/' + skin;
|
||||
return href === skinUrl + '/content' + (editor.inline ? '.inline' : '') + '.min.css';
|
||||
}
|
||||
|
||||
function compileFilter(filter) {
|
||||
if (typeof filter == "string") {
|
||||
return function (value) {
|
||||
return value.indexOf(filter) !== -1;
|
||||
};
|
||||
} else if (filter instanceof RegExp) {
|
||||
return function (value) {
|
||||
return filter.test(value);
|
||||
};
|
||||
}
|
||||
|
||||
return filter;
|
||||
return false;
|
||||
};
|
||||
var compileFilter = function (filter) {
|
||||
if (typeof filter === 'string') {
|
||||
return function (value) {
|
||||
return value.indexOf(filter) !== -1;
|
||||
};
|
||||
} else if (filter instanceof RegExp) {
|
||||
return function (value) {
|
||||
return filter.test(value);
|
||||
};
|
||||
}
|
||||
|
||||
function getSelectors(doc, fileFilter) {
|
||||
var selectors = [], contentCSSUrls = {};
|
||||
|
||||
function append(styleSheet, imported) {
|
||||
var href = styleSheet.href, rules;
|
||||
|
||||
href = removeCacheSuffix(href);
|
||||
|
||||
if (!href || !fileFilter(href, imported) || isSkinContentCss(href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
each(styleSheet.imports, function (styleSheet) {
|
||||
append(styleSheet, true);
|
||||
});
|
||||
|
||||
try {
|
||||
rules = styleSheet.cssRules || styleSheet.rules;
|
||||
} catch (e) {
|
||||
// Firefox fails on rules to remote domain for example:
|
||||
// @import url(//fonts.googleapis.com/css?family=Pathway+Gothic+One);
|
||||
}
|
||||
|
||||
each(rules, function (cssRule) {
|
||||
if (cssRule.styleSheet) {
|
||||
append(cssRule.styleSheet, true);
|
||||
} else if (cssRule.selectorText) {
|
||||
each(cssRule.selectorText.split(','), function (selector) {
|
||||
selectors.push(Tools.trim(selector));
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
each(editor.contentCSS, function (url) {
|
||||
contentCSSUrls[url] = true;
|
||||
});
|
||||
|
||||
if (!fileFilter) {
|
||||
fileFilter = function (href, imported) {
|
||||
return imported || contentCSSUrls[href];
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
each(doc.styleSheets, function (styleSheet) {
|
||||
append(styleSheet);
|
||||
});
|
||||
} catch (e) {
|
||||
// Ignore
|
||||
}
|
||||
|
||||
return selectors;
|
||||
}
|
||||
|
||||
function defaultConvertSelectorToFormat(selectorText) {
|
||||
var format;
|
||||
|
||||
// Parse simple element.class1, .class1
|
||||
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
|
||||
if (!selector) {
|
||||
return filter;
|
||||
};
|
||||
var getSelectors = function (editor, doc, fileFilter) {
|
||||
var selectors = [], contentCSSUrls = {};
|
||||
function append(styleSheet, imported) {
|
||||
var href = styleSheet.href, rules;
|
||||
href = removeCacheSuffix(href);
|
||||
if (!href || !fileFilter(href, imported) || isSkinContentCss(editor, href)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var elementName = selector[1];
|
||||
var classes = selector[2].substr(1).split('.').join(' ');
|
||||
var inlineSelectorElements = Tools.makeMap('a,img');
|
||||
|
||||
// element.class - Produce block formats
|
||||
if (selector[1]) {
|
||||
format = {
|
||||
title: selectorText
|
||||
};
|
||||
|
||||
if (editor.schema.getTextBlockElements()[elementName]) {
|
||||
// Text block format ex: h1.class1
|
||||
format.block = elementName;
|
||||
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
|
||||
// Block elements such as table.class and special inline elements such as a.class or img.class
|
||||
format.selector = elementName;
|
||||
} else {
|
||||
// Inline format strong.class1
|
||||
format.inline = elementName;
|
||||
global$4.each(styleSheet.imports, function (styleSheet) {
|
||||
append(styleSheet, true);
|
||||
});
|
||||
try {
|
||||
rules = styleSheet.cssRules || styleSheet.rules;
|
||||
} catch (e) {
|
||||
}
|
||||
global$4.each(rules, function (cssRule) {
|
||||
if (cssRule.styleSheet) {
|
||||
append(cssRule.styleSheet, true);
|
||||
} else if (cssRule.selectorText) {
|
||||
global$4.each(cssRule.selectorText.split(','), function (selector) {
|
||||
selectors.push(global$4.trim(selector));
|
||||
});
|
||||
}
|
||||
} else if (selector[2]) {
|
||||
// .class - Produce inline span with classes
|
||||
format = {
|
||||
inline: 'span',
|
||||
title: selectorText.substr(1),
|
||||
classes: classes
|
||||
};
|
||||
}
|
||||
|
||||
// Append to or override class attribute
|
||||
if (editor.settings.importcss_merge_classes !== false) {
|
||||
format.classes = classes;
|
||||
} else {
|
||||
format.attributes = { "class": classes };
|
||||
}
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
function getGroupsBySelector(groups, selector) {
|
||||
return Tools.grep(groups, function (group) {
|
||||
return !group.filter || group.filter(selector);
|
||||
});
|
||||
}
|
||||
|
||||
function compileUserDefinedGroups(groups) {
|
||||
return Tools.map(groups, function (group) {
|
||||
return Tools.extend({}, group, {
|
||||
original: group,
|
||||
selectors: {},
|
||||
filter: compileFilter(group.filter),
|
||||
item: {
|
||||
text: group.title,
|
||||
menu: []
|
||||
}
|
||||
});
|
||||
global$4.each(editor.contentCSS, function (url) {
|
||||
contentCSSUrls[url] = true;
|
||||
});
|
||||
if (!fileFilter) {
|
||||
fileFilter = function (href, imported) {
|
||||
return imported || contentCSSUrls[href];
|
||||
};
|
||||
}
|
||||
try {
|
||||
global$4.each(doc.styleSheets, function (styleSheet) {
|
||||
append(styleSheet);
|
||||
});
|
||||
} catch (e) {
|
||||
}
|
||||
|
||||
function isExclusiveMode(editor, group) {
|
||||
// Exclusive mode can only be disabled when there are groups allowing the same style to be present in multiple groups
|
||||
return group === null || editor.settings.importcss_exclusive !== false;
|
||||
return selectors;
|
||||
};
|
||||
var defaultConvertSelectorToFormat = function (editor, selectorText) {
|
||||
var format;
|
||||
var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText);
|
||||
if (!selector) {
|
||||
return;
|
||||
}
|
||||
|
||||
function isUniqueSelector(selector, group, globallyUniqueSelectors) {
|
||||
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
|
||||
}
|
||||
|
||||
function markUniqueSelector(selector, group, globallyUniqueSelectors) {
|
||||
if (isExclusiveMode(editor, group)) {
|
||||
globallyUniqueSelectors[selector] = true;
|
||||
var elementName = selector[1];
|
||||
var classes = selector[2].substr(1).split('.').join(' ');
|
||||
var inlineSelectorElements = global$4.makeMap('a,img');
|
||||
if (selector[1]) {
|
||||
format = { title: selectorText };
|
||||
if (editor.schema.getTextBlockElements()[elementName]) {
|
||||
format.block = elementName;
|
||||
} else if (editor.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()]) {
|
||||
format.selector = elementName;
|
||||
} else {
|
||||
group.selectors[selector] = true;
|
||||
format.inline = elementName;
|
||||
}
|
||||
} else if (selector[2]) {
|
||||
format = {
|
||||
inline: 'span',
|
||||
title: selectorText.substr(1),
|
||||
classes: classes
|
||||
};
|
||||
}
|
||||
|
||||
function convertSelectorToFormat(plugin, selector, group) {
|
||||
var selectorConverter, settings = editor.settings;
|
||||
|
||||
if (group && group.selector_converter) {
|
||||
selectorConverter = group.selector_converter;
|
||||
} else if (settings.importcss_selector_converter) {
|
||||
selectorConverter = settings.importcss_selector_converter;
|
||||
} else {
|
||||
selectorConverter = defaultConvertSelectorToFormat;
|
||||
}
|
||||
|
||||
return selectorConverter.call(plugin, selector, group);
|
||||
if (Settings.shouldMergeClasses(editor) !== false) {
|
||||
format.classes = classes;
|
||||
} else {
|
||||
format.attributes = { class: classes };
|
||||
}
|
||||
|
||||
return format;
|
||||
};
|
||||
var getGroupsBySelector = function (groups, selector) {
|
||||
return global$4.grep(groups, function (group) {
|
||||
return !group.filter || group.filter(selector);
|
||||
});
|
||||
};
|
||||
var compileUserDefinedGroups = function (groups) {
|
||||
return global$4.map(groups, function (group) {
|
||||
return global$4.extend({}, group, {
|
||||
original: group,
|
||||
selectors: {},
|
||||
filter: compileFilter(group.filter),
|
||||
item: {
|
||||
text: group.title,
|
||||
menu: []
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
var isExclusiveMode = function (editor, group) {
|
||||
return group === null || Settings.shouldImportExclusive(editor) !== false;
|
||||
};
|
||||
var isUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
|
||||
return !(isExclusiveMode(editor, group) ? selector in globallyUniqueSelectors : selector in group.selectors);
|
||||
};
|
||||
var markUniqueSelector = function (editor, selector, group, globallyUniqueSelectors) {
|
||||
if (isExclusiveMode(editor, group)) {
|
||||
globallyUniqueSelectors[selector] = true;
|
||||
} else {
|
||||
group.selectors[selector] = true;
|
||||
}
|
||||
};
|
||||
var convertSelectorToFormat = function (editor, plugin, selector, group) {
|
||||
var selectorConverter;
|
||||
if (group && group.selector_converter) {
|
||||
selectorConverter = group.selector_converter;
|
||||
} else if (Settings.getSelectorConverter(editor)) {
|
||||
selectorConverter = Settings.getSelectorConverter(editor);
|
||||
} else {
|
||||
selectorConverter = function () {
|
||||
return defaultConvertSelectorToFormat(editor, selector);
|
||||
};
|
||||
}
|
||||
return selectorConverter.call(plugin, selector, group);
|
||||
};
|
||||
var setup = function (editor) {
|
||||
editor.on('renderFormatsMenu', function (e) {
|
||||
var settings = editor.settings, globallyUniqueSelectors = {};
|
||||
var selectorFilter = compileFilter(settings.importcss_selector_filter), ctrl = e.control;
|
||||
var groups = compileUserDefinedGroups(settings.importcss_groups);
|
||||
|
||||
var globallyUniqueSelectors = {};
|
||||
var selectorFilter = compileFilter(Settings.getSelectorFilter(editor)), ctrl = e.control;
|
||||
var groups = compileUserDefinedGroups(Settings.getCssGroups(editor));
|
||||
var processSelector = function (selector, group) {
|
||||
if (isUniqueSelector(selector, group, globallyUniqueSelectors)) {
|
||||
markUniqueSelector(selector, group, globallyUniqueSelectors);
|
||||
|
||||
var format = convertSelectorToFormat(self, selector, group);
|
||||
if (isUniqueSelector(editor, selector, group, globallyUniqueSelectors)) {
|
||||
markUniqueSelector(editor, selector, group, globallyUniqueSelectors);
|
||||
var format = convertSelectorToFormat(editor, editor.plugins.importcss, selector, group);
|
||||
if (format) {
|
||||
var formatName = format.name || DOMUtils.DOM.uniqueId();
|
||||
var formatName = format.name || global$1.DOM.uniqueId();
|
||||
editor.formatter.register(formatName, format);
|
||||
|
||||
return Tools.extend({}, ctrl.settings.itemDefaults, {
|
||||
return global$4.extend({}, ctrl.settings.itemDefaults, {
|
||||
text: format.title,
|
||||
format: formatName
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
if (!editor.settings.importcss_append) {
|
||||
if (!Settings.shouldAppend(editor)) {
|
||||
ctrl.items().remove();
|
||||
}
|
||||
|
||||
each(getSelectors(e.doc || editor.getDoc(), compileFilter(settings.importcss_file_filter)), function (selector) {
|
||||
global$4.each(getSelectors(editor, e.doc || editor.getDoc(), compileFilter(Settings.getFileFilter(editor))), function (selector) {
|
||||
if (selector.indexOf('.mce-') === -1) {
|
||||
if (!selectorFilter || selectorFilter(selector)) {
|
||||
var selectorGroups = getGroupsBySelector(groups, selector);
|
||||
|
||||
if (selectorGroups.length > 0) {
|
||||
Tools.each(selectorGroups, function (group) {
|
||||
global$4.each(selectorGroups, function (group) {
|
||||
var menuItem = processSelector(selector, group);
|
||||
if (menuItem) {
|
||||
group.item.menu.push(menuItem);
|
||||
|
|
@ -458,22 +230,35 @@ define(
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
each(groups, function (group) {
|
||||
global$4.each(groups, function (group) {
|
||||
if (group.item.menu.length > 0) {
|
||||
ctrl.add(group.item);
|
||||
}
|
||||
});
|
||||
|
||||
e.control.renderNew();
|
||||
});
|
||||
};
|
||||
var ImportCss = {
|
||||
defaultConvertSelectorToFormat: defaultConvertSelectorToFormat,
|
||||
setup: setup
|
||||
};
|
||||
|
||||
// Expose default convertSelectorToFormat implementation
|
||||
self.convertSelectorToFormat = defaultConvertSelectorToFormat;
|
||||
var get = function (editor) {
|
||||
var convertSelectorToFormat = function (selectorText) {
|
||||
return ImportCss.defaultConvertSelectorToFormat(editor, selectorText);
|
||||
};
|
||||
return { convertSelectorToFormat: convertSelectorToFormat };
|
||||
};
|
||||
var Api = { get: get };
|
||||
|
||||
global.add('importcss', function (editor) {
|
||||
ImportCss.setup(editor);
|
||||
return Api.get(editor);
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.importcss.Plugin')();
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("6",tinymce.util.Tools.resolve),g("1",["6"],function(a){return a("tinymce.EditorManager")}),g("2",["6"],function(a){return a("tinymce.dom.DOMUtils")}),g("3",["6"],function(a){return a("tinymce.Env")}),g("4",["6"],function(a){return a("tinymce.PluginManager")}),g("5",["6"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2","3","4","5"],function(a,b,c,d,e){return d.add("importcss",function(d){function f(a){var b=c.cacheSuffix;return"string"==typeof a&&(a=a.replace("?"+b,"").replace("&"+b,"")),a}function g(b){var c=d.settings,e=c.skin!==!1&&(c.skin||"lightgray");if(e){var f=c.skin_url;return f=f?d.documentBaseURI.toAbsolute(f):a.baseURL+"/skins/"+e,b===f+"/content"+(d.inline?".inline":"")+".min.css"}return!1}function h(a){return"string"==typeof a?function(b){return b.indexOf(a)!==-1}:a instanceof RegExp?function(b){return a.test(b)}:a}function i(a,b){function c(a,d){var i,j=a.href;if(j=f(j),j&&b(j,d)&&!g(j)){r(a.imports,function(a){c(a,!0)});try{i=a.cssRules||a.rules}catch(a){}r(i,function(a){a.styleSheet?c(a.styleSheet,!0):a.selectorText&&r(a.selectorText.split(","),function(a){h.push(e.trim(a))})})}}var h=[],i={};r(d.contentCSS,function(a){i[a]=!0}),b||(b=function(a,b){return b||i[a]});try{r(a.styleSheets,function(a){c(a)})}catch(a){}return h}function j(a){var b,c=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(a);if(c){var f=c[1],g=c[2].substr(1).split(".").join(" "),h=e.makeMap("a,img");return c[1]?(b={title:a},d.schema.getTextBlockElements()[f]?b.block=f:d.schema.getBlockElements()[f]||h[f.toLowerCase()]?b.selector=f:b.inline=f):c[2]&&(b={inline:"span",title:a.substr(1),classes:g}),d.settings.importcss_merge_classes!==!1?b.classes=g:b.attributes={"class":g},b}}function k(a,b){return e.grep(a,function(a){return!a.filter||a.filter(b)})}function l(a){return e.map(a,function(a){return e.extend({},a,{original:a,selectors:{},filter:h(a.filter),item:{text:a.title,menu:[]}})})}function m(a,b){return null===b||a.settings.importcss_exclusive!==!1}function n(a,b,c){return!(m(d,b)?a in c:a in b.selectors)}function o(a,b,c){m(d,b)?c[a]=!0:b.selectors[a]=!0}function p(a,b,c){var e,f=d.settings;return e=c&&c.selector_converter?c.selector_converter:f.importcss_selector_converter?f.importcss_selector_converter:j,e.call(a,b,c)}var q=this,r=e.each;d.on("renderFormatsMenu",function(a){var c=d.settings,f={},g=h(c.importcss_selector_filter),j=a.control,m=l(c.importcss_groups),s=function(a,c){if(n(a,c,f)){o(a,c,f);var g=p(q,a,c);if(g){var h=g.name||b.DOM.uniqueId();return d.formatter.register(h,g),e.extend({},j.settings.itemDefaults,{text:g.title,format:h})}}return null};d.settings.importcss_append||j.items().remove(),r(i(a.doc||d.getDoc(),h(c.importcss_file_filter)),function(a){if(a.indexOf(".mce-")===-1&&(!g||g(a))){var b=k(m,a);if(b.length>0)e.each(b,function(b){var c=s(a,b);c&&b.item.menu.push(c)});else{var c=s(a,null);c&&j.add(c)}}}),r(m,function(a){a.item.menu.length>0&&j.add(a.item)}),a.control.renderNew()}),q.convertSelectorToFormat=j}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),v=tinymce.util.Tools.resolve("tinymce.EditorManager"),h=tinymce.util.Tools.resolve("tinymce.Env"),y=tinymce.util.Tools.resolve("tinymce.util.Tools"),o=function(e){return e.getParam("importcss_merge_classes")},n=function(e){return e.getParam("importcss_exclusive")},_=function(e){return e.getParam("importcss_selector_converter")},r=function(e){return e.getParam("importcss_selector_filter")},i=function(e){return e.getParam("importcss_groups")},u=function(e){return e.getParam("importcss_append")},l=function(e){return e.getParam("importcss_file_filter")},a=function(t){return"string"==typeof t?function(e){return-1!==e.indexOf(t)}:t instanceof RegExp?function(e){return t.test(e)}:t},f=function(f,e,m){var g=[],n={};function p(e,t){var n,r,i,c=e.href;if(r=c,i=h.cacheSuffix,"string"==typeof r&&(r=r.replace("?"+i,"").replace("&"+i,"")),(c=r)&&m(c,t)&&(o=c,u=(s=f).settings,!(l=!1!==u.skin&&(u.skin||"lightgray"))||o!==(u.skin_url?s.documentBaseURI.toAbsolute(u.skin_url):v.baseURL+"/skins/"+l)+"/content"+(s.inline?".inline":"")+".min.css")){var s,o,u,l;y.each(e.imports,function(e){p(e,!0)});try{n=e.cssRules||e.rules}catch(a){}y.each(n,function(e){e.styleSheet?p(e.styleSheet,!0):e.selectorText&&y.each(e.selectorText.split(","),function(e){g.push(y.trim(e))})})}}y.each(f.contentCSS,function(e){n[e]=!0}),m||(m=function(e,t){return t||n[e]});try{y.each(e.styleSheets,function(e){p(e)})}catch(t){}return g},x=function(e,t){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(r){var i=r[1],c=r[2].substr(1).split(".").join(" "),s=y.makeMap("a,img");return r[1]?(n={title:t},e.schema.getTextBlockElements()[i]?n.block=i:e.schema.getBlockElements()[i]||s[i.toLowerCase()]?n.selector=i:n.inline=i):r[2]&&(n={inline:"span",title:t.substr(1),classes:c}),!1!==o(e)?n.classes=c:n.attributes={"class":c},n}},T=function(e,t){return null===t||!1!==n(e)},c=x,t=function(h){h.on("renderFormatsMenu",function(e){var t,p={},c=a(r(h)),v=e.control,s=(t=i(h),y.map(t,function(e){return y.extend({},e,{original:e,selectors:{},filter:a(e.filter),item:{text:e.title,menu:[]}})})),o=function(e,t){if(f=e,g=p,!(T(h,m=t)?f in g:f in m.selectors)){u=e,a=p,T(h,l=t)?a[u]=!0:l.selectors[u]=!0;var n=(c=(i=h).plugins.importcss,s=e,((o=t)&&o.selector_converter?o.selector_converter:_(i)?_(i):function(){return x(i,s)}).call(c,s,o));if(n){var r=n.name||d.DOM.uniqueId();return h.formatter.register(r,n),y.extend({},v.settings.itemDefaults,{text:n.title,format:r})}}var i,c,s,o,u,l,a,f,m,g;return null};u(h)||v.items().remove(),y.each(f(h,e.doc||h.getDoc(),a(l(h))),function(n){if(-1===n.indexOf(".mce-")&&(!c||c(n))){var e=(r=s,i=n,y.grep(r,function(e){return!e.filter||e.filter(i)}));if(0<e.length)y.each(e,function(e){var t=o(n,e);t&&e.item.menu.push(t)});else{var t=o(n,null);t&&v.add(t)}}var r,i}),y.each(s,function(e){0<e.item.menu.length&&v.add(e.item)}),e.control.renderNew()})},s=function(t){return{convertSelectorToFormat:function(e){return c(t,e)}}};e.add("importcss",function(e){return t(e),s(e)})}();
|
||||
|
|
@ -1,263 +1,173 @@
|
|||
(function () {
|
||||
var insertdatetime = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var Cell = function (initial) {
|
||||
var value = initial;
|
||||
var get = function () {
|
||||
return value;
|
||||
};
|
||||
var set = function (v) {
|
||||
value = v;
|
||||
};
|
||||
var clone = function () {
|
||||
return Cell(get());
|
||||
};
|
||||
return {
|
||||
get: get,
|
||||
set: set,
|
||||
clone: clone
|
||||
};
|
||||
};
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
var getDateFormat = function (editor) {
|
||||
return editor.getParam('insertdatetime_dateformat', editor.translate('%Y-%m-%d'));
|
||||
};
|
||||
var getTimeFormat = function (editor) {
|
||||
return editor.getParam('insertdatetime_timeformat', editor.translate('%H:%M:%S'));
|
||||
};
|
||||
var getFormats = function (editor) {
|
||||
return editor.getParam('insertdatetime_formats', [
|
||||
'%H:%M:%S',
|
||||
'%Y-%m-%d',
|
||||
'%I:%M:%S %p',
|
||||
'%D'
|
||||
]);
|
||||
};
|
||||
var getDefaultDateTime = function (editor) {
|
||||
var formats = getFormats(editor);
|
||||
return formats.length > 0 ? formats[0] : getTimeFormat(editor);
|
||||
};
|
||||
var shouldInsertTimeElement = function (editor) {
|
||||
return editor.getParam('insertdatetime_element', false);
|
||||
};
|
||||
var Settings = {
|
||||
getDateFormat: getDateFormat,
|
||||
getTimeFormat: getTimeFormat,
|
||||
getFormats: getFormats,
|
||||
getDefaultDateTime: getDefaultDateTime,
|
||||
shouldInsertTimeElement: shouldInsertTimeElement
|
||||
};
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.insertdatetime.Plugin","tinymce.core.PluginManager","tinymce.core.util.Tools","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.util.Tools',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.util.Tools');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the insertdatetime plugin.
|
||||
*
|
||||
* @class tinymce.insertdatetime.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.insertdatetime.Plugin',
|
||||
[
|
||||
'tinymce.core.PluginManager',
|
||||
'tinymce.core.util.Tools'
|
||||
],
|
||||
function (PluginManager, Tools) {
|
||||
PluginManager.add('insertdatetime', function (editor) {
|
||||
var daysShort = "Sun Mon Tue Wed Thu Fri Sat Sun".split(' ');
|
||||
var daysLong = "Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(' ');
|
||||
var monthsShort = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(' ');
|
||||
var monthsLong = "January February March April May June July August September October November December".split(' ');
|
||||
var menuItems = [], lastFormat, defaultButtonTimeFormat;
|
||||
|
||||
function getDateTime(fmt, date) {
|
||||
function addZeros(value, len) {
|
||||
value = "" + value;
|
||||
|
||||
if (value.length < len) {
|
||||
for (var i = 0; i < (len - value.length); i++) {
|
||||
value = "0" + value;
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' ');
|
||||
var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' ');
|
||||
var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' ');
|
||||
var monthsLong = 'January February March April May June July August September October November December'.split(' ');
|
||||
var addZeros = function (value, len) {
|
||||
value = '' + value;
|
||||
if (value.length < len) {
|
||||
for (var i = 0; i < len - value.length; i++) {
|
||||
value = '0' + value;
|
||||
}
|
||||
|
||||
date = date || new Date();
|
||||
|
||||
fmt = fmt.replace("%D", "%m/%d/%Y");
|
||||
fmt = fmt.replace("%r", "%I:%M:%S %p");
|
||||
fmt = fmt.replace("%Y", "" + date.getFullYear());
|
||||
fmt = fmt.replace("%y", "" + date.getYear());
|
||||
fmt = fmt.replace("%m", addZeros(date.getMonth() + 1, 2));
|
||||
fmt = fmt.replace("%d", addZeros(date.getDate(), 2));
|
||||
fmt = fmt.replace("%H", "" + addZeros(date.getHours(), 2));
|
||||
fmt = fmt.replace("%M", "" + addZeros(date.getMinutes(), 2));
|
||||
fmt = fmt.replace("%S", "" + addZeros(date.getSeconds(), 2));
|
||||
fmt = fmt.replace("%I", "" + ((date.getHours() + 11) % 12 + 1));
|
||||
fmt = fmt.replace("%p", "" + (date.getHours() < 12 ? "AM" : "PM"));
|
||||
fmt = fmt.replace("%B", "" + editor.translate(monthsLong[date.getMonth()]));
|
||||
fmt = fmt.replace("%b", "" + editor.translate(monthsShort[date.getMonth()]));
|
||||
fmt = fmt.replace("%A", "" + editor.translate(daysLong[date.getDay()]));
|
||||
fmt = fmt.replace("%a", "" + editor.translate(daysShort[date.getDay()]));
|
||||
fmt = fmt.replace("%%", "%");
|
||||
|
||||
return fmt;
|
||||
}
|
||||
|
||||
function insertDateTime(format) {
|
||||
var html = getDateTime(format);
|
||||
|
||||
if (editor.settings.insertdatetime_element) {
|
||||
var computerTime;
|
||||
|
||||
if (/%[HMSIp]/.test(format)) {
|
||||
computerTime = getDateTime("%Y-%m-%dT%H:%M");
|
||||
} else {
|
||||
computerTime = getDateTime("%Y-%m-%d");
|
||||
}
|
||||
|
||||
html = '<time datetime="' + computerTime + '">' + html + '</time>';
|
||||
|
||||
var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');
|
||||
if (timeElm) {
|
||||
editor.dom.setOuterHTML(timeElm, html);
|
||||
return;
|
||||
}
|
||||
return value;
|
||||
};
|
||||
var getDateTime = function (editor, fmt, date) {
|
||||
date = date || new Date();
|
||||
fmt = fmt.replace('%D', '%m/%d/%Y');
|
||||
fmt = fmt.replace('%r', '%I:%M:%S %p');
|
||||
fmt = fmt.replace('%Y', '' + date.getFullYear());
|
||||
fmt = fmt.replace('%y', '' + date.getYear());
|
||||
fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2));
|
||||
fmt = fmt.replace('%d', addZeros(date.getDate(), 2));
|
||||
fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2));
|
||||
fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2));
|
||||
fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2));
|
||||
fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1));
|
||||
fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM'));
|
||||
fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()]));
|
||||
fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()]));
|
||||
fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()]));
|
||||
fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()]));
|
||||
fmt = fmt.replace('%%', '%');
|
||||
return fmt;
|
||||
};
|
||||
var updateElement = function (editor, timeElm, computerTime, userTime) {
|
||||
var newTimeElm = editor.dom.create('time', { datetime: computerTime }, userTime);
|
||||
timeElm.parentNode.insertBefore(newTimeElm, timeElm);
|
||||
editor.dom.remove(timeElm);
|
||||
editor.selection.select(newTimeElm, true);
|
||||
editor.selection.collapse(false);
|
||||
};
|
||||
var insertDateTime = function (editor, format) {
|
||||
if (Settings.shouldInsertTimeElement(editor)) {
|
||||
var userTime = getDateTime(editor, format);
|
||||
var computerTime = void 0;
|
||||
if (/%[HMSIp]/.test(format)) {
|
||||
computerTime = getDateTime(editor, '%Y-%m-%dT%H:%M');
|
||||
} else {
|
||||
computerTime = getDateTime(editor, '%Y-%m-%d');
|
||||
}
|
||||
|
||||
editor.insertContent(html);
|
||||
var timeElm = editor.dom.getParent(editor.selection.getStart(), 'time');
|
||||
if (timeElm) {
|
||||
updateElement(editor, timeElm, computerTime, userTime);
|
||||
} else {
|
||||
editor.insertContent('<time datetime="' + computerTime + '">' + userTime + '</time>');
|
||||
}
|
||||
} else {
|
||||
editor.insertContent(getDateTime(editor, format));
|
||||
}
|
||||
};
|
||||
var Actions = {
|
||||
insertDateTime: insertDateTime,
|
||||
getDateTime: getDateTime
|
||||
};
|
||||
|
||||
var register = function (editor) {
|
||||
editor.addCommand('mceInsertDate', function () {
|
||||
insertDateTime(editor.getParam("insertdatetime_dateformat", editor.translate("%Y-%m-%d")));
|
||||
Actions.insertDateTime(editor, Settings.getDateFormat(editor));
|
||||
});
|
||||
|
||||
editor.addCommand('mceInsertTime', function () {
|
||||
insertDateTime(editor.getParam("insertdatetime_timeformat", editor.translate('%H:%M:%S')));
|
||||
Actions.insertDateTime(editor, Settings.getTimeFormat(editor));
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
||||
|
||||
var createMenuItems = function (editor, lastFormatState) {
|
||||
var formats = Settings.getFormats(editor);
|
||||
return global$1.map(formats, function (fmt) {
|
||||
return {
|
||||
text: Actions.getDateTime(editor, fmt),
|
||||
onclick: function () {
|
||||
lastFormatState.set(fmt);
|
||||
Actions.insertDateTime(editor, fmt);
|
||||
}
|
||||
};
|
||||
});
|
||||
};
|
||||
var register$1 = function (editor, lastFormatState) {
|
||||
var menuItems = createMenuItems(editor, lastFormatState);
|
||||
editor.addButton('insertdatetime', {
|
||||
type: 'splitbutton',
|
||||
title: 'Insert date/time',
|
||||
menu: menuItems,
|
||||
onclick: function () {
|
||||
insertDateTime(lastFormat || defaultButtonTimeFormat);
|
||||
},
|
||||
menu: menuItems
|
||||
});
|
||||
|
||||
Tools.each(editor.settings.insertdatetime_formats || [
|
||||
"%H:%M:%S",
|
||||
"%Y-%m-%d",
|
||||
"%I:%M:%S %p",
|
||||
"%D"
|
||||
], function (fmt) {
|
||||
if (!defaultButtonTimeFormat) {
|
||||
defaultButtonTimeFormat = fmt;
|
||||
var lastFormat = lastFormatState.get();
|
||||
Actions.insertDateTime(editor, lastFormat ? lastFormat : Settings.getDefaultDateTime(editor));
|
||||
}
|
||||
|
||||
menuItems.push({
|
||||
text: getDateTime(fmt),
|
||||
onclick: function () {
|
||||
lastFormat = fmt;
|
||||
insertDateTime(fmt);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
editor.addMenuItem('insertdatetime', {
|
||||
icon: 'date',
|
||||
text: 'Date/time',
|
||||
menu: menuItems,
|
||||
context: 'insert'
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
global.add('insertdatetime', function (editor) {
|
||||
var lastFormatState = Cell(null);
|
||||
Commands.register(editor);
|
||||
Buttons.register(editor, lastFormatState);
|
||||
});
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.insertdatetime.Plugin')();
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("3",tinymce.util.Tools.resolve),g("1",["3"],function(a){return a("tinymce.PluginManager")}),g("2",["3"],function(a){return a("tinymce.util.Tools")}),g("0",["1","2"],function(a,b){return a.add("insertdatetime",function(a){function c(b,c){function d(a,b){if(a=""+a,a.length<b)for(var c=0;c<b-a.length;c++)a="0"+a;return a}return c=c||new Date,b=b.replace("%D","%m/%d/%Y"),b=b.replace("%r","%I:%M:%S %p"),b=b.replace("%Y",""+c.getFullYear()),b=b.replace("%y",""+c.getYear()),b=b.replace("%m",d(c.getMonth()+1,2)),b=b.replace("%d",d(c.getDate(),2)),b=b.replace("%H",""+d(c.getHours(),2)),b=b.replace("%M",""+d(c.getMinutes(),2)),b=b.replace("%S",""+d(c.getSeconds(),2)),b=b.replace("%I",""+((c.getHours()+11)%12+1)),b=b.replace("%p",""+(c.getHours()<12?"AM":"PM")),b=b.replace("%B",""+a.translate(j[c.getMonth()])),b=b.replace("%b",""+a.translate(i[c.getMonth()])),b=b.replace("%A",""+a.translate(h[c.getDay()])),b=b.replace("%a",""+a.translate(g[c.getDay()])),b=b.replace("%%","%")}function d(b){var d=c(b);if(a.settings.insertdatetime_element){var e;e=c(/%[HMSIp]/.test(b)?"%Y-%m-%dT%H:%M":"%Y-%m-%d"),d='<time datetime="'+e+'">'+d+"</time>";var f=a.dom.getParent(a.selection.getStart(),"time");if(f)return void a.dom.setOuterHTML(f,d)}a.insertContent(d)}var e,f,g="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),i="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),j="January February March April May June July August September October November December".split(" "),k=[];a.addCommand("mceInsertDate",function(){d(a.getParam("insertdatetime_dateformat",a.translate("%Y-%m-%d")))}),a.addCommand("mceInsertTime",function(){d(a.getParam("insertdatetime_timeformat",a.translate("%H:%M:%S")))}),a.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",onclick:function(){d(e||f)},menu:k}),b.each(a.settings.insertdatetime_formats||["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"],function(a){f||(f=a),k.push({text:c(a),onclick:function(){e=a,d(a)}})}),a.addMenuItem("insertdatetime",{icon:"date",text:"Date/time",menu:k,context:"insert"})}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var r=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return r(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return e.getParam("insertdatetime_timeformat",e.translate("%H:%M:%S"))},a=function(e){return e.getParam("insertdatetime_formats",["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"])},t=function(e){return e.getParam("insertdatetime_dateformat",e.translate("%Y-%m-%d"))},i=n,o=a,u=function(e){var t=a(e);return 0<t.length?t[0]:n(e)},m=function(e){return e.getParam("insertdatetime_element",!1)},c="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),l="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),d="January February March April May June July August September October November December".split(" "),p=function(e,t){if((e=""+e).length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e},f=function(e,t,n){return n=n||new Date,t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+n.getFullYear())).replace("%y",""+n.getYear())).replace("%m",p(n.getMonth()+1,2))).replace("%d",p(n.getDate(),2))).replace("%H",""+p(n.getHours(),2))).replace("%M",""+p(n.getMinutes(),2))).replace("%S",""+p(n.getSeconds(),2))).replace("%I",""+((n.getHours()+11)%12+1))).replace("%p",n.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(d[n.getMonth()]))).replace("%b",""+e.translate(s[n.getMonth()]))).replace("%A",""+e.translate(l[n.getDay()]))).replace("%a",""+e.translate(c[n.getDay()]))).replace("%%","%")},g=function(e,t){if(m(e)){var n=f(e,t),r=void 0;r=/%[HMSIp]/.test(t)?f(e,"%Y-%m-%dT%H:%M"):f(e,"%Y-%m-%d");var a=e.dom.getParent(e.selection.getStart(),"time");a?(o=a,u=r,c=n,l=(i=e).dom.create("time",{datetime:u},c),o.parentNode.insertBefore(l,o),i.dom.remove(o),i.selection.select(l,!0),i.selection.collapse(!1)):e.insertContent('<time datetime="'+r+'">'+n+"</time>")}else e.insertContent(f(e,t));var i,o,u,c,l},y=f,M=function(e){e.addCommand("mceInsertDate",function(){g(e,t(e))}),e.addCommand("mceInsertTime",function(){g(e,i(e))})},v=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(t,n){var r,a,e,i=(a=n,e=o(r=t),v.map(e,function(e){return{text:y(r,e),onclick:function(){a.set(e),g(r,e)}}}));t.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",menu:i,onclick:function(){var e=n.get();g(t,e||u(t))}}),t.addMenuItem("insertdatetime",{icon:"date",text:"Date/time",menu:i,context:"insert"})};e.add("insertdatetime",function(e){var t=r(null);M(e),S(e,t)})}();
|
||||
|
|
@ -1,182 +1,85 @@
|
|||
(function () {
|
||||
var nonbreaking = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.nonbreaking.Plugin","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the nonbreaking plugin.
|
||||
*
|
||||
* @class tinymce.nonbreaking.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.nonbreaking.Plugin',
|
||||
[
|
||||
'tinymce.core.PluginManager'
|
||||
],
|
||||
function (PluginManager) {
|
||||
PluginManager.add('nonbreaking', function (editor) {
|
||||
var setting = editor.getParam('nonbreaking_force_tab');
|
||||
var stringRepeat = function (string, repeats) {
|
||||
var str = '';
|
||||
for (var index = 0; index < repeats; index++) {
|
||||
str += string;
|
||||
}
|
||||
return str;
|
||||
};
|
||||
|
||||
var insertNbsp = function (times) {
|
||||
var nbsp = (editor.plugins.visualchars && editor.plugins.visualchars.state) ? '<span class="mce-nbsp"> </span>' : ' ';
|
||||
|
||||
editor.insertContent(stringRepeat(nbsp, times));
|
||||
editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
|
||||
};
|
||||
var stringRepeat = function (string, repeats) {
|
||||
var str = '';
|
||||
for (var index = 0; index < repeats; index++) {
|
||||
str += string;
|
||||
}
|
||||
return str;
|
||||
};
|
||||
var isVisualCharsEnabled = function (editor) {
|
||||
return editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false;
|
||||
};
|
||||
var insertNbsp = function (editor, times) {
|
||||
var nbsp = isVisualCharsEnabled(editor) ? '<span class="mce-nbsp"> </span>' : ' ';
|
||||
editor.insertContent(stringRepeat(nbsp, times));
|
||||
editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
|
||||
};
|
||||
var Actions = { insertNbsp: insertNbsp };
|
||||
|
||||
var register = function (editor) {
|
||||
editor.addCommand('mceNonBreaking', function () {
|
||||
insertNbsp(1);
|
||||
Actions.insertNbsp(editor, 1);
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK');
|
||||
|
||||
var getKeyboardSpaces = function (editor) {
|
||||
var spaces = editor.getParam('nonbreaking_force_tab', 0);
|
||||
if (typeof spaces === 'boolean') {
|
||||
return spaces === true ? 3 : 0;
|
||||
} else {
|
||||
return spaces;
|
||||
}
|
||||
};
|
||||
var Settings = { getKeyboardSpaces: getKeyboardSpaces };
|
||||
|
||||
var setup = function (editor) {
|
||||
var spaces = Settings.getKeyboardSpaces(editor);
|
||||
if (spaces > 0) {
|
||||
editor.on('keydown', function (e) {
|
||||
if (e.keyCode === global$1.TAB && !e.isDefaultPrevented()) {
|
||||
if (e.shiftKey) {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
Actions.insertNbsp(editor, spaces);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
var Keyboard = { setup: setup };
|
||||
|
||||
var register$1 = function (editor) {
|
||||
editor.addButton('nonbreaking', {
|
||||
title: 'Nonbreaking space',
|
||||
cmd: 'mceNonBreaking'
|
||||
});
|
||||
|
||||
editor.addMenuItem('nonbreaking', {
|
||||
icon: 'nonbreaking',
|
||||
text: 'Nonbreaking space',
|
||||
cmd: 'mceNonBreaking',
|
||||
context: 'insert'
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
if (setting) {
|
||||
var spaces = +setting > 1 ? +setting : 3; // defaults to 3 spaces if setting is true (or 1)
|
||||
|
||||
editor.on('keydown', function (e) {
|
||||
if (e.keyCode == 9) {
|
||||
|
||||
if (e.shiftKey) {
|
||||
return;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
insertNbsp(spaces);
|
||||
}
|
||||
});
|
||||
}
|
||||
global.add('nonbreaking', function (editor) {
|
||||
Commands.register(editor);
|
||||
Buttons.register(editor);
|
||||
Keyboard.setup(editor);
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.nonbreaking.Plugin')();
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("2",tinymce.util.Tools.resolve),g("1",["2"],function(a){return a("tinymce.PluginManager")}),g("0",["1"],function(a){return a.add("nonbreaking",function(a){var b=a.getParam("nonbreaking_force_tab"),c=function(a,b){for(var c="",d=0;d<b;d++)c+=a;return c},d=function(b){var d=a.plugins.visualchars&&a.plugins.visualchars.state?'<span class="mce-nbsp"> </span>':" ";a.insertContent(c(d,b)),a.dom.setAttrib(a.dom.select("span.mce-nbsp"),"data-mce-bogus","1")};if(a.addCommand("mceNonBreaking",function(){d(1)}),a.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),a.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),b){var e=+b>1?+b:3;a.on("keydown",function(a){if(9==a.keyCode){if(a.shiftKey)return;a.preventDefault(),d(e)}})}}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(n,e){var t,i=(t=n).plugins.visualchars&&t.plugins.visualchars.isEnabled()?'<span class="mce-nbsp"> </span>':" ";n.insertContent(function(n,e){for(var t="",i=0;i<e;i++)t+=n;return t}(i,e)),n.dom.setAttrib(n.dom.select("span.mce-nbsp"),"data-mce-bogus","1")},e=function(n){n.addCommand("mceNonBreaking",function(){i(n,1)})},o=tinymce.util.Tools.resolve("tinymce.util.VK"),a=function(n){var e=n.getParam("nonbreaking_force_tab",0);return"boolean"==typeof e?!0===e?3:0:e},t=function(e){var t=a(e);0<t&&e.on("keydown",function(n){if(n.keyCode===o.TAB&&!n.isDefaultPrevented()){if(n.shiftKey)return;n.preventDefault(),n.stopImmediatePropagation(),i(e,t)}})},r=function(n){n.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),n.addMenuItem("nonbreaking",{icon:"nonbreaking",text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"})};n.add("nonbreaking",function(n){e(n),r(n),t(n)})}();
|
||||
|
|
@ -1,154 +1,44 @@
|
|||
(function () {
|
||||
var print = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.print.Plugin","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the print plugin.
|
||||
*
|
||||
* @class tinymce.print.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.print.Plugin',
|
||||
[
|
||||
'tinymce.core.PluginManager'
|
||||
],
|
||||
function (PluginManager) {
|
||||
PluginManager.add('print', function (editor) {
|
||||
var register = function (editor) {
|
||||
editor.addCommand('mcePrint', function () {
|
||||
editor.getWin().print();
|
||||
if (global$1.ie && global$1.ie <= 11) {
|
||||
editor.getDoc().execCommand('print', false, null);
|
||||
} else {
|
||||
editor.getWin().print();
|
||||
}
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var register$1 = function (editor) {
|
||||
editor.addButton('print', {
|
||||
title: 'Print',
|
||||
cmd: 'mcePrint'
|
||||
});
|
||||
|
||||
editor.addShortcut('Meta+P', '', 'mcePrint');
|
||||
|
||||
editor.addMenuItem('print', {
|
||||
text: 'Print',
|
||||
cmd: 'mcePrint',
|
||||
icon: 'print',
|
||||
shortcut: 'Meta+P',
|
||||
context: 'file'
|
||||
icon: 'print'
|
||||
});
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.print.Plugin')();
|
||||
global.add('print', function (editor) {
|
||||
Commands.register(editor);
|
||||
Buttons.register(editor);
|
||||
editor.addShortcut('Meta+P', '', 'mcePrint');
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("2",tinymce.util.Tools.resolve),g("1",["2"],function(a){return a("tinymce.PluginManager")}),g("0",["1"],function(a){return a.add("print",function(a){a.addCommand("mcePrint",function(){a.getWin().print()}),a.addButton("print",{title:"Print",cmd:"mcePrint"}),a.addShortcut("Meta+P","","mcePrint"),a.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.Env"),i=function(t){t.addCommand("mcePrint",function(){n.ie&&n.ie<=11?t.getDoc().execCommand("print",!1,null):t.getWin().print()})},e=function(t){t.addButton("print",{title:"Print",cmd:"mcePrint"}),t.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print"})};t.add("print",function(t){i(t),e(t),t.addShortcut("Meta+P","","mcePrint")})}();
|
||||
|
|
@ -1,208 +1,135 @@
|
|||
(function () {
|
||||
var visualblocks = (function () {
|
||||
'use strict';
|
||||
|
||||
var defs = {}; // id -> {dependencies, definition, instance (possibly undefined)}
|
||||
var Cell = function (initial) {
|
||||
var value = initial;
|
||||
var get = function () {
|
||||
return value;
|
||||
};
|
||||
var set = function (v) {
|
||||
value = v;
|
||||
};
|
||||
var clone = function () {
|
||||
return Cell(get());
|
||||
};
|
||||
return {
|
||||
get: get,
|
||||
set: set,
|
||||
clone: clone
|
||||
};
|
||||
};
|
||||
|
||||
// Used when there is no 'main' module.
|
||||
// The name is probably (hopefully) unique so minification removes for releases.
|
||||
var register_3795 = function (id) {
|
||||
var module = dem(id);
|
||||
var fragments = id.split('.');
|
||||
var target = Function('return this;')();
|
||||
for (var i = 0; i < fragments.length - 1; ++i) {
|
||||
if (target[fragments[i]] === undefined)
|
||||
target[fragments[i]] = {};
|
||||
target = target[fragments[i]];
|
||||
}
|
||||
target[fragments[fragments.length - 1]] = module;
|
||||
};
|
||||
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
||||
|
||||
var instantiate = function (id) {
|
||||
var actual = defs[id];
|
||||
var dependencies = actual.deps;
|
||||
var definition = actual.defn;
|
||||
var len = dependencies.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances[i] = dem(dependencies[i]);
|
||||
var defResult = definition.apply(null, instances);
|
||||
if (defResult === undefined)
|
||||
throw 'module [' + id + '] returned undefined';
|
||||
actual.instance = defResult;
|
||||
};
|
||||
var fireVisualBlocks = function (editor, state) {
|
||||
editor.fire('VisualBlocks', { state: state });
|
||||
};
|
||||
var Events = { fireVisualBlocks: fireVisualBlocks };
|
||||
|
||||
var def = function (id, dependencies, definition) {
|
||||
if (typeof id !== 'string')
|
||||
throw 'module id must be a string';
|
||||
else if (dependencies === undefined)
|
||||
throw 'no dependencies for ' + id;
|
||||
else if (definition === undefined)
|
||||
throw 'no definition function for ' + id;
|
||||
defs[id] = {
|
||||
deps: dependencies,
|
||||
defn: definition,
|
||||
instance: undefined
|
||||
};
|
||||
};
|
||||
var isEnabledByDefault = function (editor) {
|
||||
return editor.getParam('visualblocks_default_state', false);
|
||||
};
|
||||
var getContentCss = function (editor) {
|
||||
return editor.settings.visualblocks_content_css;
|
||||
};
|
||||
var Settings = {
|
||||
isEnabledByDefault: isEnabledByDefault,
|
||||
getContentCss: getContentCss
|
||||
};
|
||||
|
||||
var dem = function (id) {
|
||||
var actual = defs[id];
|
||||
if (actual === undefined)
|
||||
throw 'module [' + id + '] was undefined';
|
||||
else if (actual.instance === undefined)
|
||||
instantiate(id);
|
||||
return actual.instance;
|
||||
};
|
||||
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
||||
|
||||
var req = function (ids, callback) {
|
||||
var len = ids.length;
|
||||
var instances = new Array(len);
|
||||
for (var i = 0; i < len; ++i)
|
||||
instances.push(dem(ids[i]));
|
||||
callback.apply(null, callback);
|
||||
};
|
||||
var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools');
|
||||
|
||||
var ephox = {};
|
||||
|
||||
ephox.bolt = {
|
||||
module: {
|
||||
api: {
|
||||
define: def,
|
||||
require: req,
|
||||
demand: dem
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var define = def;
|
||||
var require = req;
|
||||
var demand = dem;
|
||||
// this helps with minificiation when using a lot of global references
|
||||
var defineGlobal = function (id, ref) {
|
||||
define(id, [], function () { return ref; });
|
||||
};
|
||||
/*jsc
|
||||
["tinymce.plugins.visualblocks.Plugin","tinymce.core.PluginManager","global!tinymce.util.Tools.resolve"]
|
||||
jsc*/
|
||||
defineGlobal("global!tinymce.util.Tools.resolve", tinymce.util.Tools.resolve);
|
||||
/**
|
||||
* ResolveGlobal.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
define(
|
||||
'tinymce.core.PluginManager',
|
||||
[
|
||||
'global!tinymce.util.Tools.resolve'
|
||||
],
|
||||
function (resolve) {
|
||||
return resolve('tinymce.PluginManager');
|
||||
}
|
||||
);
|
||||
|
||||
/**
|
||||
* Plugin.js
|
||||
*
|
||||
* Released under LGPL License.
|
||||
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
||||
*
|
||||
* License: http://www.tinymce.com/license
|
||||
* Contributing: http://www.tinymce.com/contributing
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class contains all core logic for the code plugin.
|
||||
*
|
||||
* @class tinymce.visualblocks.Plugin
|
||||
* @private
|
||||
*/
|
||||
define(
|
||||
'tinymce.plugins.visualblocks.Plugin',
|
||||
[
|
||||
'tinymce.core.PluginManager'
|
||||
],
|
||||
function (PluginManager) {
|
||||
PluginManager.add('visualblocks', function (editor, url) {
|
||||
var cssId, visualBlocksMenuItem, enabled;
|
||||
|
||||
// We don't support older browsers like IE6/7 and they don't provide prototypes for DOM objects
|
||||
if (!window.NodeList) {
|
||||
return;
|
||||
}
|
||||
|
||||
function toggleActiveState() {
|
||||
var self = this;
|
||||
|
||||
self.active(enabled);
|
||||
|
||||
editor.on('VisualBlocks', function () {
|
||||
self.active(editor.dom.hasClass(editor.getBody(), 'mce-visualblocks'));
|
||||
});
|
||||
}
|
||||
|
||||
editor.addCommand('mceVisualBlocks', function () {
|
||||
var dom = editor.dom, linkElm;
|
||||
|
||||
if (!cssId) {
|
||||
cssId = dom.uniqueId();
|
||||
linkElm = dom.create('link', {
|
||||
id: cssId,
|
||||
rel: 'stylesheet',
|
||||
href: url + '/css/visualblocks.css'
|
||||
});
|
||||
|
||||
editor.getDoc().getElementsByTagName('head')[0].appendChild(linkElm);
|
||||
}
|
||||
|
||||
// Toggle on/off visual blocks while computing previews
|
||||
editor.on("PreviewFormats AfterPreviewFormats", function (e) {
|
||||
if (enabled) {
|
||||
dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type == "afterpreviewformats");
|
||||
}
|
||||
});
|
||||
|
||||
dom.toggleClass(editor.getBody(), 'mce-visualblocks');
|
||||
enabled = editor.dom.hasClass(editor.getBody(), 'mce-visualblocks');
|
||||
|
||||
if (visualBlocksMenuItem) {
|
||||
visualBlocksMenuItem.active(dom.hasClass(editor.getBody(), 'mce-visualblocks'));
|
||||
}
|
||||
|
||||
editor.fire('VisualBlocks');
|
||||
var cssId = global$1.DOM.uniqueId();
|
||||
var load = function (doc, url) {
|
||||
var linkElements = global$2.toArray(doc.getElementsByTagName('link'));
|
||||
var matchingLinkElms = global$2.grep(linkElements, function (head) {
|
||||
return head.id === cssId;
|
||||
});
|
||||
if (matchingLinkElms.length === 0) {
|
||||
var linkElm = global$1.DOM.create('link', {
|
||||
id: cssId,
|
||||
rel: 'stylesheet',
|
||||
href: url
|
||||
});
|
||||
doc.getElementsByTagName('head')[0].appendChild(linkElm);
|
||||
}
|
||||
};
|
||||
var LoadCss = { load: load };
|
||||
|
||||
var toggleVisualBlocks = function (editor, pluginUrl, enabledState) {
|
||||
var dom = editor.dom;
|
||||
var contentCss = Settings.getContentCss(editor);
|
||||
LoadCss.load(editor.getDoc(), contentCss ? contentCss : pluginUrl + '/css/visualblocks.css');
|
||||
dom.toggleClass(editor.getBody(), 'mce-visualblocks');
|
||||
enabledState.set(!enabledState.get());
|
||||
Events.fireVisualBlocks(editor, enabledState.get());
|
||||
};
|
||||
var VisualBlocks = { toggleVisualBlocks: toggleVisualBlocks };
|
||||
|
||||
var register = function (editor, pluginUrl, enabledState) {
|
||||
editor.addCommand('mceVisualBlocks', function () {
|
||||
VisualBlocks.toggleVisualBlocks(editor, pluginUrl, enabledState);
|
||||
});
|
||||
};
|
||||
var Commands = { register: register };
|
||||
|
||||
var setup = function (editor, pluginUrl, enabledState) {
|
||||
editor.on('PreviewFormats AfterPreviewFormats', function (e) {
|
||||
if (enabledState.get()) {
|
||||
editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats');
|
||||
}
|
||||
});
|
||||
editor.on('init', function () {
|
||||
if (Settings.isEnabledByDefault(editor)) {
|
||||
VisualBlocks.toggleVisualBlocks(editor, pluginUrl, enabledState);
|
||||
}
|
||||
});
|
||||
editor.on('remove', function () {
|
||||
editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
|
||||
});
|
||||
};
|
||||
var Bindings = { setup: setup };
|
||||
|
||||
var toggleActiveState = function (editor, enabledState) {
|
||||
return function (e) {
|
||||
var ctrl = e.control;
|
||||
ctrl.active(enabledState.get());
|
||||
editor.on('VisualBlocks', function (e) {
|
||||
ctrl.active(e.state);
|
||||
});
|
||||
};
|
||||
};
|
||||
var register$1 = function (editor, enabledState) {
|
||||
editor.addButton('visualblocks', {
|
||||
active: false,
|
||||
title: 'Show blocks',
|
||||
cmd: 'mceVisualBlocks',
|
||||
onPostRender: toggleActiveState
|
||||
onPostRender: toggleActiveState(editor, enabledState)
|
||||
});
|
||||
|
||||
editor.addMenuItem('visualblocks', {
|
||||
text: 'Show blocks',
|
||||
cmd: 'mceVisualBlocks',
|
||||
onPostRender: toggleActiveState,
|
||||
onPostRender: toggleActiveState(editor, enabledState),
|
||||
selectable: true,
|
||||
context: 'view',
|
||||
prependToContext: true
|
||||
});
|
||||
};
|
||||
var Buttons = { register: register$1 };
|
||||
|
||||
editor.on('init', function () {
|
||||
if (editor.settings.visualblocks_default_state) {
|
||||
editor.execCommand('mceVisualBlocks', false, null, { skip_focus: true });
|
||||
}
|
||||
});
|
||||
|
||||
editor.on('remove', function () {
|
||||
editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
|
||||
});
|
||||
global.add('visualblocks', function (editor, pluginUrl) {
|
||||
var enabledState = Cell(false);
|
||||
Commands.register(editor, pluginUrl, enabledState);
|
||||
Buttons.register(editor, enabledState);
|
||||
Bindings.setup(editor, pluginUrl, enabledState);
|
||||
});
|
||||
function Plugin () {
|
||||
}
|
||||
|
||||
return function () { };
|
||||
}
|
||||
);
|
||||
dem('tinymce.plugins.visualblocks.Plugin')();
|
||||
return Plugin;
|
||||
|
||||
}());
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i<g;++i)h[i]=d(e[i]);var j=f.apply(null,h);if(void 0===j)throw"module ["+b+"] returned undefined";c.instance=j},c=function(b,c,d){if("string"!=typeof b)throw"module id must be a string";if(void 0===c)throw"no dependencies for "+b;if(void 0===d)throw"no definition function for "+b;a[b]={deps:c,defn:d,instance:void 0}},d=function(c){var d=a[c];if(void 0===d)throw"module ["+c+"] was undefined";return void 0===d.instance&&b(c),d.instance},e=function(a,b){for(var c=a.length,e=new Array(c),f=0;f<c;++f)e.push(d(a[f]));b.apply(null,b)},f={};f.bolt={module:{api:{define:c,require:e,demand:d}}};var g=c,h=function(a,b){g(a,[],function(){return b})};h("2",tinymce.util.Tools.resolve),g("1",["2"],function(a){return a("tinymce.PluginManager")}),g("0",["1"],function(a){return a.add("visualblocks",function(a,b){function c(){var b=this;b.active(f),a.on("VisualBlocks",function(){b.active(a.dom.hasClass(a.getBody(),"mce-visualblocks"))})}var d,e,f;window.NodeList&&(a.addCommand("mceVisualBlocks",function(){var c,g=a.dom;d||(d=g.uniqueId(),c=g.create("link",{id:d,rel:"stylesheet",href:b+"/css/visualblocks.css"}),a.getDoc().getElementsByTagName("head")[0].appendChild(c)),a.on("PreviewFormats AfterPreviewFormats",function(b){f&&g.toggleClass(a.getBody(),"mce-visualblocks","afterpreviewformats"==b.type)}),g.toggleClass(a.getBody(),"mce-visualblocks"),f=a.dom.hasClass(a.getBody(),"mce-visualblocks"),e&&e.active(g.hasClass(a.getBody(),"mce-visualblocks")),a.fire("VisualBlocks")}),a.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:c}),a.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:c,selectable:!0,context:"view",prependToContext:!0}),a.on("init",function(){a.settings.visualblocks_default_state&&a.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),a.on("remove",function(){a.dom.removeClass(a.getBody(),"mce-visualblocks")}))}),function(){}}),d("0")()}();
|
||||
!function(){"use strict";var o=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return o(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){e.fire("VisualBlocks",{state:t})},s=function(e){return e.getParam("visualblocks_default_state",!1)},c=function(e){return e.settings.visualblocks_content_css},l=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=l.DOM.uniqueId(),r=function(e,t){var n=u.toArray(e.getElementsByTagName("link"));if(0===u.grep(n,function(e){return e.id===a}).length){var o=l.DOM.create("link",{id:a,rel:"stylesheet",href:t});e.getElementsByTagName("head")[0].appendChild(o)}},m=function(e,t,n){var o=e.dom,s=c(e);r(e.getDoc(),s||t+"/css/visualblocks.css"),o.toggleClass(e.getBody(),"mce-visualblocks"),n.set(!n.get()),i(e,n.get())},f=function(e,t,n){e.addCommand("mceVisualBlocks",function(){m(e,t,n)})},d=function(t,e,n){t.on("PreviewFormats AfterPreviewFormats",function(e){n.get()&&t.dom.toggleClass(t.getBody(),"mce-visualblocks","afterpreviewformats"===e.type)}),t.on("init",function(){s(t)&&m(t,e,n)}),t.on("remove",function(){t.dom.removeClass(t.getBody(),"mce-visualblocks")})},n=function(n,o){return function(e){var t=e.control;t.active(o.get()),n.on("VisualBlocks",function(e){t.active(e.state)})}},v=function(e,t){e.addButton("visualblocks",{active:!1,title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n(e,t)}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n(e,t),selectable:!0,context:"view",prependToContext:!0})};e.add("visualblocks",function(e,t){var n=o(!1);f(e,t,n),v(e,n),d(e,t,n)})}();
|
||||
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* This file is part of the TinyMCE Advanced WordPress plugin and is released under the same license.
|
||||
* For more information please see tinymce-advanced.php.
|
||||
*
|
||||
* Copyright (c) 2007-2016 Andrew Ozz. All rights reserved.
|
||||
* Additional functionality for TinyMCE.
|
||||
* @package advanced-editor-tools
|
||||
*/
|
||||
|
||||
( function( tinymce ) {
|
||||
tinymce.PluginManager.add( 'wptadv', function( editor ) {
|
||||
var noAutop = ( ! editor.settings.wpautop && editor.settings.tadv_noautop );
|
||||
|
|
@ -63,14 +62,168 @@
|
|||
});
|
||||
});
|
||||
|
||||
editor.on( 'ObjectResizeStart', function( event ) {
|
||||
var element = event.target;
|
||||
var table = editor.$( element );
|
||||
var parentWidth;
|
||||
var tableWidth;
|
||||
var width;
|
||||
|
||||
if ( table.is( 'table' ) ) {
|
||||
if ( element.style.width && element.style.width.indexOf( '%' ) !== -1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
parentWidth = parseInt( table.parent().css( 'width' ), 10 );
|
||||
tableWidth = parseInt( event.width, 10 );
|
||||
|
||||
if ( parentWidth && tableWidth ) {
|
||||
if ( Math.abs( parentWidth - tableWidth ) < 3 ) {
|
||||
table.css({ width: '100%' });
|
||||
} else {
|
||||
width = Math.round( ( tableWidth / parentWidth ) * 100 );
|
||||
|
||||
if ( width > 10 && width < 200 ) {
|
||||
table.css({ width: width + '%' });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, true );
|
||||
|
||||
editor.addMenuItem( 'tmaresettablesize', {
|
||||
text: 'Reset table size',
|
||||
cmd: 'tmaResetTableSize',
|
||||
icon: 'dashicon dashicons-image-flip-horizontal',
|
||||
context: 'format',
|
||||
});
|
||||
|
||||
editor.addMenuItem( 'tmaremovetablestyles', {
|
||||
text: 'Remove table styling',
|
||||
cmd: 'tmaRemoveTableStyles',
|
||||
icon: 'dashicon dashicons-editor-table',
|
||||
context: 'format',
|
||||
});
|
||||
|
||||
editor.addButton( 'tmaresettablesize', {
|
||||
title: 'Reset table size',
|
||||
cmd: 'tmaResetTableSize',
|
||||
icon: 'dashicon dashicons-image-flip-horizontal',
|
||||
} );
|
||||
|
||||
editor.addButton( 'tmaremovetablestyles', {
|
||||
title: 'Remove table styling',
|
||||
cmd: 'tmaRemoveTableStyles',
|
||||
icon: 'dashicon dashicons-editor-table',
|
||||
} );
|
||||
|
||||
editor.addCommand( 'tmaRemoveTableStyles', function() {
|
||||
var node = editor.selection.getStart();
|
||||
var table = editor.dom.getParents( node, 'table' );
|
||||
var attr = {
|
||||
style: null,
|
||||
'data-mce-style': null,
|
||||
width: null,
|
||||
height: null,
|
||||
minWidth: null,
|
||||
maxWidth: null,
|
||||
minHeight: null,
|
||||
maxHeight: null,
|
||||
align: null,
|
||||
valign: null,
|
||||
axis: null,
|
||||
'char': null,
|
||||
charoff: null,
|
||||
bgcolor: null,
|
||||
border: null,
|
||||
cellspacing: null,
|
||||
cellpadding: null
|
||||
};
|
||||
|
||||
if ( table ) {
|
||||
editor.$( table ).attr( attr ).find( 'tr, th, td, thead, tbody, tfoot' ).each( function( i, element ) {
|
||||
editor.$( element ).attr( attr );
|
||||
} );
|
||||
}
|
||||
} );
|
||||
|
||||
editor.addCommand( 'tmaResetTableSize', function() {
|
||||
var node = editor.selection.getStart();
|
||||
var table = editor.dom.getParents( node, 'table' );
|
||||
|
||||
if ( table ) {
|
||||
removeInlineSizes( null, table );
|
||||
|
||||
editor.$( table ).find( 'tr, th, td, thead, tbody, tfoot' ).each( removeInlineSizes );
|
||||
}
|
||||
} );
|
||||
|
||||
function removeInlineSizes( i, node ) {
|
||||
var element = editor.$( node );
|
||||
|
||||
element.attr( {
|
||||
width: null,
|
||||
height: null,
|
||||
minWidth: null,
|
||||
maxWidth: null,
|
||||
minHeight: null,
|
||||
maxHeight: null
|
||||
} );
|
||||
|
||||
element.css({ width: null, height: null });
|
||||
|
||||
if ( element.is( 'table' ) ) {
|
||||
element.css({ 'border-collapse': 'collapse', width: '100%;' });
|
||||
}
|
||||
|
||||
if ( ! element.attr( 'style' ) ) {
|
||||
element.attr({ style: null, 'data-mce-style': null });
|
||||
} else {
|
||||
element.attr( 'data-mce-style', element.attr( 'style' ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( noAutop ) {
|
||||
editor.on( 'beforeSetContent', function( event ) {
|
||||
var autop = typeof window.wp !== 'undefined' && window.wp.editor && window.wp.editor.autop;
|
||||
var autop;
|
||||
var wp = window.wp;
|
||||
|
||||
if ( ! wp ) {
|
||||
return;
|
||||
}
|
||||
|
||||
autop = wp.editor && wp.editor.autop;
|
||||
|
||||
if ( ! autop ) {
|
||||
autop = wp.oldEditor && wp.oldEditor.autop;
|
||||
}
|
||||
|
||||
if ( event.load && autop && event.content && event.content.indexOf( '\n' ) > -1 && ! /<p>/i.test( event.content ) ) {
|
||||
event.content = autop( event.content );
|
||||
}
|
||||
}, true );
|
||||
|
||||
if ( editor.settings.classic_block_editor ) {
|
||||
editor.on( 'beforeGetContent', function( event ) {
|
||||
if ( event.format === 'raw' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var blocks = tinymce.$( '.block-editor-block-list__block' );
|
||||
|
||||
if ( blocks.length === 1 && blocks.attr( 'data-type' ) === 'core/freeform' ) {
|
||||
// Mark all paragraph tags inside a single freeform block so they are not stripped by the block editor...
|
||||
editor.$( 'p' ).each( function ( i, node ) {
|
||||
if ( ! node.hasAttributes() ) {
|
||||
editor.$( node ).attr( 'data-tadv-p', 'keep' );
|
||||
}
|
||||
} );
|
||||
} else {
|
||||
// Remove the above ugliness...
|
||||
editor.$( 'p[data-tadv-p]' ).removeAttr( 'data-tadv-p' );
|
||||
}
|
||||
}, true );
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1 +1,233 @@
|
|||
!function(a){a.PluginManager.add("wptadv",function(b){function c(b){var c="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary";return b=b.replace(new RegExp("<(?:"+c+")(?: [^>]*)?>","gi"),"\n$&"),b=b.replace(new RegExp("</(?:"+c+")>","gi"),"$&\n"),b=b.replace(/(<br(?: [^>]*)?>)[\r\n\t]*/gi,"$1\n"),b=b.replace(/>\n[\r\n\t]+</g,">\n<"),b=b.replace(/^<li/gm," <li"),b=b.replace(/<td>\u00a0<\/td>/g,"<td> </td>"),a.trim(b)}var d=b.settings.tadv_oembed_regex||[new RegExp("https?://(www\\.)?youtube\\.com/(watch|playlist).*","i"),new RegExp("https?://youtu.be/.*","i"),new RegExp("https?://blip.tv/.*","i"),new RegExp("https?://(www\\.)?vimeo\\.com/.*","i"),new RegExp("https?://(www\\.)?dailymotion\\.com/.*","i"),new RegExp("https?://dai.ly/.*","i"),new RegExp("https?://(www\\.)?flickr\\.com/.*","i"),new RegExp("https?://flic.kr/.*","i"),new RegExp("https?://(.+\\.)?smugmug\\.com/.*","i"),new RegExp("https?://(www\\.)?hulu\\.com/watch/.*","i"),new RegExp("https?://(www\\.)?viddler\\.com/.*","i"),new RegExp("https?://qik.com/.*","i"),new RegExp("https?://revision3.com/.*","i"),new RegExp("https?://i*.photobucket.com/albums/.*","i"),new RegExp("https?://gi*.photobucket.com/groups/.*","i"),new RegExp("https?://(www\\.)?scribd\\.com/.*","i"),new RegExp("https?://wordpress.tv/.*","i"),new RegExp("https?://(.+\\.)?polldaddy\\.com/.*","i"),new RegExp("https?://poll\\.fm/.*","i"),new RegExp("https?://(www\\.)?funnyordie\\.com/videos/.*","i"),new RegExp("https?://(www\\.)?twitter\\.com/.+?/status(es)?/.*","i"),new RegExp("https?://vine\\.co/v/.*","i"),new RegExp("https?://(www\\.)?soundcloud\\.com/.*","i"),new RegExp("https?://(www\\.)?slideshare\\.net/.*","i"),new RegExp("https?://instagr(\\.am|am\\.com)/p/.*","i"),new RegExp("https?://(www\\.)?rdio\\.com/.*","i"),new RegExp("https?://rd\\.io/x/.*","i"),new RegExp("https?://(open|play)\\.spotify\\.com/.*","i"),new RegExp("https?://(.+\\.)?imgur\\.com/.*","i"),new RegExp("https?://(www\\.)?meetu(\\.ps|p\\.com)/.*","i"),new RegExp("https?://(www\\.)?issuu\\.com/.+/docs/.*","i"),new RegExp("https?://(www\\.)?collegehumor\\.com/video/.*","i"),new RegExp("https?://(www\\.)?mixcloud\\.com/.*","i"),new RegExp("https?://(www\\.|embed\\.)?ted\\.com/talks/.*","i"),new RegExp("https?://(www\\.)(animoto|video214)\\.com/play/.*","i"),new RegExp("https?://(.+).tumblr.com/post/.*","i"),new RegExp("https?://(www.)?kickstarter.com/projects/.*","i"),new RegExp("https?://kck.st/.*","i")],e=!b.settings.wpautop&&b.settings.tadv_noautop;return b.on("init",function(){e&&b.on("SaveContent",function(a){b.settings.tadv_noautop2&&(a.content=a.content.replace(/<p>\s*(https?:\/\/[^<>\s]+)\s*<\/p>/gi,function(a,b){for(var c in d)if(d[c].test(b))return b+"\n\n";return a})),a.content=a.content.replace(/caption\](\s|<br[^>]*>|<p> <\/p>)*\[caption/g,"caption] [caption"),a.content=a.content.replace(/<(object|audio|video)[\s\S]+?<\/\1>/g,function(a){return a.replace(/[\r\n\t ]+/g," ")}),a.content=a.content.replace(/<pre( [^>]*)?>[\s\S]+?<\/pre>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"\n"),a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"\n")}),a.content=c(a.content)});try{b.plugins.searchreplace&&!b.controlManager.buttons.searchreplace&&b.shortcuts.remove("meta+f")}catch(a){}}),e&&b.on("beforeSetContent",function(a){var b="undefined"!=typeof window.wp&&window.wp.editor&&window.wp.editor.autop;a.load&&b&&a.content&&a.content.indexOf("\n")>-1&&!/<p>/i.test(a.content)&&(a.content=b(a.content))},!0),b.on("beforeGetContent",function(a){"raw"!==a.format&&b.$('img[id="__wp-temp-img-id"]').attr("id",null)}),{addLineBreaks:c}})}(window.tinymce);
|
||||
/**
|
||||
* Additional functionality for TinyMCE.
|
||||
* @package advanced-editor-tools
|
||||
*/
|
||||
|
||||
( function( tinymce ) {
|
||||
tinymce.PluginManager.add( 'wptadv', function( editor ) {
|
||||
var noAutop = ( ! editor.settings.wpautop && editor.settings.tadv_noautop );
|
||||
|
||||
function addLineBreaks( html ) {
|
||||
var blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre' +
|
||||
'|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section' +
|
||||
'|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary';
|
||||
|
||||
html = html.replace( new RegExp( '<(?:' + blocklist + ')(?: [^>]*)?>', 'gi' ), '\n$&' );
|
||||
html = html.replace( new RegExp( '</(?:' + blocklist + ')>', 'gi' ), '$&\n' );
|
||||
html = html.replace( /(<br(?: [^>]*)?>)[\r\n\t]*/gi, '$1\n' );
|
||||
html = html.replace( />\n[\r\n\t]+</g, '>\n<' );
|
||||
html = html.replace( /^<li/gm, '\t<li' );
|
||||
html = html.replace( /<td>\u00a0<\/td>/g, '<td> </td>' );
|
||||
|
||||
return tinymce.trim( html );
|
||||
}
|
||||
|
||||
editor.addCommand( 'Tadv_Mark', function() {
|
||||
editor.formatter.toggle('mark');
|
||||
});
|
||||
|
||||
editor.addButton( 'tadv_mark', {
|
||||
icon: 'backcolor',
|
||||
tooltip: 'Mark',
|
||||
cmd: 'Tadv_Mark',
|
||||
stateSelector: 'mark'
|
||||
});
|
||||
|
||||
editor.on( 'init', function() {
|
||||
if ( noAutop ) {
|
||||
editor.on( 'SaveContent', function( event ) {
|
||||
event.content = event.content.replace( /caption\](\s|<br[^>]*>|<p> <\/p>)*\[caption/g, 'caption] [caption' );
|
||||
|
||||
event.content = event.content.replace( /<(object|audio|video)[\s\S]+?<\/\1>/g, function( match ) {
|
||||
return match.replace( /[\r\n\t ]+/g, ' ' );
|
||||
});
|
||||
|
||||
event.content = event.content.replace( /<pre( [^>]*)?>[\s\S]+?<\/pre>/g, function( match ) {
|
||||
match = match.replace( /<br ?\/?>(\r\n|\n)?/g, '\n' );
|
||||
return match.replace( /<\/?p( [^>]*)?>(\r\n|\n)?/g, '\n' );
|
||||
});
|
||||
|
||||
event.content = addLineBreaks( event.content );
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
if ( editor.plugins.searchreplace && ! editor.controlManager.buttons.searchreplace ) {
|
||||
editor.shortcuts.remove( 'meta+f' );
|
||||
}
|
||||
} catch ( er ) {}
|
||||
|
||||
editor.formatter.register({
|
||||
mark: { inline: 'mark' }
|
||||
});
|
||||
});
|
||||
|
||||
editor.on( 'ObjectResizeStart', function( event ) {
|
||||
var element = event.target;
|
||||
var table = editor.$( element );
|
||||
var parentWidth;
|
||||
var tableWidth;
|
||||
var width;
|
||||
|
||||
if ( table.is( 'table' ) ) {
|
||||
if ( element.style.width && element.style.width.indexOf( '%' ) !== -1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
parentWidth = parseInt( table.parent().css( 'width' ), 10 );
|
||||
tableWidth = parseInt( event.width, 10 );
|
||||
|
||||
if ( parentWidth && tableWidth ) {
|
||||
if ( Math.abs( parentWidth - tableWidth ) < 3 ) {
|
||||
table.css({ width: '100%' });
|
||||
} else {
|
||||
width = Math.round( ( tableWidth / parentWidth ) * 100 );
|
||||
|
||||
if ( width > 10 && width < 200 ) {
|
||||
table.css({ width: width + '%' });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, true );
|
||||
|
||||
editor.addMenuItem( 'tmaresettablesize', {
|
||||
text: 'Reset table size',
|
||||
cmd: 'tmaResetTableSize',
|
||||
icon: 'dashicon dashicons-image-flip-horizontal',
|
||||
context: 'format',
|
||||
});
|
||||
|
||||
editor.addMenuItem( 'tmaremovetablestyles', {
|
||||
text: 'Remove table styling',
|
||||
cmd: 'tmaRemoveTableStyles',
|
||||
icon: 'dashicon dashicons-editor-table',
|
||||
context: 'format',
|
||||
});
|
||||
|
||||
editor.addButton( 'tmaresettablesize', {
|
||||
title: 'Reset table size',
|
||||
cmd: 'tmaResetTableSize',
|
||||
icon: 'dashicon dashicons-image-flip-horizontal',
|
||||
} );
|
||||
|
||||
editor.addButton( 'tmaremovetablestyles', {
|
||||
title: 'Remove table styling',
|
||||
cmd: 'tmaRemoveTableStyles',
|
||||
icon: 'dashicon dashicons-editor-table',
|
||||
} );
|
||||
|
||||
editor.addCommand( 'tmaRemoveTableStyles', function() {
|
||||
var node = editor.selection.getStart();
|
||||
var table = editor.dom.getParents( node, 'table' );
|
||||
var attr = {
|
||||
style: null,
|
||||
'data-mce-style': null,
|
||||
width: null,
|
||||
height: null,
|
||||
minWidth: null,
|
||||
maxWidth: null,
|
||||
minHeight: null,
|
||||
maxHeight: null,
|
||||
align: null,
|
||||
valign: null,
|
||||
axis: null,
|
||||
'char': null,
|
||||
charoff: null,
|
||||
bgcolor: null,
|
||||
border: null,
|
||||
cellspacing: null,
|
||||
cellpadding: null
|
||||
};
|
||||
|
||||
if ( table ) {
|
||||
editor.$( table ).attr( attr ).find( 'tr, th, td, thead, tbody, tfoot' ).each( function( i, element ) {
|
||||
editor.$( element ).attr( attr );
|
||||
} );
|
||||
}
|
||||
} );
|
||||
|
||||
editor.addCommand( 'tmaResetTableSize', function() {
|
||||
var node = editor.selection.getStart();
|
||||
var table = editor.dom.getParents( node, 'table' );
|
||||
|
||||
if ( table ) {
|
||||
removeInlineSizes( null, table );
|
||||
|
||||
editor.$( table ).find( 'tr, th, td, thead, tbody, tfoot' ).each( removeInlineSizes );
|
||||
}
|
||||
} );
|
||||
|
||||
function removeInlineSizes( i, node ) {
|
||||
var element = editor.$( node );
|
||||
|
||||
element.attr( {
|
||||
width: null,
|
||||
height: null,
|
||||
minWidth: null,
|
||||
maxWidth: null,
|
||||
minHeight: null,
|
||||
maxHeight: null
|
||||
} );
|
||||
|
||||
element.css({ width: null, height: null });
|
||||
|
||||
if ( element.is( 'table' ) ) {
|
||||
element.css({ 'border-collapse': 'collapse', width: '100%;' });
|
||||
}
|
||||
|
||||
if ( ! element.attr( 'style' ) ) {
|
||||
element.attr({ style: null, 'data-mce-style': null });
|
||||
} else {
|
||||
element.attr( 'data-mce-style', element.attr( 'style' ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( noAutop ) {
|
||||
editor.on( 'beforeSetContent', function( event ) {
|
||||
var autop;
|
||||
var wp = window.wp;
|
||||
|
||||
if ( ! wp ) {
|
||||
return;
|
||||
}
|
||||
|
||||
autop = wp.editor && wp.editor.autop;
|
||||
|
||||
if ( ! autop ) {
|
||||
autop = wp.oldEditor && wp.oldEditor.autop;
|
||||
}
|
||||
|
||||
if ( event.load && autop && event.content && event.content.indexOf( '\n' ) > -1 && ! /<p>/i.test( event.content ) ) {
|
||||
event.content = autop( event.content );
|
||||
}
|
||||
}, true );
|
||||
|
||||
if ( editor.settings.classic_block_editor ) {
|
||||
editor.on( 'beforeGetContent', function( event ) {
|
||||
if ( event.format === 'raw' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var blocks = tinymce.$( '.block-editor-block-list__block' );
|
||||
|
||||
if ( blocks.length === 1 && blocks.attr( 'data-type' ) === 'core/freeform' ) {
|
||||
// Mark all paragraph tags inside a single freeform block so they are not stripped by the block editor...
|
||||
editor.$( 'p' ).each( function ( i, node ) {
|
||||
if ( ! node.hasAttributes() ) {
|
||||
editor.$( node ).attr( 'data-tadv-p', 'keep' );
|
||||
}
|
||||
} );
|
||||
} else {
|
||||
// Remove the above ugliness...
|
||||
editor.$( 'p[data-tadv-p]' ).removeAttr( 'data-tadv-p' );
|
||||
}
|
||||
}, true );
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
addLineBreaks: addLineBreaks
|
||||
};
|
||||
});
|
||||
}( window.tinymce ));
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 625 B |
1005
wp-content/plugins/tinymce-advanced/plugin-assets/tadv.css
Normal file
249
wp-content/plugins/tinymce-advanced/plugin-assets/tadv.js
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
/**
|
||||
* Scripts for the settings screen in wp-admin.
|
||||
* @package advanced-editor-tools
|
||||
*/
|
||||
|
||||
jQuery( document ).ready( function( $ ) {
|
||||
var $importElement = $('#tadv-import');
|
||||
var $importError = $('#tadv-import-error');
|
||||
|
||||
function sortClassic() {
|
||||
var container = $('.container');
|
||||
|
||||
if ( container.sortable( 'instance' ) ) {
|
||||
container.sortable( 'destroy' );
|
||||
}
|
||||
|
||||
container.sortable({
|
||||
connectWith: '.container',
|
||||
items: '> li',
|
||||
cursor: 'move',
|
||||
stop: function( event, ui ) {
|
||||
var toolbar_id;
|
||||
|
||||
if ( ui && ( toolbar_id = ui.item.parent().attr('id') ) ) {
|
||||
ui.item.find('input.tadv-button').attr('name', toolbar_id + '[]');
|
||||
}
|
||||
},
|
||||
activate: function( event, ui ) {
|
||||
$(this).parent().addClass( 'highlighted' );
|
||||
},
|
||||
deactivate: function( event, ui ) {
|
||||
$(this).parent().removeClass( 'highlighted' );
|
||||
},
|
||||
revert: 300,
|
||||
opacity: 0.7,
|
||||
placeholder: 'tadv-placeholder',
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
}
|
||||
|
||||
function sortBlock() {
|
||||
var classicBlock = $( '.container-classic-block' );
|
||||
var block = $( '.container-block' );
|
||||
var blockToolbar = $( '#toolbar_block' );
|
||||
|
||||
if ( classicBlock.sortable( 'instance' ) ) {
|
||||
classicBlock.sortable( 'destroy' );
|
||||
}
|
||||
|
||||
if ( block.sortable( 'instance' ) ) {
|
||||
block.sortable( 'destroy' );
|
||||
}
|
||||
|
||||
if ( blockToolbar.sortable( 'instance' ) ) {
|
||||
blockToolbar.sortable( 'destroy' );
|
||||
}
|
||||
|
||||
classicBlock.sortable({
|
||||
connectWith: '.container-classic-block',
|
||||
items: '> li',
|
||||
cursor: 'move',
|
||||
stop: function( event, ui ) {
|
||||
var toolbar_id = ui.item.parent().attr( 'id' );
|
||||
resetItemName( toolbar_id, ui.item );
|
||||
},
|
||||
activate: function( event, ui ) {
|
||||
$(this).parent().addClass( 'highlighted' );
|
||||
},
|
||||
deactivate: function( event, ui ) {
|
||||
$(this).parent().removeClass( 'highlighted' );
|
||||
},
|
||||
revert: 300,
|
||||
opacity: 0.7,
|
||||
placeholder: 'tadv-placeholder',
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
|
||||
blockToolbar.sortable({
|
||||
connectWith: '.container-block',
|
||||
items: '> li',
|
||||
cursor: 'move',
|
||||
stop: function( event, ui ) {
|
||||
var toolbar_id = ui.item.parent().attr( 'id' );
|
||||
|
||||
resetItemName( toolbar_id, ui.item );
|
||||
sortBlockToolbar();
|
||||
},
|
||||
activate: function( event, ui ) {
|
||||
$(this).parent().addClass( 'highlighted' );
|
||||
},
|
||||
deactivate: function( event, ui ) {
|
||||
$(this).parent().removeClass( 'highlighted' );
|
||||
},
|
||||
revert: 300,
|
||||
opacity: 0.7,
|
||||
placeholder: 'tadv-placeholder',
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
|
||||
block.sortable({
|
||||
connectWith: '.container-block, #toolbar_block',
|
||||
items: '> li',
|
||||
cursor: 'move',
|
||||
stop: function( event, ui ) {
|
||||
var toolbar_id = ui.item.parent().attr( 'id' );
|
||||
|
||||
resetItemName( toolbar_id, ui.item );
|
||||
sortBlockToolbar();
|
||||
},
|
||||
activate: function( event, ui ) {
|
||||
$(this).parent().addClass( 'highlighted' );
|
||||
},
|
||||
deactivate: function( event, ui ) {
|
||||
$(this).parent().removeClass( 'highlighted' );
|
||||
},
|
||||
receive: function( event, ui ) {
|
||||
if (
|
||||
$( event.target ).is( '#toolbar_block_side' ) &&
|
||||
( ui.item.is( 'li.core-image' ) || ui.item.is( 'li.core-text-color' ) )
|
||||
) {
|
||||
block.sortable( 'cancel' );
|
||||
}
|
||||
},
|
||||
revert: 300,
|
||||
opacity: 0.7,
|
||||
placeholder: 'tadv-block-placeholder',
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
}
|
||||
|
||||
function resetItemName( name, item ) {
|
||||
if ( name ) {
|
||||
item.find( 'input[type="hidden"]' ).attr( 'name', name + '[]' );
|
||||
}
|
||||
}
|
||||
|
||||
function sortBlockToolbar() {
|
||||
var container = $( '#toolbar_block' );
|
||||
var items = container.find( 'li' );
|
||||
|
||||
items.sort( function ( a, b ) {
|
||||
var aa = $( a ).find( 'div' ).attr( 'title' );
|
||||
var bb = $( b ).find( 'div' ).attr( 'title' );
|
||||
|
||||
return ( aa > bb ) ? 1 : -1;
|
||||
});
|
||||
|
||||
container.append( items );
|
||||
}
|
||||
|
||||
// Make block editor tab sortable on load
|
||||
sortBlock();
|
||||
|
||||
$( '.settings-toggle.block' ).on( 'focus', function( event ) {
|
||||
$( '.wrap' ).removeClass( 'classic-active' ).addClass( 'block-active' );
|
||||
sortBlock();
|
||||
});
|
||||
|
||||
$( '.settings-toggle.classic' ).on( 'focus', function( event ) {
|
||||
$( '.wrap' ).removeClass( 'block-active' ).addClass( 'classic-active' );
|
||||
sortClassic();
|
||||
});
|
||||
|
||||
$( '#menubar' ).on( 'change', function() {
|
||||
$( '.tadv-mce-menu.tadv-classic-editor' ).toggleClass( 'enabled', $(this).prop('checked') );
|
||||
});
|
||||
|
||||
$( '#menubar_block' ).on( 'change', function() {
|
||||
$( '.tadv-mce-menu.tadv-block-editor' ).toggleClass( 'enabled', $(this).prop('checked') );
|
||||
});
|
||||
|
||||
$( '#tadvadmins' ).on( 'submit', function() {
|
||||
$( 'ul.container' ).each( function( i, node ) {
|
||||
$( node ).find( '.tadv-button' ).attr( 'name', node.id ? node.id + '[]' : '' );
|
||||
});
|
||||
});
|
||||
|
||||
$( 'input[name="selected_text_color"]' ).on( 'change', function() {
|
||||
if ( this.id === 'selected_text_color_yes' ) {
|
||||
$( '.panel-block-text-color' ).removeClass( 'disabled' );
|
||||
} else {
|
||||
$( '.panel-block-text-color' ).addClass( 'disabled' );
|
||||
}
|
||||
} );
|
||||
|
||||
$( 'input[name="selected_text_background_color"]' ).on( 'change', function() {
|
||||
if ( this.id === 'selected_text_background_color_yes' ) {
|
||||
$( '.panel-block-background-color' ).removeClass( 'disabled' );
|
||||
} else {
|
||||
$( '.panel-block-background-color' ).addClass( 'disabled' );
|
||||
}
|
||||
} );
|
||||
|
||||
$( '.tadv-popout-help-toggle, .tadv-popout-help-close' ).on( 'click', function( event ) {
|
||||
$( '.tadv-popout-help' ).toggleClass( 'hidden' );
|
||||
} );
|
||||
|
||||
$('#tadv-export-select').click( function() {
|
||||
$('#tadv-export').focus().select();
|
||||
});
|
||||
|
||||
$importElement.change( function() {
|
||||
$importError.empty();
|
||||
});
|
||||
|
||||
$('#tadv-import-verify').click( function() {
|
||||
var string;
|
||||
|
||||
string = ( $importElement.val() || '' ).replace( /^[^{]*/, '' ).replace( /[^}]*$/, '' );
|
||||
$importElement.val( string );
|
||||
|
||||
try {
|
||||
JSON.parse( string );
|
||||
$importError.text( 'No errors.' );
|
||||
} catch( error ) {
|
||||
$importError.text( error );
|
||||
}
|
||||
});
|
||||
|
||||
function translate( str ) {
|
||||
if ( window.tadvTranslation.hasOwnProperty( str ) ) {
|
||||
return window.tadvTranslation[str];
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
if ( typeof window.tadvTranslation === 'object' ) {
|
||||
$( '.tadvitem' ).each( function( i, element ) {
|
||||
var $element = $( element ),
|
||||
$descr = $element.find( '.descr' ),
|
||||
text = $descr.text();
|
||||
|
||||
if ( text ) {
|
||||
text = translate( text );
|
||||
$descr.text( text );
|
||||
$element.find( '.mce-ico' ).attr( 'title', text );
|
||||
}
|
||||
});
|
||||
|
||||
$( '.tadv-mce-menu .tadv-translate' ).each( function( i, element ) {
|
||||
var $element = $( element ),
|
||||
text = $element.text();
|
||||
|
||||
if ( text ) {
|
||||
$element.text( translate( text ) );
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -1,29 +1,45 @@
|
|||
=== TinyMCE Advanced ===
|
||||
Contributors: azaozz
|
||||
Tags: wysiwyg, formatting, tinymce, write, editor
|
||||
Requires at least: 4.9
|
||||
Tested up to: 4.9
|
||||
Stable tag: 4.6.7
|
||||
=== Advanced Editor Tools (previously TinyMCE Advanced) ===
|
||||
Contributors: automattic, azaozz
|
||||
Tags: block editor, classic editor, editor, Gutenberg, formatting, tinymce, write
|
||||
Requires at least: 5.6
|
||||
Tested up to: 5.7
|
||||
Stable tag: 5.6.0
|
||||
Requires PHP: 5.6
|
||||
License: GPLv2
|
||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
Extends and enhances TinyMCE, the WordPress Visual Editor.
|
||||
Extends and enhances the block editor (Gutenberg) and the classic editor (TinyMCE).
|
||||
|
||||
== Description ==
|
||||
|
||||
This plugin will let you add, remove and arrange the buttons that are shown on the Visual Editor toolbar. You can configure up to four rows of buttons including Font Sizes, Font Family, text and background colors, tables, etc. It will also let you enable the editor menu, see the [screenshots](screenshots).
|
||||
Advanced Editor Tools (previously TinyMCE Advanced) introduces a "Classic Paragraph" block for the block editor (Gutenberg).
|
||||
If you are not quite ready to switch to the block editor, or have plugins that cannot be used there (yet), using the Classic Paragraph block is your best option. It lets you to continue to use the familiar TinyMCE editor for most tasks, and at the same time gives you full access to all blocks and new features in the block editor.
|
||||
|
||||
It includes 15 plugins for [TinyMCE](http://tinymce.com/) that are automatically enabled or disabled depending on the buttons you have chosen. In addition this plugin adds some commonly used options as keeping the paragraph tags in the Text editor and importing the CSS classes from the theme's editor-style.css.
|
||||
Version 5.5 continues to improve and enhance the new features introduced in version 5.0 of the plugin. It includes an improved "Clear Formatting" button, several advanced settings for tables, and importing and exporting of the settings to a file.
|
||||
|
||||
If you want to continue to use the previous ("classic") editor in WordPress 5.0 and newer, this plugin has an option to replace the new editor with the previous one. If you prefer to have access to both editors side by side or to allow your users to switch editors, it would be better to install the [Classic Editor plugin](https://wordpress.org/plugins/classic-editor/). Advanced Editor Tools is fully compatible with the classic editor plugin and similar plugins that restore use of the previous WordPress editor.
|
||||
|
||||
As always this plugin will let you add, remove and arrange the buttons that are shown on the Visual Editor toolbar in the Classic Paragraph and Classic blocks in the block editor, and in the classic editor (when enabled by a plugin). There you can configure up to four rows of buttons including Font Sizes, Font Family, text and background colors, tables, etc.
|
||||
|
||||
It includes 15 plugins for [TinyMCE](https://www.tiny.cloud/) that are automatically enabled or disabled depending on the buttons you have chosen.
|
||||
In addition this plugin adds options for keeping the paragraph tags in text mode and importing the CSS classes from the theme's editor-style.css.
|
||||
|
||||
= Some of the features added by this plugin =
|
||||
|
||||
* Support for creating and editing tables.
|
||||
* More options when inserting lists.
|
||||
* Search and Replace in the editor.
|
||||
* Ability to set Font Family and Font Sizes.
|
||||
* "Classic Paragraph" block that can be used instead of or together with the standard Paragraph block.
|
||||
* An option to set the Classic Paragraph or Classic block as the default block in the block editor.
|
||||
* Supports converting of most default blocks to classic paragraphs, and from classic paragraphs back to the default blocks.
|
||||
* Support for creating and editing tables in the Classic blocks and the classic editor.
|
||||
* More options when inserting lists in the Classic blocks and the classic editor.
|
||||
* Search and Replace in the Classic blocks and the classic editor.
|
||||
* Ability to set Font Family and Font Sizes in the Classic blocks and the classic editor.
|
||||
* And many others.
|
||||
|
||||
With this plugin you can also enable the TinyMCE menu above the toolbars. This will make the editor even more powerful and convenient.
|
||||
= Privacy =
|
||||
|
||||
Advanced Editor Tools does not collect or store any user related data. It does not set cookies, and it does not connect to any third-party websites. It only uses functionality that is available in [WordPress](https://wordpress.org/), and in the [TinyMCE editor](https://tinymce.com/).
|
||||
|
||||
In that terms Advanced Editor Tools does not affect your website's user privacy in any way.
|
||||
|
||||
== Installation ==
|
||||
|
||||
|
|
@ -31,6 +47,73 @@ Best is to install directly from WordPress. If manual installation is required,
|
|||
|
||||
== Changelog ==
|
||||
|
||||
= 5.6.0 =
|
||||
* Updated for WordPress 5.6 and TinyMCE 4.9.11.
|
||||
|
||||
= 5.5.1 =
|
||||
* Renamed the plugin to Advanced Editor Tools to comply with trademark requirements.
|
||||
|
||||
= 5.5.0 =
|
||||
* Updated for WordPress 5.5 and TinyMCE 4.9.10.
|
||||
* Updated/renamed the subscript and superscript buttons as these are now in Gutenberg.
|
||||
* Minor CSS fixes and enhancements.
|
||||
|
||||
= 5.4.0 =
|
||||
* Updated for WordPress 5.4.
|
||||
* Improved "Reset Table Size" to reset all table elements (tr, th, td, thead, tbody, tfoot).
|
||||
* Improved "Remove Table Styling" to remove all current and deprecated styling attributes from all table elements.
|
||||
|
||||
= 5.3.0 =
|
||||
* Updated for WordPress 5.3 and TinyMCE 4.9.6.
|
||||
|
||||
= 5.2.1 =
|
||||
* Updated for WordPress 5.2.1 and TinyMCE 4.9.4.
|
||||
* Fixed resetting of the advanced options on update when all were unselected.
|
||||
* Fixed and improved keepig of paragraph tags in the Classic block.
|
||||
|
||||
= 5.2.0 =
|
||||
* Updated for WordPress 5.2.
|
||||
* Updated the buttons settings for the block editor toolbar. There are a few new limitations there: most buttons are now hidden in a drop-down and the users are not allowed to arrange the buttons.
|
||||
* Added a new advanced settings section for tables. Makes it possible to better configure how tables are edited and whether to disable use of inline CSS styles. Note that disabling inline styles would make the tables non-resizable in the editor.
|
||||
* Removed the option to enable pasting of image sources in some browsers. It was not working correctly.
|
||||
* Added a new option to always keep paragraph tags in the Classic Paragraph and Classic blocks in the block editor.
|
||||
* Updated exporting and importing of the settings. Now settings are exported to a (downloaded) file, and can be restored by uploading a previously exported settings file.
|
||||
* Improved the block editor Clear Formatting button. If some text is selected, it only clears the styling from that text. If no selection, all styling from the paragraph is cleared.
|
||||
|
||||
= 5.0.1 =
|
||||
* Fixed importing of backed-up settings.
|
||||
* Updated the FAQ section in the readme.
|
||||
|
||||
= 5.0.0 =
|
||||
* Added several new buttons to the rich-text toolbar in the block editor.
|
||||
* Added functionality to add, remove and arrange most buttons on the rich-text toolbar in the block editor.
|
||||
* Added alternative location for buttons for the rich-text component. That lets users move buttons that are not used frequently out of the way.
|
||||
* Added settings for selected text color and background color.
|
||||
* Improved fixes and enhancements for the Classic block.
|
||||
* Improved the Classic Paragraph block and added support for converting from most blocks to classic paragraphs, and converting a classic paragraph into separate blocks.
|
||||
|
||||
= 4.8.2 =
|
||||
* Fixes and improvements for 4.8.1.
|
||||
* Added separate option to enable the Classic Paragraph block.
|
||||
* Added converting of most default blocks to classic paragraphs, and from classic paragraphs to default blocks.
|
||||
|
||||
= 4.8.1 =
|
||||
* Updated for WordPress 5.0.
|
||||
* Added Hybrid Mode for the block editor. Includes a Classic Paragraph block that replaces the default Paragraph block.
|
||||
* Added option to replace the block editor with the classic editor.
|
||||
* Added another settings section for configuring the toolbars in the Classic block and the Classic Paragraph block.
|
||||
* Added some CSS fixed for the Classic block.
|
||||
* Fixed (removed) setting of inline CSS for table cells when inserting a table. Inline CSS is still added when a table is resized by dragging.
|
||||
|
||||
= 4.8.0 =
|
||||
* Updated for WordPress 4.9.8 and TinyMCE 4.8.0.
|
||||
|
||||
= 4.7.13 =
|
||||
* Updated the table and anchor plugins to 4.7.13 (2018-05-16). Fixes a bug in the table plugin in Edge.
|
||||
|
||||
= 4.7.11 =
|
||||
* Updated for WordPress 4.9.6 and TinyMCE 4.7.11.
|
||||
|
||||
= 4.6.7 =
|
||||
* Fixed compatibility with Gutenberg freeform block.
|
||||
* Forced refresh of the TinyMCE plugins after activation.
|
||||
|
|
@ -53,7 +136,7 @@ Best is to install directly from WordPress. If manual installation is required,
|
|||
* Added new button in the Text editor to add or reset the line breaks. Adds line breaks only between tags. Works only when it detects that line breaks are missing so it doesn't reformat posts with removed paragraphs.
|
||||
|
||||
= 4.3.10.1 =
|
||||
* Fixed adding paragraph tags when loading posts that were saved before turning autop off.
|
||||
* Fixed adding paragraph tags when loading posts that were saved before turning `wpautop` off.
|
||||
* Disabled the (new) inline toolbar for tables as it was overlapping the table in some cases.
|
||||
|
||||
= 4.3.10 =
|
||||
|
|
@ -75,11 +158,11 @@ Best is to install directly from WordPress. If manual installation is required,
|
|||
* Fixed text domain and plugin headers.
|
||||
|
||||
= 4.2.3.1 =
|
||||
* Fix error with removing the 'textpattern' plugin.
|
||||
* Fix error with removing the `textpattern` plugin.
|
||||
|
||||
= 4.2.3 =
|
||||
* Updated for WordPress 4.3 and TinyMCE 4.2.3.
|
||||
* Removed the 'textpattern' plugin as WordPress 4.3 includes similar functionality by default.
|
||||
* Removed the `textpattern` plugin as WordPress 4.3 includes similar functionality by default.
|
||||
* French translation by Nicolas Schneider.
|
||||
|
||||
= 4.1.9 =
|
||||
|
|
@ -97,14 +180,14 @@ Best is to install directly from WordPress. If manual installation is required,
|
|||
|
||||
= 4.1 =
|
||||
* Updated for WordPress 4.0 and TinyMCE 4.1.
|
||||
* Add the 'textpattern' plugin that supports some of the markdown syntax while typing, [(more info)](http://www.tinymce.com/wiki.php/Configuration:textpattern_patterns).
|
||||
* Add the `textpattern` plugin that supports some of the markdown syntax while typing, [(more info)](http://www.tinymce.com/wiki.php/Configuration:textpattern_patterns).
|
||||
* Add the updated 'table' plugin that supports background and border color.
|
||||
|
||||
= 4.0.2 =
|
||||
* Fix showing of the second, third and forth button rows when the Toolbar Toggle button is not used.
|
||||
* Fix adding the ''directionality'' plugin when RTL or LTR button is selected.
|
||||
* Fix adding the `directionality` plugin when RTL or LTR button is selected.
|
||||
* Show the ''Advanced Options'' to super admins on multisite installs.
|
||||
* Add the ''link'' plugin including link rel setting. Replaces the Insert/Edit Link dialog when enabled.
|
||||
* Add the `link` plugin including link rel setting. Replaces the Insert/Edit Link dialog when enabled.
|
||||
* Include updated ''table'' plugin that has support for vertical align for cells.
|
||||
|
||||
= 4.0.1 =
|
||||
|
|
@ -140,7 +223,7 @@ Compatibility with WordPress 3.2 and TinyMCE 3.4.2, removed the options for supp
|
|||
= 3.3.9.1 =
|
||||
Added advanced options: stop removing iframes, stop removing HTML 5.0 elements, moved the support for custom editor styles to editor-style.css in the current theme.
|
||||
|
||||
Attention: if you have a customized tadv-mce.css file and your theme doesn't have editor-style.css, please download tadv-mce.css, rename it to editor-style.css and upload it to your current theme directory. Alternatively you can add there the editor-style.css from the Twenty Ten theme. If your theme has editor-style.css you can add any custom styles there.
|
||||
Attention: if you have a customized `tadv-mce.css` file and your theme doesn't have editor-style.css, please download `tadv-mce.css`, rename it to editor-style.css and upload it to your current theme directory. Alternatively you can add there the editor-style.css from the Twenty Ten theme. If your theme has editor-style.css you can add any custom styles there.
|
||||
|
||||
= 3.3.9 =
|
||||
Compatibility with WordPress 3.1 and TinyMCE 3.3.9, improved P and BR tags option.
|
||||
|
|
@ -155,10 +238,10 @@ Compatibility with WordPress 2.8 and TinyMCE 3.2.4, minor bug fixes.
|
|||
Compatibility with WordPress 2.7 and TinyMCE 3.2, minor bug fixes.
|
||||
|
||||
= 3.1 =
|
||||
Compatibility with WordPress 2.6 and TinyMCE 3.1, keeps empty paragraphs when disabling the removal of P and BR tags, the buttons for MCImageManager and MCFileManager can be arranged (if installed).
|
||||
Compatibility with WordPress 2.6 and TinyMCE 3.1, keeps empty paragraphs when disabling the removal of P and BR tags, the buttons for `MCImageManager` and `MCFileManager` can be arranged (if installed).
|
||||
|
||||
= 3.0.1 =
|
||||
Compatibility with WordPress 2.5.1 and TinyMCE 3.0.7, added option to disable the removal of P and BR tags when saving and in the HTML editor (autop), added two more buttons to the HTML editor: autop and undo, fixed the removal of non-default TinyMCE buttons.
|
||||
Compatibility with WordPress 2.5.1 and TinyMCE 3.0.7, added option to disable the removal of P and BR tags when saving and in the HTML editor (wpautop), added two more buttons to the HTML editor: `wpautop` and undo, fixed the removal of non-default TinyMCE buttons.
|
||||
|
||||
= 3.0 =
|
||||
Support for WordPress 2.5 and TinyMCE 3.0.
|
||||
|
|
@ -172,48 +255,56 @@ Improved language selection, improved compatibility with WordPress 2.3 and TinyM
|
|||
= 2.0 =
|
||||
Includes an admin page for arranging the TinyMCE toolbar buttons, easy installation, a lot of bugfixes, customized "Smilies" plugin that uses the built-in WordPress smilies, etc. The admin page uses jQuery and jQuery UI that lets you "drag and drop" the TinyMCE buttons to arrange your own toolbars and enables/disables the corresponding plugins depending on the used buttons.
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 4.2.3 =
|
||||
Updated for WordPress 4.3 and TinyMCE 4.2.3.
|
||||
|
||||
= 4.1.9 =
|
||||
Updated for WordPress 4.2 and TinyMCE 4.1.9.
|
||||
|
||||
= 4.1 =
|
||||
Includes the 'textpattern' plugin that supports some of the markdown syntax while typing, and the updated 'table' plugin that supports background and border color for tables.
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
||||
= No styles are imported in the Formats sub-menu. =
|
||||
= I see an error like: "Failed to load plugin from url..." =
|
||||
|
||||
These styles are imported from your current theme editor-style.css file. However some themes do not have this functionality. For these themes TinyMCE Advanced has the option to let you add a customized editor-style.css and import it into the editor.
|
||||
These errors are usually caused by the file in question being blocked by some security setting on the server, or (rarely) by caching issues or wrong permissions.
|
||||
|
||||
= I have just installed this plugin, but it does not do anything. =
|
||||
The first step to debug this is to try to access the file directly in the browser (i.e. copy the URL and paste in the browser and press Enter).
|
||||
|
||||
Change some buttons on one of the toolbars, save your changes, clear your browser cache, and try again. If that does not work try reloding the Edit page several times while holding down Shift or Ctrl. There may also be a network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
|
||||
If you see the file (that’s usually minified JS, so it is all on one line) chances are it was some sort of caching issue that is now resolved. Try using the editor again.
|
||||
|
||||
= When I add "Smilies", they do not show in the editor. =
|
||||
If you see an HTTP error (like 403 or 500) best would be to contact your web hosting company for help. In some cases deleting and re-installing the plugin may help.
|
||||
|
||||
= Tables look different (inline styles are missing) when I insert a table =
|
||||
|
||||
Please see the new (as of version 5.2.0) advanced settings for tables. It is possible to disable use of inline styles for tables but that would make the table non-resizable in the editor. If the advanced tabs on the table, row, and column dialogs are enabled (default), it will still be possible to enter width and height values which are set as inline styles.
|
||||
|
||||
= No styles are imported in the Formats sub-menu =
|
||||
|
||||
These styles are imported from your current theme editor-style.css file. However some themes do not have this functionality. For these themes Advanced Editor Tools has the option to let you add a customized editor-style.css and import it into the editor.
|
||||
|
||||
= I have just installed this plugin, but it does not do anything =
|
||||
|
||||
Change some buttons on one of the toolbars, save your changes, clear your browser cache, and try again. If that does not work try reloading the Edit page several times while holding down Shift. There may also be a network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
|
||||
|
||||
= When I add "Smilies", they do not show in the editor =
|
||||
|
||||
The "Emoticons" button in TinyMCE adds the codes for the smilies. The actual images are added by WordPress when viewing the Post. Make sure the checkbox "Convert emoticons to graphics on display" in "Options - Writing" is checked.
|
||||
|
||||
= The plugin does not add any buttons. =
|
||||
= The plugin does not add any buttons =
|
||||
|
||||
Make sure the "Disable the visual editor when writing" checkbox under "Users - Your Profile" is **not** checked.
|
||||
|
||||
= I still see the "old" buttons in the editor =
|
||||
|
||||
Click the "Restore Default Settings" button on the plugin settings page and then set the buttons again and save.
|
||||
|
||||
= Other questions? More screenshots? =
|
||||
|
||||
Please post on the support forum or visit the homepage for [TinyMCE Advanced](http://www.laptoptips.ca/projects/tinymce-advanced/).
|
||||
|
||||
Re-save the settings or click the "Restore Default Settings" button on the plugin settings page and then set the buttons again and save.
|
||||
|
||||
== Screenshots ==
|
||||
|
||||
1. The WordPress editor after installing this plugin (default plugin settings).
|
||||
2. The TinyMCE Advanced settings page, toolbars options.
|
||||
3. The TinyMCE Advanced settings page, user options.
|
||||
4. The TinyMCE Advanced settings page, advanced options.
|
||||
5. The TinyMCE Advanced settings page, admin options.
|
||||
1. Rich-text toolbar.
|
||||
2. Rich-text toolbar and extra formatting buttons in the Inspector (sidebar).
|
||||
3. Many of the buttons can be moved to the Formatting section in the Inspector.
|
||||
4. Converting the content of the Classic Paragraph block into separate blocks.
|
||||
5. Converting several paragraph blocks into a Classic Paragraph block.
|
||||
6. Settings for the Rich-text toolbar and the optional Formatting section in the Inspector.
|
||||
7. Settings for the toolbars in Classic Paragraph and Classic blocks.
|
||||
8. Additional options.
|
||||
9. Advanced options for tables.
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 5.2.0 =
|
||||
Another large upgrade. Includes advanced options for tables, updated import and export of settings, and further improvements for the block editor.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
|
@ -1,7 +1,14 @@
|
|||
<?php
|
||||
/**
|
||||
* Clean-up on uninstalling.
|
||||
* @package advanced-editor-tools
|
||||
*/
|
||||
|
||||
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) || ! WP_UNINSTALL_PLUGIN ||
|
||||
dirname( WP_UNINSTALL_PLUGIN ) != dirname( plugin_basename( __FILE__ ) ) ) {
|
||||
if (
|
||||
! defined( 'WP_UNINSTALL_PLUGIN' ) ||
|
||||
! WP_UNINSTALL_PLUGIN ||
|
||||
dirname( WP_UNINSTALL_PLUGIN ) !== dirname( plugin_basename( __FILE__ ) )
|
||||
) {
|
||||
|
||||
exit;
|
||||
}
|
||||
|
|
|
|||