Librerias Actualizadas y Descargadas

This commit is contained in:
kleper 2017-04-26 16:05:26 -05:00
parent d4c57f5b24
commit 6b49351700
78 changed files with 4293 additions and 187 deletions

View File

@ -0,0 +1,4 @@
/*!
* Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */nav[data-toggle=toc] .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}nav[data-toggle=toc] .nav>li>a:focus,nav[data-toggle=toc] .nav>li>a:hover{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}nav[data-toggle=toc] .nav>.active:focus>a,nav[data-toggle=toc] .nav>.active:hover>a,nav[data-toggle=toc] .nav>.active>a{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}nav[data-toggle=toc] .nav .nav{display:none;padding-bottom:10px}nav[data-toggle=toc] .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}nav[data-toggle=toc] .nav .nav>li>a:focus,nav[data-toggle=toc] .nav .nav>li>a:hover{padding-left:29px}nav[data-toggle=toc] .nav .nav>.active:focus>a,nav[data-toggle=toc] .nav .nav>.active:hover>a,nav[data-toggle=toc] .nav .nav>.active>a{padding-left:28px;font-weight:500}nav[data-toggle=toc] .nav>.active>ul{display:block}

View File

@ -0,0 +1,5 @@
/*!
* Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
!function(){"use strict";window.Toc={helpers:{findOrFilter:function(e,t){var r=e.find(t);return e.filter(t).add(r).filter(":not([data-toc-skip])")},generateUniqueIdBase:function(e){var t=$(e).text(),r=t.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g,"-");return r||e.tagName.toLowerCase()},generateUniqueId:function(e){for(var t=this.generateUniqueIdBase(e),r=0;;r++){var n=t;if(r>0&&(n+="-"+r),!document.getElementById(n))return n}},generateAnchor:function(e){if(e.id)return e.id;var t=this.generateUniqueId(e);return e.id=t,t},createNavList:function(){return $('<ul class="nav"></ul>')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var r=$("<a></a>");r.attr("href","#"+e),r.text(t);var n=$("<li></li>");return n.append(r),n},generateNavItem:function(e){var t=this.generateAnchor(e),r=$(e),n=r.data("toc-text")||r.text();return this.generateNavEl(t,n)},getTopLevel:function(e){for(var t=1;t<=6;t++){var r=this.findOrFilter(e,"h"+t);if(r.length>1)return t}return 1},getHeadings:function(e,t){var r="h"+t,n=t+1,a="h"+n;return this.findOrFilter(e,r+","+a)},getNavLevel:function(e){return parseInt(e.tagName.charAt(1),10)},populateNav:function(e,t,r){var n,a=e,i=this;r.each(function(r,o){var s=i.generateNavItem(o),u=i.getNavLevel(o);u===t?a=e:n&&a===e&&(a=i.createChildNavList(n)),a.append(s),n=s})},parseOps:function(e){var t;return t=e.jquery?{$nav:e}:e,t.$scope=t.$scope||$(document.body),t}},init:function(e){e=this.helpers.parseOps(e),e.$nav.attr("data-toggle","toc");var t=this.helpers.createChildNavList(e.$nav),r=this.helpers.getTopLevel(e.$scope),n=this.helpers.getHeadings(e.$scope,r);this.helpers.populateNav(t,r,n)}},$(function(){$('nav[data-toggle="toc"]').each(function(e,t){var r=$(t);Toc.init(r)})})}();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
.ekko-lightbox-nav-overlay a:focus,.ekko-lightbox-nav-overlay a>:focus{outline:0}.ekko-lightbox-container{position:relative}.ekko-lightbox-container>div.ekko-lightbox-item{position:absolute;top:0;left:0;width:100%;transition:opacity .5s ease-in-out;opacity:1}.ekko-lightbox-nav-overlay{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex}.ekko-lightbox-nav-overlay a{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0;transition:opacity .5s;color:#fff;font-size:30px;z-index:1}.ekko-lightbox-nav-overlay a>*{-ms-flex-positive:1;flex-grow:1}.ekko-lightbox-nav-overlay a span{padding:0 30px}.ekko-lightbox-nav-overlay a:last-child span{text-align:right}.ekko-lightbox-nav-overlay a:hover{text-decoration:none}.ekko-lightbox a:hover{opacity:1;text-decoration:none}.ekko-lightbox .modal-footer{text-align:left}.ekko-lightbox-loader{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.ekko-lightbox-loader>div{width:40px;height:40px;position:relative;text-align:center}.ekko-lightbox-loader>div>div{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;animation:a 2s infinite ease-in-out}.ekko-lightbox-loader>div>div:last-child{animation-delay:-1s}@keyframes a{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}
/*# sourceMappingURL=ekko-lightbox.min.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'تنسيق', style: 'تنسيق',
normal: 'عادي', p: 'عادي',
blockquote: 'إقتباس', blockquote: 'إقتباس',
pre: 'شفيرة', pre: 'شفيرة',
h1: 'عنوان رئيسي 1', h1: 'عنوان رئيسي 1',

View File

@ -44,7 +44,7 @@
}, },
style: { style: {
style: 'Стил', style: 'Стил',
normal: 'Нормален', p: 'Нормален',
blockquote: 'Цитат', blockquote: 'Цитат',
pre: 'Код', pre: 'Код',
h1: 'Заглавие 1', h1: 'Заглавие 1',

View File

@ -39,7 +39,7 @@
videoLink: 'Enllaç del vídeo', videoLink: 'Enllaç del vídeo',
insert: 'Inserir vídeo', insert: 'Inserir vídeo',
url: 'URL del vídeo?', url: 'URL del vídeo?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)'
}, },
link: { link: {
link: 'Enllaç', link: 'Enllaç',
@ -58,7 +58,7 @@
}, },
style: { style: {
style: 'Estil', style: 'Estil',
normal: 'Normal', p: 'p',
blockquote: 'Cita', blockquote: 'Cita',
pre: 'Codi', pre: 'Codi',
h1: 'Títol 1', h1: 'Títol 1',

View File

@ -47,7 +47,7 @@
}, },
style: { style: {
style: 'Styl', style: 'Styl',
normal: 'Normální', p: 'Normální',
blockquote: 'Citace', blockquote: 'Citace',
pre: 'Kód', pre: 'Kód',
h1: 'Nadpis 1', h1: 'Nadpis 1',

View File

@ -58,7 +58,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normal', p: 'p',
blockquote: 'Citat', blockquote: 'Citat',
pre: 'Kode', pre: 'Kode',
h1: 'Overskrift 1', h1: 'Overskrift 1',

View File

@ -35,7 +35,7 @@
videoLink: 'Video Link', videoLink: 'Video Link',
insert: 'Video einfügen', insert: 'Video einfügen',
url: 'Video URL?', url: 'Video URL?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, oder Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion oder Youku)'
}, },
link: { link: {
link: 'Link', link: 'Link',
@ -54,7 +54,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normal', p: 'p',
blockquote: 'Zitat', blockquote: 'Zitat',
pre: 'Quellcode', pre: 'Quellcode',
h1: 'Überschrift 1', h1: 'Überschrift 1',

View File

@ -0,0 +1,147 @@
(function ($) {
$.extend($.summernote.lang, {
'el-GR': {
font: {
bold: 'Έντονα',
italic: 'Πλάγια',
underline: 'Υπογραμμισμένα',
clear: 'Καθαρισμός',
height: 'Ύψος',
name: 'Γραμματοσειρά',
strikethrough: 'Διεγραμμένα',
subscript: 'Δείκτης',
superscript: 'Εκθέτης',
size: 'Μέγεθος'
},
image: {
image: 'εικόνα',
insert: 'Εισαγωγή',
resizeFull: 'Πλήρες μέγεθος',
resizeHalf: 'Μισό μέγεθος',
resizeQuarter: '1/4 μέγεθος',
floatLeft: 'Μετατόπιση αριστερά',
floatRight: 'Μετατόπιση δεξιά',
floatNone: 'Χωρίς μετατόπιση',
shapeRounded: 'Σχήμα: Στρογγυλεμένο',
shapeCircle: 'Σχήμα: Κύκλος',
shapeThumbnail: 'Σχήμα: Thumbnail',
shapeNone: 'Σχήμα: Κανένα',
dragImageHere: 'Σύρτε την εικόνα εδώ',
dropImage: 'Αφήστε την εικόνα',
selectFromFiles: 'Επιλογή από αρχεία',
maximumFileSize: 'Μέγιστο μέγεθος αρχείου',
maximumFileSizeError: 'Το μέγεθος είναι μεγαλύτερο από το μέγιστο επιτρεπτό.',
url: 'URL',
remove: 'Αφαίρεση'
},
link: {
link: 'Σύνδεσμος',
insert: 'Εισαγωγή συνδέσμου',
unlink: 'Αφαίρεση συνδέσμου',
edit: 'Επεξεργασία συνδέσμου',
textToDisplay: 'Κείμενο συνδέσμου',
url: 'URL',
openInNewWindow: 'Άνοιγμα σε νέο παράθυρο'
},
video: {
video: 'Βίντεο',
videoLink: 'Σύνδεσμος Βίντεο',
insert: 'Εισαγωγή',
url: 'URL',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'
},
table: {
table: 'Πίνακας'
},
hr: {
insert: 'Εισαγωγή οριζόντιας γραμμής'
},
style: {
style: 'Στυλ',
normal: 'Κανονικό',
blockquote: 'Παράθεση',
pre: 'Ως έχει',
h1: 'Κεφαλίδα 1',
h2: 'συνδέσμου 2',
h3: 'συνδέσμου 3',
h4: 'συνδέσμου 4',
h5: 'συνδέσμου 5',
h6: 'συνδέσμου 6'
},
lists: {
unordered: 'Αταξινόμητη λίστα',
ordered: 'Ταξινομημένη λίστα'
},
options: {
help: 'Βοήθεια',
fullscreen: 'Πλήρης οθόνη',
codeview: 'Προβολή HTML'
},
paragraph: {
paragraph: 'Παράγραφος',
outdent: 'Μείωση εσοχής',
indent: 'Άυξηση εσοχής',
left: 'Αριστερή στοίχιση',
center: 'Στοίχιση στο κέντρο',
right: 'Δεξιά στοίχιση',
justify: 'Πλήρης στοίχιση'
},
color: {
recent: 'Πρόσφατη επιλογή',
more: 'Περισσότερα',
background: 'Υπόβαθρο',
foreground: 'Μπροστά',
transparent: 'Διαφανές',
setTransparent: 'Επιλογή διαφάνειας',
reset: 'Επαναφορά',
resetToDefault: 'Επαναφορά στις προκαθορισμένες τιμές'
},
shortcut: {
shortcuts: 'Συντομεύσεις',
close: 'Κλείσιμο',
textFormatting: 'Διαμόρφωση κειμένου',
action: 'Ενέργεια',
paragraphFormatting: 'Διαμόρφωση παραγράφου',
documentStyle: 'Στυλ κειμένου',
extraKeys: 'Επιπλέον συντομεύσεις'
},
help: {
'insertParagraph': 'Εισαγωγή παραγράφου',
'undo': 'Αναιρεί την προηγούμενη εντολή',
'redo': 'Επαναλαμβάνει την προηγούμενη εντολή',
'tab': 'Εσοχή',
'untab': 'Αναίρεση εσοχής',
'bold': 'Ορισμός έντονου στυλ',
'italic': 'Ορισμός πλάγιου στυλ',
'underline': 'Ορισμός υπογεγραμμένου στυλ',
'strikethrough': 'Ορισμός διεγραμμένου στυλ',
'removeFormat': 'Αφαίρεση στυλ',
'justifyLeft': 'Ορισμός αριστερής στοίχισης',
'justifyCenter': 'Ορισμός κεντρικής στοίχισης',
'justifyRight': 'Ορισμός δεξιάς στοίχισης',
'justifyFull': 'Ορισμός πλήρους στοίχισης',
'insertUnorderedList': 'Ορισμός μη-ταξινομημένης λίστας',
'insertOrderedList': 'Ορισμός ταξινομημένης λίστας',
'outdent': 'Προεξοχή παραγράφου',
'indent': 'Εσοχή παραγράφου',
'formatPara': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε παράγραφο (P tag)',
'formatH1': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H1',
'formatH2': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H2',
'formatH3': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H3',
'formatH4': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H4',
'formatH5': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H5',
'formatH6': 'Αλλαγή της μορφής του τρέχοντος μπλοκ σε H6',
'insertHorizontalRule': 'Εισαγωγή οριζόντιας γραμμής',
'linkDialog.show': 'Εμφάνιση διαλόγου συνδέσμου'
},
history: {
undo: 'Αναίρεση',
redo: 'Επαναληψη'
},
specialChar: {
specialChar: 'SPECIAL CHARACTERS',
select: 'Επιλέξτε ειδικούς χαρακτήρες'
}
}
});
})(jQuery);

View File

@ -39,7 +39,7 @@
videoLink: 'Link del vídeo', videoLink: 'Link del vídeo',
insert: 'Insertar vídeo', insert: 'Insertar vídeo',
url: '¿URL del vídeo?', url: '¿URL del vídeo?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion o Youku)'
}, },
link: { link: {
link: 'Link', link: 'Link',
@ -58,7 +58,7 @@
}, },
style: { style: {
style: 'Estilo', style: 'Estilo',
normal: 'Normal', p: 'p',
blockquote: 'Cita', blockquote: 'Cita',
pre: 'Código', pre: 'Código',
h1: 'Título 1', h1: 'Título 1',

View File

@ -29,7 +29,7 @@
videoLink: 'Bideorako esteka', videoLink: 'Bideorako esteka',
insert: 'Bideo berri bat txertatu', insert: 'Bideo berri bat txertatu',
url: 'Bideoaren URL helbidea', url: 'Bideoaren URL helbidea',
providers: '(YouTube, Vimeo, Vine, Instagram, edo DailyMotion)' providers: '(YouTube, Vimeo, Vine, Instagram edo DailyMotion)'
}, },
link: { link: {
link: 'Esteka', link: 'Esteka',
@ -48,7 +48,7 @@
}, },
style: { style: {
style: 'Estiloa', style: 'Estiloa',
normal: 'Normal', p: 'p',
blockquote: 'Aipamena', blockquote: 'Aipamena',
pre: 'Kodea', pre: 'Kodea',
h1: '1. izenburua', h1: '1. izenburua',

View File

@ -30,7 +30,7 @@
videoLink: 'لینک ویدیو', videoLink: 'لینک ویدیو',
insert: 'افزودن ویدیو', insert: 'افزودن ویدیو',
url: 'آدرس ویدیو ؟', url: 'آدرس ویدیو ؟',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, یا Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion یا Youku)'
}, },
link: { link: {
link: 'لینک', link: 'لینک',
@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'استیل', style: 'استیل',
normal: 'نرمال', p: 'نرمال',
blockquote: 'نقل قول', blockquote: 'نقل قول',
pre: 'کد', pre: 'کد',
h1: 'سرتیتر 1', h1: 'سرتیتر 1',

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'Tyyli', style: 'Tyyli',
normal: 'Normaali', p: 'Normaali',
blockquote: 'Lainaus', blockquote: 'Lainaus',
pre: 'Koodi', pre: 'Koodi',
h1: 'Otsikko 1', h1: 'Otsikko 1',

View File

@ -58,7 +58,7 @@
}, },
style: { style: {
style: 'Style', style: 'Style',
normal: 'Normal', p: 'Normal',
blockquote: 'Citation', blockquote: 'Citation',
pre: 'Code source', pre: 'Code source',
h1: 'Titre 1', h1: 'Titre 1',
@ -105,6 +105,35 @@
documentStyle: 'Style du document', documentStyle: 'Style du document',
extraKeys: 'Touches supplémentaires' extraKeys: 'Touches supplémentaires'
}, },
help: {
'insertParagraph': 'Insérer paragraphe',
'undo': 'Défaire la dernière commande',
'redo': 'Refaire la dernière commande',
'tab': 'Tabulation',
'untab': 'Tabulation arrière',
'bold': 'Mettre en caractère gras',
'italic': 'Mettre en italique',
'underline': 'Mettre en souligné',
'strikethrough': 'Mettre en texte barré',
'removeFormat': 'Nettoyer les styles',
'justifyLeft': 'Aligner à gauche',
'justifyCenter': 'Centrer',
'justifyRight': 'Aligner à droite',
'justifyFull': 'Justifier à gauche et à droite',
'insertUnorderedList': 'Basculer liste à puces',
'insertOrderedList': 'Basculer liste ordonnée',
'outdent': 'Diminuer le retrait du paragraphe',
'indent': 'Augmenter le retrait du paragraphe',
'formatPara': 'Changer le paragraphe en cours en normal (P)',
'formatH1': 'Changer le paragraphe en cours en entête H1',
'formatH2': 'Change current block\'s format as entête H2',
'formatH3': 'Change current block\'s format as entête H3',
'formatH4': 'Change current block\'s format as entête H4',
'formatH5': 'Change current block\'s format as entête H5',
'formatH6': 'Change current block\'s format as entête H6',
'insertHorizontalRule': 'Insérer ligne horizontale',
'linkDialog.show': 'Afficher fenêtre d\'hyperlien'
},
history: { history: {
undo: 'Annuler la dernière action', undo: 'Annuler la dernière action',
redo: 'Restaurer la dernière action annulée' redo: 'Restaurer la dernière action annulée'

View File

@ -0,0 +1,147 @@
(function ($) {
$.extend($.summernote.lang, {
'gl-ES': {
font: {
bold: 'Negrita',
italic: 'Cursiva',
underline: 'Subliñado',
clear: 'Quitar estilo de fonte',
height: 'Altura de liña',
name: 'Fonte',
strikethrough: 'Riscado',
superscript: 'Superíndice',
subscript: 'Subíndice',
size: 'Tamaño da fonte'
},
image: {
image: 'Imaxe',
insert: 'Inserir imaxe',
resizeFull: 'Redimensionar a tamaño completo',
resizeHalf: 'Redimensionar á metade',
resizeQuarter: 'Redimensionar a un cuarto',
floatLeft: 'Flotar á esquerda',
floatRight: 'Flotar á dereita',
floatNone: 'Non flotar',
shapeRounded: 'Forma: Redondeado',
shapeCircle: 'Forma: Círculo',
shapeThumbnail: 'Forma: Marco',
shapeNone: 'Forma: Ningunha',
dragImageHere: 'Arrastrar unha imaxe ou texto aquí',
dropImage: 'Solta a imaxe ou texto',
selectFromFiles: 'Seleccionar desde os arquivos',
maximumFileSize: 'Tamaño máximo do arquivo',
maximumFileSizeError: 'Superaches o tamaño máximo do arquivo.',
url: 'URL da imaxe',
remove: 'Eliminar imaxe'
},
video: {
video: 'Vídeo',
videoLink: 'Ligazón do vídeo',
insert: 'Insertar vídeo',
url: 'URL do vídeo?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, o Youku)'
},
link: {
link: 'Ligazón',
insert: 'Inserir Ligazón',
unlink: 'Quitar Ligazón',
edit: 'Editar',
textToDisplay: 'Texto para amosar',
url: 'Cara a que URL leva a ligazón?',
openInNewWindow: 'Abrir nunha nova xanela'
},
table: {
table: 'Táboa'
},
hr: {
insert: 'Inserir liña horizontal'
},
style: {
style: 'Estilo',
normal: 'Normal',
blockquote: 'Cita',
pre: 'Código',
h1: 'Título 1',
h2: 'Título 2',
h3: 'Título 3',
h4: 'Título 4',
h5: 'Título 5',
h6: 'Título 6'
},
lists: {
unordered: 'Lista desordenada',
ordered: 'Lista ordenada'
},
options: {
help: 'Axuda',
fullscreen: 'Pantalla completa',
codeview: 'Ver código fonte'
},
paragraph: {
paragraph: 'Parágrafo',
outdent: 'Menos tabulación',
indent: 'Máis tabulación',
left: 'Aliñar á esquerda',
center: 'Aliñar ao centro',
right: 'Aliñar á dereita',
justify: 'Xustificar'
},
color: {
recent: 'Última cor',
more: 'Máis cores',
background: 'Cor de fondo',
foreground: 'Cor de fuente',
transparent: 'Transparente',
setTransparent: 'Establecer transparente',
reset: 'Restaurar',
resetToDefault: 'Restaurar por defecto'
},
shortcut: {
shortcuts: 'Atallos de teclado',
close: 'Pechar',
textFormatting: 'Formato de texto',
action: 'Acción',
paragraphFormatting: 'Formato de parágrafo',
documentStyle: 'Estilo de documento',
extraKeys: 'Teclas adicionais'
},
help : {
'insertParagraph': 'Inserir parágrafo',
'undo': 'Desfacer última acción',
'redo': 'Refacer última acción',
'tab': 'Tabular',
'untab': 'Eliminar tabulación',
'bold': 'Establecer estilo negrita',
'italic': 'Establecer estilo cursiva',
'underline': 'Establecer estilo subliñado',
'strikethrough': 'Establecer estilo riscado',
'removeFormat': 'Limpar estilo',
'justifyLeft': 'Aliñar á esquerda',
'justifyCenter': 'Aliñar ao centro',
'justifyRight': 'Aliñar á dereita',
'justifyFull': 'Xustificar',
'insertUnorderedList': 'Inserir lista desordenada',
'insertOrderedList': 'Inserir lista ordenada',
'outdent': 'Reducir tabulación do parágrafo',
'indent': 'Aumentar tabulación do parágrafo',
'formatPara': 'Mudar estilo do bloque a parágrafo (etiqueta P)',
'formatH1': 'Mudar estilo do bloque a H1',
'formatH2': 'Mudar estilo do bloque a H2',
'formatH3': 'Mudar estilo do bloque a H3',
'formatH4': 'Mudar estilo do bloque a H4',
'formatH5': 'Mudar estilo do bloque a H5',
'formatH6': 'Mudar estilo do bloque a H6',
'insertHorizontalRule': 'Inserir liña horizontal',
'linkDialog.show': 'Amosar panel ligazóns'
},
history: {
undo: 'Desfacer',
redo: 'Refacer'
},
specialChar: {
specialChar: 'CARACTERES ESPECIAIS',
select: 'Selecciona Caracteres especiais'
}
}
});
})(jQuery);

View File

@ -51,7 +51,7 @@
}, },
style: { style: {
style: 'עיצוב', style: 'עיצוב',
normal: 'טקסט רגיל', p: 'טקסט רגיל',
blockquote: 'ציטוט', blockquote: 'ציטוט',
pre: 'קוד', pre: 'קוד',
h1: 'כותרת 1', h1: 'כותרת 1',

View File

@ -0,0 +1,104 @@
(function ($) {
$.extend($.summernote.lang, {
'hr-HR': {
font: {
bold: 'Podebljano',
italic: 'Kurziv',
underline: 'Podvučeno',
clear: 'Ukloni stilove fonta',
height: 'Visina linije',
strikethrough: 'Precrtano',
size: 'Veličina fonta'
},
image: {
image: 'Slika',
insert: 'Ubaci sliku',
resizeFull: 'Puna veličina',
resizeHalf: 'Umanji na 50%',
resizeQuarter: 'Umanji na 25%',
floatLeft: 'Poravnaj lijevo',
floatRight: 'Poravnaj desno',
floatNone: 'Bez poravnanja',
dragImageHere: 'Povuci sliku ovdje',
selectFromFiles: 'Izaberi iz datoteke',
url: 'Adresa slike',
remove: 'Ukloni sliku'
},
video: {
video: 'Video',
videoLink: 'Veza na video',
insert: 'Ubaci video',
url: 'URL video',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ili Youku)'
},
link: {
link: 'Veza',
insert: 'Ubaci vezu',
unlink: 'Ukloni vezu',
edit: 'Uredi',
textToDisplay: 'Tekst za prikaz',
url: 'Internet adresa',
openInNewWindow: 'Otvori u novom prozoru'
},
table: {
table: 'Tablica'
},
hr: {
insert: 'Ubaci horizontalnu liniju'
},
style: {
style: 'Stil',
p: 'pni',
blockquote: 'Citat',
pre: 'Kôd',
h1: 'Naslov 1',
h2: 'Naslov 2',
h3: 'Naslov 3',
h4: 'Naslov 4',
h5: 'Naslov 5',
h6: 'Naslov 6'
},
lists: {
unordered: 'Obična lista',
ordered: 'Numerirana lista'
},
options: {
help: 'Pomoć',
fullscreen: 'Preko cijelog ekrana',
codeview: 'Izvorni kôd'
},
paragraph: {
paragraph: 'Paragraf',
outdent: 'Smanji uvlačenje',
indent: 'Povećaj uvlačenje',
left: 'Poravnaj lijevo',
center: 'Centrirano',
right: 'Poravnaj desno',
justify: 'Poravnaj obostrano'
},
color: {
recent: 'Posljednja boja',
more: 'Više boja',
background: 'Boja pozadine',
foreground: 'Boja teksta',
transparent: 'Prozirna',
setTransparent: 'Prozirna',
reset: 'Poništi',
resetToDefault: 'Podrazumijevana'
},
shortcut: {
shortcuts: 'Prečice s tipkovnice',
close: 'Zatvori',
textFormatting: 'Formatiranje teksta',
action: 'Akcija',
paragraphFormatting: 'Formatiranje paragrafa',
documentStyle: 'Stil dokumenta',
extraKeys: 'Dodatne kombinacije'
},
history: {
undo: 'Poništi',
redo: 'Ponovi'
}
}
});
})(jQuery);

View File

@ -31,7 +31,7 @@
videoLink: 'Videó hivatkozás', videoLink: 'Videó hivatkozás',
insert: 'Videó beszúrása', insert: 'Videó beszúrása',
url: 'Videó URL címe', url: 'Videó URL címe',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, vagy Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion vagy Youku)'
}, },
link: { link: {
link: 'Hivatkozás', link: 'Hivatkozás',
@ -50,7 +50,7 @@
}, },
style: { style: {
style: 'Stílus', style: 'Stílus',
normal: 'Normál', p: 'Normál',
blockquote: 'Idézet', blockquote: 'Idézet',
pre: 'Kód', pre: 'Kód',
h1: 'Fejléc 1', h1: 'Fejléc 1',

View File

@ -29,7 +29,7 @@
videoLink: 'Link video', videoLink: 'Link video',
insert: 'Sisipkan video', insert: 'Sisipkan video',
url: 'Tautan video', url: 'Tautan video',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, atau Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion atau Youku)'
}, },
link: { link: {
link: 'Tautan', link: 'Tautan',
@ -48,7 +48,7 @@
}, },
style: { style: {
style: 'Gaya', style: 'Gaya',
normal: 'Normal', p: 'p',
blockquote: 'Kutipan', blockquote: 'Kutipan',
pre: 'Kode', pre: 'Kode',
h1: 'Heading 1', h1: 'Heading 1',

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'Stili', style: 'Stili',
normal: 'Normale', p: 'pe',
blockquote: 'Citazione', blockquote: 'Citazione',
pre: 'Codice', pre: 'Codice',
h1: 'Titolo 1', h1: 'Titolo 1',

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'スタイル', style: 'スタイル',
normal: '標準', p: '標準',
blockquote: '引用', blockquote: '引用',
pre: 'コード', pre: 'コード',
h1: '見出し1', h1: '見出し1',
@ -98,6 +98,35 @@
history: { history: {
undo: '元に戻す', undo: '元に戻す',
redo: 'やり直す' redo: 'やり直す'
},
help: {
'insertParagraph': '改行挿入',
'undo': '一旦、行った操作を戻す',
'redo': '最後のコマンドをやり直す',
'tab': 'Tab',
'untab': 'タブ戻し',
'bold': '太文字',
'italic': '斜体',
'underline': '下線',
'strikethrough': '取り消し線',
'removeFormat': '装飾を戻す',
'justifyLeft': '左寄せ',
'justifyCenter': '真ん中寄せ',
'justifyRight': '右寄せ',
'justifyFull': 'すべてを整列',
'insertUnorderedList': '行頭に●を挿入',
'insertOrderedList': '行頭に番号を挿入',
'outdent': '字下げを戻す(アウトデント)',
'indent': '字下げする(インデント)',
'formatPara': '段落(P tag)指定',
'formatH1': 'H1指定',
'formatH2': 'H2指定',
'formatH3': 'H3指定',
'formatH4': 'H4指定',
'formatH5': 'H5指定',
'formatH6': 'H6指定',
'insertHorizontalRule': '&lt;hr /&gt;を挿入',
'linkDialog.show': 'リンク挿入'
} }
} }
}); });

View File

@ -56,7 +56,7 @@
}, },
style: { style: {
style: '스타일', style: '스타일',
normal: '본문', p: '본문',
blockquote: '인용구', blockquote: '인용구',
pre: '코드', pre: '코드',
h1: '제목 1', h1: '제목 1',

View File

@ -50,7 +50,7 @@
}, },
style: { style: {
style: 'Stilius', style: 'Stilius',
normal: 'Normalus', p: 'pus',
blockquote: 'Citata', blockquote: 'Citata',
pre: 'Kodas', pre: 'Kodas',
h1: 'Antraštė 1', h1: 'Antraštė 1',

View File

@ -0,0 +1,135 @@
(function ($) {
$.extend($.summernote.lang, {
'lv-LV': {
font: {
bold: 'Treknraksts',
italic: 'Kursīvs',
underline: 'Pasvītrots',
clear: 'Noņemt formatējumu',
height: 'Līnijas augstums',
name: 'Fonts',
strikethrough: 'Nosvītrots',
superscript: 'Augšraksts',
subscript: 'Apakšraksts',
size: 'Fonta lielums'
},
image: {
image: 'Attēls',
insert: 'Ievietot attēlu',
resizeFull: 'Pilns izmērts',
resizeHalf: 'Samazināt 50%',
resizeQuarter: 'Samazināt 25%',
floatLeft: 'Līdzināt pa kreisi',
floatRight: 'Līdzināt pa labi',
floatNone: 'Nelīdzināt',
shapeRounded: 'Forma: apaļām malām',
shapeCircle: 'Forma: aplis',
shapeThumbnail: 'Forma: rāmītis',
shapeNone: 'Forma: orģināla',
dragImageHere: 'Ievēlciet attēlu šeit',
selectFromFiles: 'Izvēlēties failu',
maximumFileSize: 'Maksimālais faila izmērs',
maximumFileSizeError: 'Faila izmērs pārāk liels!',
url: 'Attēla URL',
remove: 'Dzēst attēlu'
},
link: {
link: 'Saite',
insert: 'Ievietot saiti',
unlink: 'Noņemt saiti',
edit: 'Rediģēt',
textToDisplay: 'Saites saturs',
url: 'Koks URL adresas yra susietas?',
openInNewWindow: 'Atvērt jaunā logā'
},
table: {
table: 'Tabula'
},
hr: {
insert: 'Ievietot līniju'
},
style: {
style: 'Stils',
p: 'Parasts',
blockquote: 'Citāts',
pre: 'Kods',
h1: 'Virsraksts h1',
h2: 'Virsraksts h2',
h3: 'Virsraksts h3',
h4: 'Virsraksts h4',
h5: 'Virsraksts h5',
h6: 'Virsraksts h6'
},
lists: {
unordered: 'Nenumurēts saraksts',
ordered: 'Numurēts saraksts'
},
options: {
help: 'Palīdzība',
fullscreen: 'Pa visu ekrānu',
codeview: 'HTML kods'
},
paragraph: {
paragraph: 'Paragrāfs',
outdent: 'Samazināt atkāpi',
indent: 'Palielināt atkāpi',
left: 'Līdzināt pa kreisi',
center: 'Centrēt',
right: 'Līdzināt pa labi',
justify: 'Līdzināt gar abām malām'
},
color: {
recent: 'Nesen izmantotās',
more: 'Citas krāsas',
background: 'Fona krāsa',
foreground: 'Fonta krāsa',
transparent: 'Caurspīdīgs',
setTransparent: 'Iestatīt caurspīdīgumu',
reset: 'Atjaunot',
resetToDefault: 'Atjaunot noklusējumu'
},
shortcut: {
shortcuts: 'Saīsnes',
close: 'Aizvērt',
textFormatting: 'Teksta formatēšana',
action: 'Darbība',
paragraphFormatting: 'Paragrāfa formatēšana',
documentStyle: 'Dokumenta stils',
extraKeys: 'Citas taustiņu kombinācijas'
},
history: {
undo: 'Atsauks (undo)',
redo: 'Atkārtot (redo)'
},
help: {
insertParagraph: 'Ievietot Paragrāfu',
undo: 'Atcelt iepriekšējo darbību',
redo: 'Atkārtot atcelto darbību',
tab: 'Atkāpe',
untab: 'Samazināt atkāpi',
bold: 'Pārvērst tekstu treknrakstā',
italic: 'Pārvērst tekstu slīprakstā (kursīvā)',
underline: 'Pasvītrot tekstu',
strikethrough: 'Nosvītrot tekstu',
removeFormat: 'Notīrīt stilu no teksta',
justifyLeft: 'Līdzīnāt saturu pa kreisi',
justifyCenter: 'Centrēt saturu',
justifyRight: 'Līdzīnāt saturu pa labi',
justifyFull: 'Izlīdzināt saturu gar abām malām',
insertUnorderedList: 'Ievietot nenumurētu sarakstu',
insertOrderedList: 'Ievietot numurētu sarakstu',
outdent: 'Samazināt/noņemt atkāpi paragrāfam',
indent: 'Uzlikt atkāpi paragrāfam',
formatPara: 'Mainīt bloka tipu uz (p) Paragrāfu',
formatH1: 'Mainīt bloka tipu uz virsrakstu H1',
formatH2: 'Mainīt bloka tipu uz virsrakstu H2',
formatH3: 'Mainīt bloka tipu uz virsrakstu H3',
formatH4: 'Mainīt bloka tipu uz virsrakstu H4',
formatH5: 'Mainīt bloka tipu uz virsrakstu H5',
formatH6: 'Mainīt bloka tipu uz virsrakstu H6',
insertHorizontalRule: 'Ievietot horizontālu līniju',
'linkDialog.show': 'Parādīt saites logu'
}
}
});
})(jQuery);

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normal', p: 'p',
blockquote: 'Sitat', blockquote: 'Sitat',
pre: 'Kode', pre: 'Kode',
h1: 'Overskrift 1', h1: 'Overskrift 1',

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'Stijl', style: 'Stijl',
normal: 'Normaal', p: 'Normaal',
blockquote: 'Quote', blockquote: 'Quote',
pre: 'Code', pre: 'Code',
h1: 'Kop 1', h1: 'Kop 1',

View File

@ -37,7 +37,7 @@
videoLink: 'Adres wideo', videoLink: 'Adres wideo',
insert: 'Wstaw wideo', insert: 'Wstaw wideo',
url: 'Adres wideo', url: 'Adres wideo',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, lub Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion lub Youku)'
}, },
link: { link: {
link: 'Odnośnik', link: 'Odnośnik',
@ -56,7 +56,7 @@
}, },
style: { style: {
style: 'Style', style: 'Style',
normal: 'Normalny', p: 'pny',
blockquote: 'Cytat', blockquote: 'Cytat',
pre: 'Kod', pre: 'Kod',
h1: 'Nagłówek 1', h1: 'Nagłówek 1',

View File

@ -14,22 +14,22 @@
image: { image: {
image: 'Imagem', image: 'Imagem',
insert: 'Inserir imagem', insert: 'Inserir imagem',
resizeFull: 'Resize Full', resizeFull: 'Redimensionar Completamente',
resizeHalf: 'Resize Half', resizeHalf: 'Redimensionar pela Metade',
resizeQuarter: 'Resize Quarter', resizeQuarter: 'Redimensionar um Quarto',
floatLeft: 'Float Left', floatLeft: 'Flutuar para Esquerda',
floatRight: 'Float Right', floatRight: 'Flutuar para Direira',
floatNone: 'Float None', floatNone: 'Não Flutuar',
dragImageHere: 'Arraste uma imagem para cá', dragImageHere: 'Arraste uma imagem para cá',
selectFromFiles: 'Selecione a partir dos arquivos', selectFromFiles: 'Selecione a partir dos arquivos',
url: 'URL da image' url: 'URL da imagem'
}, },
video: { video: {
video: 'Vídeo', video: 'Vídeo',
videoLink: 'Link para vídeo', videoLink: 'Link para vídeo',
insert: 'Inserir vídeo', insert: 'Inserir vídeo',
url: 'URL do vídeo?', url: 'URL do vídeo?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, ou Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)'
}, },
link: { link: {
link: 'Link', link: 'Link',
@ -97,6 +97,35 @@
history: { history: {
undo: 'Desfazer', undo: 'Desfazer',
redo: 'Refazer' redo: 'Refazer'
},
help: {
'insertParagraph': 'Inserir Parágrafo',
'undo': 'Desfazer o último comando',
'redo': 'Refazer o último comando',
'tab': 'Tab',
'untab': 'Desfazer tab',
'bold': 'Colocar em negrito',
'italic': 'Colocar em itálico',
'underline': 'Sublinhado',
'strikethrough': 'Tachado',
'removeFormat': 'Remover estilo',
'justifyLeft': 'Alinhar à esquerda',
'justifyCenter': 'Centralizar',
'justifyRight': 'Alinhar à esquerda',
'justifyFull': 'Justificar',
'insertUnorderedList': 'Lista não ordenada',
'insertOrderedList': 'Lista ordenada',
'outdent': 'Recuar parágrafo atual',
'indent': 'Avançar parágrafo atual',
'formatPara': 'Alterar formato do bloco para parágrafo(tag P)',
'formatH1': 'Alterar formato do bloco para H1',
'formatH2': 'Alterar formato do bloco para H2',
'formatH3': 'Alterar formato do bloco para H3',
'formatH4': 'Alterar formato do bloco para H4',
'formatH5': 'Alterar formato do bloco para H5',
'formatH6': 'Alterar formato do bloco para H6',
'insertHorizontalRule': 'Inserir régua horizontal',
'linkDialog.show': 'Inserir um Hiperlink'
} }
} }
}); });

View File

@ -24,6 +24,13 @@
selectFromFiles: 'Selecione a partir dos arquivos', selectFromFiles: 'Selecione a partir dos arquivos',
url: 'Endereço da imagem' url: 'Endereço da imagem'
}, },
video: {
video: 'Vídeo',
videoLink: 'Link para vídeo',
insert: 'Inserir vídeo',
url: 'URL do vídeo?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion ou Youku)'
},
link: { link: {
link: 'Link', link: 'Link',
insert: 'Inserir ligação', insert: 'Inserir ligação',
@ -41,7 +48,7 @@
}, },
style: { style: {
style: 'Estilo', style: 'Estilo',
normal: 'Normal', p: 'p',
blockquote: 'Citação', blockquote: 'Citação',
pre: 'Código', pre: 'Código',
h1: 'Título 1', h1: 'Título 1',

View File

@ -28,7 +28,7 @@
videoLink: 'Link video', videoLink: 'Link video',
insert: 'Inserează video', insert: 'Inserează video',
url: 'URL video?', url: 'URL video?',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, sau Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion sau Youku)'
}, },
link: { link: {
link: 'Link', link: 'Link',
@ -46,7 +46,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normal', p: 'p',
blockquote: 'Citat', blockquote: 'Citat',
pre: 'Preformatat', pre: 'Preformatat',
h1: 'Titlu 1', h1: 'Titlu 1',

View File

@ -56,7 +56,7 @@
}, },
style: { style: {
style: 'Стиль', style: 'Стиль',
normal: 'Нормальный', p: 'Нормальный',
blockquote: 'Цитата', blockquote: 'Цитата',
pre: 'Код', pre: 'Код',
h1: 'Заголовок 1', h1: 'Заголовок 1',

View File

@ -47,7 +47,7 @@
}, },
style: { style: {
style: 'Štýl', style: 'Štýl',
normal: 'Normálny', p: 'Normálny',
blockquote: 'Citácia', blockquote: 'Citácia',
pre: 'Kód', pre: 'Kód',
h1: 'Nadpis 1', h1: 'Nadpis 1',

View File

@ -51,7 +51,7 @@
}, },
style: { style: {
style: 'Slogi', style: 'Slogi',
normal: 'Navadno besedilo', p: 'Navadno besedilo',
blockquote: 'Citat', blockquote: 'Citat',
pre: 'Koda', pre: 'Koda',
h1: 'Naslov 1', h1: 'Naslov 1',

View File

@ -48,7 +48,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normalni', p: 'pni',
blockquote: 'Citat', blockquote: 'Citat',
pre: 'Kod', pre: 'Kod',
h1: 'Zaglavlje 1', h1: 'Zaglavlje 1',

View File

@ -48,7 +48,7 @@
}, },
style: { style: {
style: 'Стил', style: 'Стил',
normal: 'Нормални', p: 'Нормални',
blockquote: 'Цитат', blockquote: 'Цитат',
pre: 'Код', pre: 'Код',
h1: 'Заглавље 1', h1: 'Заглавље 1',

View File

@ -49,7 +49,7 @@
}, },
style: { style: {
style: 'Stil', style: 'Stil',
normal: 'Normal', p: 'p',
blockquote: 'Citat', blockquote: 'Citat',
pre: 'Kod', pre: 'Kod',
h1: 'Rubrik 1', h1: 'Rubrik 1',

View File

@ -0,0 +1,113 @@
(function ($) {
$.extend($.summernote.lang, {
'ta-IN': {
font: {
bold: 'தடித்த',
italic: 'சாய்வு',
underline: 'அடிக்கோடு',
clear: 'நீக்கு',
height: 'வரி உயரம்',
name: 'எழுத்துரு பெயர்',
strikethrough: 'குறுக்குக் கோடு',
size: 'எழுத்துரு அளவு',
superscript: 'மேல் ஒட்டு',
subscript: 'கீழ் ஒட்டு'
},
image: {
image: 'படம்',
insert: 'படத்தை செருகு',
resizeFull: 'முழு அளவை',
resizeHalf: 'அரை அளவை',
resizeQuarter: 'கால் அளவை',
floatLeft: 'இடப்பக்கமாக வை',
floatRight: 'வலப்பக்கமாக வை',
floatNone: 'இயல்புநிலையில் வை',
shapeRounded: 'வட்டமான வடிவம்',
shapeCircle: 'வட்ட வடிவம்',
shapeThumbnail: 'சிறு வடிவம்',
shapeNone: 'வடிவத்தை நீக்கு',
dragImageHere: 'படத்தை இங்கே இழுத்துவை',
dropImage: 'படத்தை விடு',
selectFromFiles: 'கோப்புகளை தேர்வு செய்',
maximumFileSize: 'அதிகபட்ச கோப்பு அளவு',
maximumFileSizeError: 'கோப்பு அதிகபட்ச அளவை மீறிவிட்டது',
url: 'இணையதள முகவரி',
remove: 'படத்தை நீக்கு'
},
video: {
video: 'காணொளி',
videoLink: 'காணொளி இணைப்பு',
insert: 'காணொளியை செருகு',
url: 'இணையதள முகவரி',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion or Youku)'
},
link: {
link: 'இணைப்பு',
insert: 'இணைப்பை செருகு',
unlink: 'இணைப்பை நீக்கு',
edit: 'இணைப்பை தொகு',
textToDisplay: 'காட்சி வாசகம்',
url: 'இணையதள முகவரி',
openInNewWindow: 'புதிய சாளரத்தில் திறக்க'
},
table: {
table: 'அட்டவணை'
},
hr: {
insert: 'கிடைமட்ட கோடு'
},
style: {
style: 'தொகுப்பு',
p: 'பத்தி',
blockquote: 'மேற்கோள்',
pre: 'குறியீடு',
h1: 'தலைப்பு 1',
h2: 'தலைப்பு 2',
h3: 'தலைப்பு 3',
h4: 'தலைப்பு 4',
h5: 'தலைப்பு 5',
h6: 'தலைப்பு 6'
},
lists: {
unordered: 'வரிசையிடாத',
ordered: 'வரிசையிட்ட'
},
options: {
help: 'உதவி',
fullscreen: 'முழுத்திரை',
codeview: 'நிரலாக்க காட்சி'
},
paragraph: {
paragraph: 'பத்தி',
outdent: 'வெளித்தள்ளு',
indent: 'உள்ளே தள்ளு',
left: 'இடது சீரமைப்பு',
center: 'நடு சீரமைப்பு',
right: 'வலது சீரமைப்பு',
justify: 'இருபுற சீரமைப்பு'
},
color: {
recent: 'அண்மை நிறம்',
more: 'மேலும்',
background: 'பின்புல நிறம்',
foreground: 'முன்புற நிறம்',
transparent: 'தெளிமையான',
setTransparent: 'தெளிமையாக்கு',
reset: 'மீட்டமைக்க',
resetToDefault: 'இயல்புநிலைக்கு மீட்டமை'
},
shortcut: {
shortcuts: 'குறுக்குவழி',
close: 'மூடு',
textFormatting: 'எழுத்து வடிவமைப்பு',
action: 'செயல்படுத்து',
paragraphFormatting: 'பத்தி வடிவமைப்பு',
documentStyle: 'ஆவண பாணி'
},
history: {
undo: 'மீளமை',
redo: 'மீண்டும்'
}
}
});
})(jQuery);

View File

@ -51,7 +51,7 @@
}, },
style: { style: {
style: 'รูปแบบ', style: 'รูปแบบ',
normal: 'ปกติ', p: 'ปกติ',
blockquote: 'ข้อความ', blockquote: 'ข้อความ',
pre: 'โค้ด', pre: 'โค้ด',
h1: 'หัวข้อ 1', h1: 'หัวข้อ 1',

View File

@ -27,7 +27,10 @@
shapeThumbnail: 'Şekil: K.Resim', shapeThumbnail: 'Şekil: K.Resim',
shapeNone: 'Şekil: Yok', shapeNone: 'Şekil: Yok',
dragImageHere: 'Buraya sürükleyin', dragImageHere: 'Buraya sürükleyin',
dropImage: 'Resim veya metni bırakın',
selectFromFiles: 'Dosya seçin', selectFromFiles: 'Dosya seçin',
maximumFileSize: 'Maksimum dosya boyutu',
maximumFileSizeError: 'Maksimum dosya boyutu aşıldı.',
url: 'Resim bağlantısı', url: 'Resim bağlantısı',
remove: 'Resimi Kaldır' remove: 'Resimi Kaldır'
}, },
@ -55,7 +58,7 @@
}, },
style: { style: {
style: 'Biçim', style: 'Biçim',
normal: 'Normal', p: 'p',
blockquote: 'Alıntı', blockquote: 'Alıntı',
pre: 'Önbiçimli', pre: 'Önbiçimli',
h1: 'Başlık 1', h1: 'Başlık 1',
@ -99,13 +102,46 @@
textFormatting: 'Yazı biçimlendirme', textFormatting: 'Yazı biçimlendirme',
action: 'Eylem', action: 'Eylem',
paragraphFormatting: 'Paragraf biçimlendirme', paragraphFormatting: 'Paragraf biçimlendirme',
documentStyle: 'Biçim' documentStyle: 'Biçim',
extraKeys: 'İlave anahtarlar'
},
help: {
'insertParagraph': 'Paragraf ekler',
'undo': 'Son komudu geri alır',
'redo': 'Son komudu yineler',
'tab': 'Girintiyi artırır',
'untab': 'Girintiyi azaltır',
'bold': 'Kalın yazma stilini ayarlar',
'italic': 'İtalik yazma stilini ayarlar',
'underline': 'Altı çizgili yazma stilini ayarlar',
'strikethrough': 'Üstü çizgili yazma stilini ayarlar',
'removeFormat': 'Biçimlendirmeyi temizler',
'justifyLeft': 'Yazıyı sola hizalar',
'justifyCenter': 'Yazıyı ortalar',
'justifyRight': 'Yazıyı sağa hizalar',
'justifyFull': 'Yazıyı her iki tarafa yazlar',
'insertUnorderedList': 'Madde işaretli liste ekler',
'insertOrderedList': 'Numaralı liste ekler',
'outdent': 'Aktif paragrafın girintisini azaltır',
'indent': 'Aktif paragrafın girintisini artırır',
'formatPara': 'Aktif bloğun biçimini paragraf (p) olarak değiştirir',
'formatH1': 'Aktif bloğun biçimini başlık 1 (h1) olarak değiştirir',
'formatH2': 'Aktif bloğun biçimini başlık 2 (h2) olarak değiştirir',
'formatH3': 'Aktif bloğun biçimini başlık 3 (h3) olarak değiştirir',
'formatH4': 'Aktif bloğun biçimini başlık 4 (h4) olarak değiştirir',
'formatH5': 'Aktif bloğun biçimini başlık 5 (h5) olarak değiştirir',
'formatH6': 'Aktif bloğun biçimini başlık 6 (h6) olarak değiştirir',
'insertHorizontalRule': 'Yatay çizgi ekler',
'linkDialog.show': 'Bağlantı ayar kutusunu gösterir'
}, },
history: { history: {
undo: 'Geri al', undo: 'Geri al',
redo: 'Yeniden yap' redo: 'Yinele'
},
specialChar: {
specialChar: 'ÖZEL KARAKTERLER',
select: 'Özel Karakterleri seçin'
} }
} }
}); });
})(jQuery); })(jQuery);

View File

@ -56,7 +56,7 @@
}, },
style: { style: {
style: 'Стиль', style: 'Стиль',
normal: 'Нормальний', p: 'Нормальний',
blockquote: 'Цитата', blockquote: 'Цитата',
pre: 'Код', pre: 'Код',
h1: 'Заголовок 1', h1: 'Заголовок 1',

View File

@ -3,54 +3,54 @@
'vi-VN': { 'vi-VN': {
font: { font: {
bold: 'In Đậm', bold: 'In Đậm',
italic: 'In Nghiên', italic: 'In Nghiêng',
underline: 'Gạch Dưới', underline: 'Gạch dưới',
clear: 'Bỏ Định Dạng', clear: 'Bỏ định dạng',
height: 'Khoảng Cách Hàng', height: 'Chiều cao dòng',
name: 'Phông Chữ', name: 'Phông chữ',
strikethrough: 'Gạch Ngang', strikethrough: 'Gạch ngang',
size: 'Cỡ Chữ' size: 'Cỡ chữ'
}, },
image: { image: {
image: 'Hình nh', image: 'Hình nh',
insert: 'Chèn', insert: 'Chèn',
resizeFull: '100%', resizeFull: '100%',
resizeHalf: '50%', resizeHalf: '50%',
resizeQuarter: '25%', resizeQuarter: '25%',
floatLeft: 'Canh Trái', floatLeft: 'Trôi về trái',
floatRight: 'Canh Phải', floatRight: 'Trôi về phải',
floatNone: 'Canh Đều', floatNone: 'Không trôi',
dragImageHere: 'Thả Ảnh Ở Đây', dragImageHere: 'Thả Ảnh ở vùng này',
selectFromFiles: 'Chọn Từ Files', selectFromFiles: 'Chọn từ File',
url: 'URL', url: 'URL',
remove: 'Ghỡ Bỏ' remove: 'Xóa'
}, },
video: { video: {
video: 'Video', video: 'Video',
videoLink: 'Đường Dẫn đến Video', videoLink: 'Link đến Video',
insert: 'Chèn Video', insert: 'Chèn Video',
url: 'URL', url: 'URL',
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)' providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion và Youku)'
}, },
link: { link: {
link: 'Đường Dẫn', link: 'Link',
insert: 'Chèn Đường Dẫn', insert: 'Chèn Link',
unlink: 'Ghỡ Đường Dẫn', unlink: 'Gỡ Link',
edit: 'Sửa', edit: 'Sửa',
textToDisplay: 'Text Hiển Thị', textToDisplay: 'Văn bản hiển thị',
url: 'URL', url: 'URL',
openInNewWindow: 'Mở ở Cửa Sổ Mới' openInNewWindow: 'Mở ở Cửa sổ mới'
}, },
table: { table: {
table: 'Bảng' table: 'Bảng'
}, },
hr: { hr: {
insert: 'Chèn Vào' insert: 'Chèn'
}, },
style: { style: {
style: 'Kiểu Chữ', style: 'Kiểu chữ',
normal: 'Chữ Thường', p: 'Chữ thường',
blockquote: 'Đoạn Trích', blockquote: 'Đoạn trích',
pre: 'Mã Code', pre: 'Mã Code',
h1: 'H1', h1: 'H1',
h2: 'H2', h2: 'H2',
@ -60,44 +60,44 @@
h6: 'H6' h6: 'H6'
}, },
lists: { lists: {
unordered: 'Liệt Kê Danh Sách', unordered: 'Liệt kê danh sách',
ordered: 'Liệt Kê Theo Số' ordered: 'Liệt kê theo thứ tự'
}, },
options: { options: {
help: 'Trợ Giúp', help: 'Trợ giúp',
fullscreen: 'Đầy Màn Hình', fullscreen: 'Toàn Màn hình',
codeview: 'Xem Dạng Code' codeview: 'Xem Code'
}, },
paragraph: { paragraph: {
paragraph: 'Canh Lề', paragraph: 'Canh lề',
outdent: 'Dịch Sang Trái', outdent: 'Dịch sang trái',
indent: 'Dịch Sang Phải', indent: 'Dịch sang phải',
left: 'Canh Trái', left: 'Canh trái',
center: 'Canh Giữa', center: 'Canh giữa',
right: 'Canh Phải', right: 'Canh phải',
justify: 'Canh Đều' justify: 'Canh đều'
}, },
color: { color: {
recent: 'Màu Chữ', recent: 'Màu chữ',
more: 'Mở Rộng', more: 'Mở rộng',
background: 'Màu Nền', background: 'Màu nền',
foreground: 'Màu Chữ', foreground: 'Màu chữ',
transparent: 'Trong Suốt', transparent: 'trong suốt',
setTransparent: 'Nền Trong Suốt', setTransparent: 'Nền trong suốt',
reset: 'Thiệt Lập Lại', reset: 'Thiết lập lại',
resetToDefault: 'Trở Lại Ban Đầu' resetToDefault: 'Trở lại ban đầu'
}, },
shortcut: { shortcut: {
shortcuts: 'Phím Tắt', shortcuts: 'Phím tắt',
close: 'Đóng', close: 'Đóng',
textFormatting: 'Định Dạng Văn Bản', textFormatting: 'Định dạng Văn bản',
action: 'Hành Động', action: 'Hành động',
paragraphFormatting: 'Định Dạng', paragraphFormatting: 'Định dạng',
documentStyle: 'Kiểu Văn Bản' documentStyle: 'Kiểu văn bản'
}, },
history: { history: {
undo: 'Lùi Lại', undo: 'Lùi lại',
redo: 'Làm Lại' redo: 'Làm lại'
} }
} }
}); });

View File

@ -57,7 +57,7 @@
}, },
style: { style: {
style: '样式', style: '样式',
normal: '普通', p: '普通',
blockquote: '引用', blockquote: '引用',
pre: '代码', pre: '代码',
h1: '标题 1', h1: '标题 1',
@ -107,6 +107,35 @@
history: { history: {
undo: '撤销', undo: '撤销',
redo: '重做' redo: '重做'
},
help: {
insertParagraph: '插入段落',
undo: '撤销',
redo: '重做',
tab: '增加缩进',
untab: '减少缩进',
bold: '粗体',
italic: '斜体',
underline: '下划线',
strikethrough: '删除线',
removeFormat: '清除格式',
justifyLeft: '左对齐',
justifyCenter: '居中对齐',
justifyRight: '右对齐',
justifyFull: '两端对齐',
insertUnorderedList: '无序列表',
insertOrderedList: '有序列表',
outdent: '减少缩进',
indent: '增加缩进',
formatPara: '设置选中内容样式为 普通',
formatH1: '设置选中内容样式为 标题1',
formatH2: '设置选中内容样式为 标题2',
formatH3: '设置选中内容样式为 标题3',
formatH4: '设置选中内容样式为 标题4',
formatH5: '设置选中内容样式为 标题5',
formatH6: '设置选中内容样式为 标题6',
insertHorizontalRule: '插入水平线',
'linkDialog.show': '显示链接对话框'
} }
} }
}); });

View File

@ -57,7 +57,7 @@
}, },
style: { style: {
style: '樣式', style: '樣式',
normal: '一般', p: '一般',
blockquote: '引用區塊', blockquote: '引用區塊',
pre: '程式碼區塊', pre: '程式碼區塊',
h1: '標題 1', h1: '標題 1',

View File

@ -0,0 +1,16 @@
.ext-databasic {
position: relative;
display: block;
min-height: 50px;
background-color: cyan;
text-align: center;
padding: 20px;
border: 1px solid white;
border-radius: 10px;
}
.ext-databasic p {
color: white;
font-size: 1.2em;
margin: 0;
}

View File

@ -0,0 +1,303 @@
(function (factory) {
/* global define */
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof module === 'object' && module.exports) {
// Node/CommonJS
module.exports = factory(require('jquery'));
} else {
// Browser globals
factory(window.jQuery);
}
}(function ($) {
// pull in some summernote core functions
var ui = $.summernote.ui;
var dom = $.summernote.dom;
// define the popover plugin
var DataBasicPlugin = function (context) {
var self = this;
var options = context.options;
var lang = options.langInfo;
self.icon = '<i class="fa fa-object-group"/>';
// add context menu button for dialog
context.memo('button.databasic', function () {
return ui.button({
contents: self.icon,
tooltip: lang.databasic.insert,
click: context.createInvokeHandler('databasic.showDialog')
}).render();
});
// add popover edit button
context.memo('button.databasicDialog', function () {
return ui.button({
contents: self.icon,
tooltip: lang.databasic.edit,
click: context.createInvokeHandler('databasic.showDialog')
}).render();
});
// add popover size buttons
context.memo('button.databasicSize100', function () {
return ui.button({
contents: '<span class="note-fontsize-10">100%</span>',
tooltip: lang.image.resizeFull,
click: context.createInvokeHandler('editor.resize', '1')
}).render();
});
context.memo('button.databasicSize50', function () {
return ui.button({
contents: '<span class="note-fontsize-10">50%</span>',
tooltip: lang.image.resizeHalf,
click: context.createInvokeHandler('editor.resize', '0.5')
}).render();
});
context.memo('button.databasicSize25', function () {
return ui.button({
contents: '<span class="note-fontsize-10">25%</span>',
tooltip: lang.image.resizeQuarter,
click: context.createInvokeHandler('editor.resize', '0.25')
}).render();
});
self.events = {
'summernote.init': function (we, e) {
// update existing containers
$('data.ext-databasic', e.editable).each(function () { self.setContent($(this)); });
// TODO: make this an undo snapshot...
},
'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function () {
self.update();
},
'summernote.dialog.shown': function () {
self.hidePopover();
}
};
self.initialize = function () {
// create dialog markup
var $container = options.dialogsInBody ? $(document.body) : context.layoutInfo.editor;
var body = '<div class="form-group row-fluid">' +
'<label>' + lang.databasic.testLabel + '</label>' +
'<input class="ext-databasic-test form-control" type="text" />' +
'</div>';
var footer = '<button href="#" class="btn btn-primary ext-databasic-save">' + lang.databasic.insert + '</button>';
self.$dialog = ui.dialog({
title: lang.databasic.name,
fade: options.dialogsFade,
body: body,
footer: footer
}).render().appendTo($container);
// create popover
self.$popover = ui.popover({
className: 'ext-databasic-popover'
}).render().appendTo('body');
var $content = self.$popover.find('.popover-content');
context.invoke('buttons.build', $content, options.popover.databasic);
};
self.destroy = function () {
self.$popover.remove();
self.$popover = null;
self.$dialog.remove();
self.$dialog = null;
};
self.update = function () {
// Prevent focusing on editable when invoke('code') is executed
if (!context.invoke('editor.hasFocus')) {
self.hidePopover();
return;
}
var rng = context.invoke('editor.createRange');
var visible = false;
if (rng.isOnData())
{
var $data = $(rng.sc).closest('data.ext-databasic');
if ($data.length)
{
var pos = dom.posFromPlaceholder($data[0]);
self.$popover.css({
display: 'block',
left: pos.left,
top: pos.top
});
// save editor target to let size buttons resize the container
context.invoke('editor.saveTarget', $data[0]);
visible = true;
}
}
// hide if not visible
if (!visible) {
self.hidePopover();
}
};
self.hidePopover = function () {
self.$popover.hide();
};
// define plugin dialog
self.getInfo = function () {
var rng = context.invoke('editor.createRange');
if (rng.isOnData())
{
var $data = $(rng.sc).closest('data.ext-databasic');
if ($data.length)
{
// Get the first node on range(for edit).
return {
node: $data,
test: $data.attr('data-test')
};
}
}
return {};
};
self.setContent = function ($node) {
$node.html('<p contenteditable="false">' + self.icon + ' ' + lang.databasic.name + ': ' +
$node.attr('data-test') + '</p>');
};
self.updateNode = function (info) {
self.setContent(info.node
.attr('data-test', info.test));
};
self.createNode = function (info) {
var $node = $('<data class="ext-databasic"></data>');
if ($node) {
// save node to info structure
info.node = $node;
// insert node into editor dom
context.invoke('editor.insertNode', $node[0]);
}
return $node;
};
self.showDialog = function () {
var info = self.getInfo();
var newNode = !info.node;
context.invoke('editor.saveRange');
self
.openDialog(info)
.then(function (dialogInfo) {
// [workaround] hide dialog before restore range for IE range focus
ui.hideDialog(self.$dialog);
context.invoke('editor.restoreRange');
// insert a new node
if (newNode)
{
self.createNode(info);
}
// update info with dialog info
$.extend(info, dialogInfo);
self.updateNode(info);
})
.fail(function () {
context.invoke('editor.restoreRange');
});
};
self.openDialog = function (info) {
return $.Deferred(function (deferred) {
var $inpTest = self.$dialog.find('.ext-databasic-test');
var $saveBtn = self.$dialog.find('.ext-databasic-save');
var onKeyup = function (event) {
if (event.keyCode === 13)
{
$saveBtn.trigger('click');
}
};
ui.onDialogShown(self.$dialog, function () {
context.triggerEvent('dialog.shown');
$inpTest.val(info.test).on('input', function () {
ui.toggleBtn($saveBtn, $inpTest.val());
}).trigger('focus').on('keyup', onKeyup);
$saveBtn
.text(info.node ? lang.databasic.edit : lang.databasic.insert)
.click(function (event) {
event.preventDefault();
deferred.resolve({ test: $inpTest.val() });
});
// init save button
ui.toggleBtn($saveBtn, $inpTest.val());
});
ui.onDialogHidden(self.$dialog, function () {
$inpTest.off('input keyup');
$saveBtn.off('click');
if (deferred.state() === 'pending') {
deferred.reject();
}
});
ui.showDialog(self.$dialog);
});
};
};
// Extends summernote
$.extend(true, $.summernote, {
plugins: {
databasic: DataBasicPlugin
},
options: {
popover: {
databasic: [
['databasic', ['databasicDialog', 'databasicSize100', 'databasicSize50', 'databasicSize25']]
]
}
},
// add localization texts
lang: {
'en-US': {
databasic: {
name: 'Basic Data Container',
insert: 'insert basic data container',
edit: 'edit basic data container',
testLabel: 'test input'
}
}
}
});
}));

View File

@ -85,14 +85,14 @@
var $tr = (idx % COLUMN_LENGTH === 0) ? $('<tr/>') : $table.find('tr').last(); var $tr = (idx % COLUMN_LENGTH === 0) ? $('<tr/>') : $table.find('tr').last();
var $button = ui.button({ var $button = ui.button({
callback : function ($node) { callback: function ($node) {
$node.html(text); $node.html(text);
$node.attr('title', text); $node.attr('title', text);
$node.attr('data-value', encodeURIComponent(text)); $node.attr('data-value', encodeURIComponent(text));
$node.css({ $node.css({
width: COLUMN_WIDTH, width: COLUMN_WIDTH,
'margin-right' : '2px', 'margin-right': '2px',
'margin-bottom' : '2px' 'margin-bottom': '2px'
}); });
} }
}).render(); }).render();
@ -293,7 +293,6 @@
ui.hideDialog(self.$dialog); ui.hideDialog(self.$dialog);
}); });
}); });
ui.onDialogHidden(self.$dialog, function () { ui.onDialogHidden(self.$dialog, function () {

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,12 @@
/** /**
* Super simple wysiwyg editor v0.8.1 * Super simple wysiwyg editor v0.8.3
* http://summernote.org/ * http://summernote.org/
* *
* summernote.js * summernote.js
* Copyright 2013-2015 Alan Hong. and other contributors * Copyright 2013-2016 Alan Hong. and other contributors
* summernote may be freely distributed under the MIT license./ * summernote may be freely distributed under the MIT license./
* *
* Date: 2016-02-15T18:35Z * Date: 2017-04-01T13:43Z
*/ */
(function (factory) { (function (factory) {
/* global define */ /* global define */
@ -140,6 +140,35 @@
}).join(''); }).join('');
}; };
/**
* Returns a function, that, as long as it continues to be invoked, will not
* be triggered. The function will be called after it stops being called for
* N milliseconds. If `immediate` is passed, trigger the function on the
* leading edge, instead of the trailing.
* @param {Function} func
* @param {Number} wait
* @param {Boolean} immediate
* @return {Function}
*/
var debounce = function (func, wait, immediate) {
var timeout;
return function () {
var context = this, args = arguments;
var later = function () {
timeout = null;
if (!immediate) {
func.apply(context, args);
}
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
return { return {
eq: eq, eq: eq,
eq2: eq2, eq2: eq2,
@ -153,7 +182,8 @@
uniqueId: uniqueId, uniqueId: uniqueId,
rect2bnd: rect2bnd, rect2bnd: rect2bnd,
invertObject: invertObject, invertObject: invertObject,
namespaceToCamel: namespaceToCamel namespaceToCamel: namespaceToCamel,
debounce: debounce
}; };
})(); })();
@ -294,7 +324,7 @@
}; };
/** /**
* returns a copy of the array with all falsy values removed * returns a copy of the array with all false values removed
* *
* @param {Array} array - array * @param {Array} array - array
* @param {Function} fn - predicate function for cluster rule * @param {Function} fn - predicate function for cluster rule
@ -394,18 +424,18 @@
var isEdge = /Edge\/\d+/.test(userAgent); var isEdge = /Edge\/\d+/.test(userAgent);
var hasCodeMirror = !!window.CodeMirror; var hasCodeMirror = !!window.CodeMirror;
if (!hasCodeMirror && isSupportAmd && require) { if (!hasCodeMirror && isSupportAmd && typeof require !== 'undefined') {
if (require.hasOwnProperty('resolve')) { if (typeof require.resolve !== 'undefined') {
try { try {
// If CodeMirror can't be resolved, `require.resolve` will throw an // If CodeMirror can't be resolved, `require.resolve` will throw an
// exception and `hasCodeMirror` won't be set to `true`. // exception and `hasCodeMirror` won't be set to `true`.
require.resolve('codemirror'); require.resolve('codemirror');
hasCodeMirror = true; hasCodeMirror = true;
} catch (e) { } catch (e) {
hasCodeMirror = false; // Do nothing.
} }
} else if (require.hasOwnProperty('specified')) { } else if (typeof eval('require').specified !== 'undefined') {
hasCodeMirror = require.specified('codemirror'); hasCodeMirror = eval('require').specified('codemirror');
} }
} }
@ -541,13 +571,16 @@
var isTable = makePredByNodeName('TABLE'); var isTable = makePredByNodeName('TABLE');
var isData = makePredByNodeName('DATA');
var isInline = function (node) { var isInline = function (node) {
return !isBodyContainer(node) && return !isBodyContainer(node) &&
!isList(node) && !isList(node) &&
!isHr(node) && !isHr(node) &&
!isPara(node) && !isPara(node) &&
!isTable(node) && !isTable(node) &&
!isBlockquote(node); !isBlockquote(node) &&
!isData(node);
}; };
var isList = function (node) { var isList = function (node) {
@ -630,7 +663,12 @@
return node.nodeValue.length; return node.nodeValue.length;
} }
return node.childNodes.length; if (node) {
return node.childNodes.length;
}
return 0;
}; };
/** /**
@ -902,6 +940,9 @@
* @return {Boolean} * @return {Boolean}
*/ */
var isRightEdgeOf = function (node, ancestor) { var isRightEdgeOf = function (node, ancestor) {
if (!ancestor) {
return false;
}
while (node && node !== ancestor) { while (node && node !== ancestor) {
if (position(node) !== nodeLength(node.parentNode) - 1) { if (position(node) !== nodeLength(node.parentNode) - 1) {
return false; return false;
@ -1440,6 +1481,7 @@
isPre: isPre, isPre: isPre,
isList: isList, isList: isList,
isTable: isTable, isTable: isTable,
isData: isData,
isCell: isCell, isCell: isCell,
isBlockquote: isBlockquote, isBlockquote: isBlockquote,
isBodyContainer: isBodyContainer, isBodyContainer: isBodyContainer,
@ -1579,6 +1621,8 @@
Object.keys(this.memos).forEach(function (key) { Object.keys(this.memos).forEach(function (key) {
self.removeMemo(key); self.removeMemo(key);
}); });
// trigger custom onDestroy callback
this.triggerEvent('destroy', this);
}; };
this.code = function (html) { this.code = function (html) {
@ -1730,6 +1774,7 @@
options = $.extend({}, $.summernote.options, options); options = $.extend({}, $.summernote.options, options);
options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]); options.langInfo = $.extend(true, {}, $.summernote.lang['en-US'], $.summernote.lang[options.lang]);
options.icons = $.extend(true, {}, $.summernote.options.icons, options.icons);
this.each(function (idx, note) { this.each(function (idx, note) {
var $note = $(note); var $note = $(note);
@ -1832,7 +1877,7 @@
var airEditable = renderer.create('<div class="note-editable" contentEditable="true"/>'); var airEditable = renderer.create('<div class="note-editable" contentEditable="true"/>');
var buttonGroup = renderer.create('<div class="note-btn-group btn-group">'); var buttonGroup = renderer.create('<div class="note-btn-group btn-group">');
var button = renderer.create('<button type="button" class="note-btn btn btn-default btn-sm">', function ($node, options) { var button = renderer.create('<button type="button" class="note-btn btn btn-default btn-sm" tabindex="-1">', function ($node, options) {
if (options && options.tooltip) { if (options && options.tooltip) {
$node.attr({ $node.attr({
title: options.tooltip title: options.tooltip
@ -2073,7 +2118,7 @@
}, },
style: { style: {
style: 'Style', style: 'Style',
normal: 'Normal', p: 'Normal',
blockquote: 'Quote', blockquote: 'Quote',
pre: 'Code', pre: 'Code',
h1: 'Header 1', h1: 'Header 1',
@ -2684,8 +2729,10 @@
this.isOnList = makeIsOn(dom.isList); this.isOnList = makeIsOn(dom.isList);
// isOnAnchor: judge whether range is on anchor node or not // isOnAnchor: judge whether range is on anchor node or not
this.isOnAnchor = makeIsOn(dom.isAnchor); this.isOnAnchor = makeIsOn(dom.isAnchor);
// isOnAnchor: judge whether range is on cell node or not // isOnCell: judge whether range is on cell node or not
this.isOnCell = makeIsOn(dom.isCell); this.isOnCell = makeIsOn(dom.isCell);
// isOnData: judge whether range is on data node or not
this.isOnData = makeIsOn(dom.isData);
/** /**
* @param {Function} pred * @param {Function} pred
@ -3744,8 +3791,12 @@
} }
context.triggerEvent('keydown', event); context.triggerEvent('keydown', event);
if (options.shortcuts && !event.isDefaultPrevented()) { if (!event.isDefaultPrevented()) {
self.handleKeyMap(event); if (options.shortcuts) {
self.handleKeyMap(event);
} else {
self.preventDefaultEditableShortCuts(event);
}
} }
}).on('keyup', function (event) { }).on('keyup', function (event) {
context.triggerEvent('keyup', event); context.triggerEvent('keyup', event);
@ -3769,9 +3820,9 @@
// [workaround] IE doesn't have input events for contentEditable // [workaround] IE doesn't have input events for contentEditable
// - see: https://goo.gl/4bfIvA // - see: https://goo.gl/4bfIvA
var changeEventName = agent.isMSIE ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input'; var changeEventName = agent.isMSIE ? 'DOMCharacterDataModified DOMSubtreeModified DOMNodeInserted' : 'input';
$editable.on(changeEventName, function () { $editable.on(changeEventName, func.debounce(function () {
context.triggerEvent('change', $editable.html()); context.triggerEvent('change', $editable.html());
}); }, 250));
$editor.on('focusin', function (event) { $editor.on('focusin', function (event) {
context.triggerEvent('focusin', event); context.triggerEvent('focusin', event);
@ -3779,14 +3830,19 @@
context.triggerEvent('focusout', event); context.triggerEvent('focusout', event);
}); });
if (!options.airMode && options.height) { if (!options.airMode) {
this.setHeight(options.height); if (options.width) {
} $editor.outerWidth(options.width);
if (!options.airMode && options.maxHeight) { }
$editable.css('max-height', options.maxHeight); if (options.height) {
} $editable.outerHeight(options.height);
if (!options.airMode && options.minHeight) { }
$editable.css('min-height', options.minHeight); if (options.maxHeight) {
$editable.css('max-height', options.maxHeight);
}
if (options.minHeight) {
$editable.css('min-height', options.minHeight);
}
} }
history.recordUndo(); history.recordUndo();
@ -3818,6 +3874,14 @@
} }
}; };
this.preventDefaultEditableShortCuts = function (event) {
// B(Bold, 66) / I(Italic, 73) / U(Underline, 85)
if ((event.ctrlKey || event.metaKey) &&
list.contains([66, 73, 85], event.keyCode)) {
event.preventDefault();
}
};
/** /**
* create range * create range
* @return {WrappedRange} * @return {WrappedRange}
@ -4255,8 +4319,17 @@
var rng = linkInfo.range || this.createRange(); var rng = linkInfo.range || this.createRange();
var isTextChanged = rng.toString() !== linkText; var isTextChanged = rng.toString() !== linkText;
// handle spaced urls from input
if (typeof linkUrl === 'string') {
linkUrl = linkUrl.trim();
}
if (options.onCreateLink) { if (options.onCreateLink) {
linkUrl = options.onCreateLink(linkUrl); linkUrl = options.onCreateLink(linkUrl);
} else {
// if url doesn't match an URL schema, set http:// as default
linkUrl = /^[A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?/.test(linkUrl) ?
linkUrl : 'http://' + linkUrl;
} }
var anchors = []; var anchors = [];
@ -4430,13 +4503,6 @@
this.empty = function () { this.empty = function () {
context.invoke('code', dom.emptyPara); context.invoke('code', dom.emptyPara);
}; };
/**
* set height for editable
*/
this.setHeight = function (height) {
$editable.outerHeight(height);
};
}; };
var Clipboard = function (context) { var Clipboard = function (context) {
@ -4468,7 +4534,7 @@
// - IE11 and Firefox: CTRL+v hook // - IE11 and Firefox: CTRL+v hook
// - Webkit: event.clipboardData // - Webkit: event.clipboardData
if (this.needKeydownHook()) { if (this.needKeydownHook()) {
this.$paste = $('<div />').attr('contenteditable', true).css({ this.$paste = $('<div tabindex="-1" />').attr('contenteditable', true).css({
position: 'absolute', position: 'absolute',
left: -100000, left: -100000,
opacity: 0 opacity: 0
@ -4543,6 +4609,7 @@
var $editable = context.layoutInfo.editable; var $editable = context.layoutInfo.editable;
var options = context.options; var options = context.options;
var lang = options.langInfo; var lang = options.langInfo;
var documentEventHandlers = {};
var $dropzone = $([ var $dropzone = $([
'<div class="note-dropzone">', '<div class="note-dropzone">',
@ -4550,15 +4617,23 @@
'</div>' '</div>'
].join('')).prependTo($editor); ].join('')).prependTo($editor);
var detachDocumentEvent = function () {
Object.keys(documentEventHandlers).forEach(function (key) {
$document.off(key.substr(2).toLowerCase(), documentEventHandlers[key]);
});
documentEventHandlers = {};
};
/** /**
* attach Drag and Drop Events * attach Drag and Drop Events
*/ */
this.initialize = function () { this.initialize = function () {
if (options.disableDragAndDrop) { if (options.disableDragAndDrop) {
// prevent default drop event // prevent default drop event
$document.on('drop', function (e) { documentEventHandlers.onDrop = function (e) {
e.preventDefault(); e.preventDefault();
}); };
$document.on('drop', documentEventHandlers.onDrop);
} else { } else {
this.attachDragAndDropEvent(); this.attachDragAndDropEvent();
} }
@ -4571,9 +4646,7 @@
var collection = $(), var collection = $(),
$dropzoneMessage = $dropzone.find('.note-dropzone-message'); $dropzoneMessage = $dropzone.find('.note-dropzone-message');
// show dropzone on dragenter when dragging a object to document documentEventHandlers.onDragenter = function (e) {
// -but only if the editor is visible, i.e. has a positive width and height
$document.on('dragenter', function (e) {
var isCodeview = context.invoke('codeview.isActivated'); var isCodeview = context.invoke('codeview.isActivated');
var hasEditorSize = $editor.width() > 0 && $editor.height() > 0; var hasEditorSize = $editor.width() > 0 && $editor.height() > 0;
if (!isCodeview && !collection.length && hasEditorSize) { if (!isCodeview && !collection.length && hasEditorSize) {
@ -4583,15 +4656,25 @@
$dropzoneMessage.text(lang.image.dragImageHere); $dropzoneMessage.text(lang.image.dragImageHere);
} }
collection = collection.add(e.target); collection = collection.add(e.target);
}).on('dragleave', function (e) { };
documentEventHandlers.onDragleave = function (e) {
collection = collection.not(e.target); collection = collection.not(e.target);
if (!collection.length) { if (!collection.length) {
$editor.removeClass('dragover'); $editor.removeClass('dragover');
} }
}).on('drop', function () { };
documentEventHandlers.onDrop = function () {
collection = $(); collection = $();
$editor.removeClass('dragover'); $editor.removeClass('dragover');
}); };
// show dropzone on dragenter when dragging a object to document
// -but only if the editor is visible, i.e. has a positive width and height
$document.on('dragenter', documentEventHandlers.onDragenter)
.on('dragleave', documentEventHandlers.onDragleave)
.on('drop', documentEventHandlers.onDrop);
// change dropzone's message on hover. // change dropzone's message on hover.
$dropzone.on('dragenter', function () { $dropzone.on('dragenter', function () {
@ -4625,6 +4708,10 @@
} }
}).on('dragover', false); // prevent default dragover event }).on('dragover', false); // prevent default dragover event
}; };
this.destroy = function () {
detachDocumentEvent();
};
}; };
@ -4748,6 +4835,7 @@
this.initialize = function () { this.initialize = function () {
if (options.airMode || options.disableResizeEditor) { if (options.airMode || options.disableResizeEditor) {
this.destroy();
return; return;
} }
@ -4772,6 +4860,7 @@
this.destroy = function () { this.destroy = function () {
$statusbar.off(); $statusbar.off();
$statusbar.remove();
}; };
}; };
@ -4938,7 +5027,7 @@
var AutoLink = function (context) { var AutoLink = function (context) {
var self = this; var self = this;
var defaultScheme = 'http://'; var defaultScheme = 'http://';
var linkPattern = /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i; var linkPattern = /^([A-Za-z][A-Za-z0-9+-.]*\:[\/\/]?|mailto:[A-Z0-9._%+-]+@)?(www\.)?(.+)$/i;
this.events = { this.events = {
'summernote.keyup': function (we, e) { 'summernote.keyup': function (we, e) {
@ -5056,6 +5145,10 @@
var representShortcut = this.representShortcut = function (editorMethod) { var representShortcut = this.representShortcut = function (editorMethod) {
var shortcut = invertedKeyMap[editorMethod]; var shortcut = invertedKeyMap[editorMethod];
if (!options.shortcuts || !shortcut) {
return '';
}
if (agent.isMac) { if (agent.isMac) {
shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧'); shortcut = shortcut.replace('CMD', '⌘').replace('SHIFT', '⇧');
} }
@ -5105,13 +5198,13 @@
template: function (item) { template: function (item) {
if (typeof item === 'string') { if (typeof item === 'string') {
item = { tag: item, title: item }; item = { tag: item, title: (lang.style.hasOwnProperty(item) ? lang.style[item] : item) };
} }
var tag = item.tag; var tag = item.tag;
var title = item.title; var title = item.title;
var style = item.style ? ' style="' + item.style + '" ' : ''; var style = item.style ? ' style="' + item.style + '" ' : '';
var className = item.className ? ' className="' + item.className + '"' : ''; var className = item.className ? ' class="' + item.className + '"' : '';
return '<' + tag + style + className + '>' + title + '</' + tag + '>'; return '<' + tag + style + className + '>' + title + '</' + tag + '>';
}, },
@ -5441,7 +5534,7 @@
context.memo('button.link', function () { context.memo('button.link', function () {
return ui.button({ return ui.button({
contents: ui.icon(options.icons.link), contents: ui.icon(options.icons.link),
tooltip: lang.link.link, tooltip: lang.link.link + representShortcut('linkDialog.show'),
click: context.createInvokeHandler('linkDialog.show') click: context.createInvokeHandler('linkDialog.show')
}).render(); }).render();
}); });
@ -5838,6 +5931,13 @@
}); });
}; };
/**
* toggle update button
*/
this.toggleLinkBtn = function ($linkBtn, $linkText, $linkUrl) {
ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());
};
/** /**
* Show link dialog and set event handlers on dialog controls. * Show link dialog and set event handlers on dialog controls.
* *
@ -5854,30 +5954,38 @@
ui.onDialogShown(self.$dialog, function () { ui.onDialogShown(self.$dialog, function () {
context.triggerEvent('dialog.shown'); context.triggerEvent('dialog.shown');
// if no url was given, copy text to url
if (!linkInfo.url) {
linkInfo.url = linkInfo.text;
}
$linkText.val(linkInfo.text); $linkText.val(linkInfo.text);
$linkText.on('input', function () { var handleLinkTextUpdate = function () {
ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val()); self.toggleLinkBtn($linkBtn, $linkText, $linkUrl);
// if linktext was modified by keyup, // if linktext was modified by keyup,
// stop cloning text from linkUrl // stop cloning text from linkUrl
linkInfo.text = $linkText.val(); linkInfo.text = $linkText.val();
};
$linkText.on('input', handleLinkTextUpdate).on('paste', function () {
setTimeout(handleLinkTextUpdate, 0);
}); });
// if no url was given, copy text to url var handleLinkUrlUpdate = function () {
if (!linkInfo.url) { self.toggleLinkBtn($linkBtn, $linkText, $linkUrl);
linkInfo.url = linkInfo.text || 'http://';
ui.toggleBtn($linkBtn, linkInfo.text);
}
$linkUrl.on('input', function () {
ui.toggleBtn($linkBtn, $linkText.val() && $linkUrl.val());
// display same link on `Text to display` input // display same link on `Text to display` input
// when create a new link // when create a new link
if (!linkInfo.text) { if (!linkInfo.text) {
$linkText.val($linkUrl.val()); $linkText.val($linkUrl.val());
} }
};
$linkUrl.on('input', handleLinkUrlUpdate).on('paste', function () {
setTimeout(handleLinkUrlUpdate, 0);
}).val(linkInfo.url).trigger('focus'); }).val(linkInfo.url).trigger('focus');
self.toggleLinkBtn($linkBtn, $linkText, $linkUrl);
self.bindEnterKey($linkUrl, $linkBtn); self.bindEnterKey($linkUrl, $linkBtn);
self.bindEnterKey($linkText, $linkBtn); self.bindEnterKey($linkText, $linkBtn);
@ -5898,8 +6006,8 @@
ui.onDialogHidden(self.$dialog, function () { ui.onDialogHidden(self.$dialog, function () {
// detach events // detach events
$linkText.off('input keypress'); $linkText.off('input paste keypress');
$linkUrl.off('input keypress'); $linkUrl.off('input paste keypress');
$linkBtn.off('click'); $linkBtn.off('click');
if (deferred.state() === 'pending') { if (deferred.state() === 'pending') {
@ -6017,7 +6125,7 @@
'<input class="note-image-input form-control" type="file" name="files" accept="image/*" multiple="multiple" />' + '<input class="note-image-input form-control" type="file" name="files" accept="image/*" multiple="multiple" />' +
imageLimitation + imageLimitation +
'</div>' + '</div>' +
'<div class="form-group" style="overflow:auto;">' + '<div class="form-group note-group-image-url" style="overflow:auto;">' +
'<label>' + lang.image.url + '</label>' + '<label>' + lang.image.url + '</label>' +
'<input class="note-image-url form-control col-md-12" type="text" />' + '<input class="note-image-url form-control col-md-12" type="text" />' +
'</div>'; '</div>';
@ -6195,13 +6303,13 @@
var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/; var ytRegExp = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
var ytMatch = url.match(ytRegExp); var ytMatch = url.match(ytRegExp);
var igRegExp = /\/\/instagram.com\/p\/(.[a-zA-Z0-9_-]*)/; var igRegExp = /(?:www\.|\/\/)instagram\.com\/p\/(.[a-zA-Z0-9_-]*)/;
var igMatch = url.match(igRegExp); var igMatch = url.match(igRegExp);
var vRegExp = /\/\/vine.co\/v\/(.[a-zA-Z0-9]*)/; var vRegExp = /\/\/vine\.co\/v\/([a-zA-Z0-9]+)/;
var vMatch = url.match(vRegExp); var vMatch = url.match(vRegExp);
var vimRegExp = /\/\/(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/; var vimRegExp = /\/\/(player\.)?vimeo\.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/;
var vimMatch = url.match(vimRegExp); var vimMatch = url.match(vimRegExp);
var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/; var dmRegExp = /.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/;
@ -6229,7 +6337,7 @@
} else if (igMatch && igMatch[0].length) { } else if (igMatch && igMatch[0].length) {
$video = $('<iframe>') $video = $('<iframe>')
.attr('frameborder', 0) .attr('frameborder', 0)
.attr('src', igMatch[0] + '/embed/') .attr('src', 'https://instagram.com/p/' + igMatch[1] + '/embed/')
.attr('width', '612').attr('height', '710') .attr('width', '612').attr('height', '710')
.attr('scrolling', 'no') .attr('scrolling', 'no')
.attr('allowtransparency', 'true'); .attr('allowtransparency', 'true');
@ -6356,9 +6464,9 @@
var body = [ var body = [
'<p class="text-center">', '<p class="text-center">',
'<a href="//summernote.org/" target="_blank">Summernote 0.8.1</a> · ', '<a href="http://summernote.org/" target="_blank">Summernote 0.8.3</a> · ',
'<a href="//github.com/summernote/summernote" target="_blank">Project</a> · ', '<a href="https://github.com/summernote/summernote" target="_blank">Project</a> · ',
'<a href="//github.com/summernote/summernote/issues" target="_blank">Issues</a>', '<a href="https://github.com/summernote/summernote/issues" target="_blank">Issues</a>',
'</p>' '</p>'
].join(''); ].join('');
@ -6701,8 +6809,9 @@
$.summernote = $.extend($.summernote, { $.summernote = $.extend($.summernote, {
version: '0.8.1', version: '0.8.3',
ui: ui, ui: ui,
dom: dom,
plugins: {}, plugins: {},
@ -6823,7 +6932,6 @@
onEnter: null, onEnter: null,
onKeyup: null, onKeyup: null,
onKeydown: null, onKeydown: null,
onSubmit: null,
onImageUpload: null, onImageUpload: null,
onImageUploadError: null onImageUploadError: null
}, },

File diff suppressed because one or more lines are too long