barre_outils_edition = {"nameSpace":"edition","previewAutoRefresh":false,"onEnter":{"keepDefault":false,"selectionType":"return","replaceWith":"\n"}
,"onShiftEnter":{"keepDefault":false,"replaceWith":"\n_ "}
,"onCtrlEnter":{"keepDefault":false,"replaceWith":"\n\n"}
,"markupSet":[{"name":"Transformer en {{{intertitre}}}","key":"H","className":"outil_header1","openWith":"\n{{{","closeWith":"}}}\n","selectionType":"line"}
,{"name":"Mettre en {{gras}}","key":"B","className":"outil_bold","replaceWith":function(h){ return espace_si_accolade(h, '{{', '}}');},"selectionType":"word"}
,{"name":"Mettre en {italique}","key":"I","className":"outil_italic","replaceWith":function(h){ return espace_si_accolade(h, '{', '}');},"selectionType":"word"}
,{"name":"Mettre en liste","className":"outil_liste_ul separateur_avant","replaceWith":function(h){ return outil_liste(h, '*');},"selectionType":"line","forceMultiline":true,"dropMenu":[{"id":"liste_ol","name":"Mettre en liste numérotée","className":"outil_liste_ol","replaceWith":function(h){ return outil_liste(h, '#');},"display":true,"selectionType":"line","forceMultiline":true}
,{"id":"desindenter","name":"Désindenter une liste","className":"outil_desindenter","replaceWith":function(h){return outil_desindenter(h);},"display":true,"selectionType":"line","forceMultiline":true}
,{"id":"indenter","name":"Indenter une liste","className":"outil_indenter","replaceWith":function(h){return outil_indenter(h);},"display":true,"selectionType":"line","forceMultiline":true}
]
}
,{"name":"Transformer en [lien hypertexte->http://...]","key":"L","className":"outil_link separateur separateur_apres sepLink","openWith":"[","closeWith":"->[![Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http://www.monsite.com, une adresse courriel, ou simplement indiquer le numéro d’un article de ce site.]!]]"}
,{"name":"Transformer en [[Note de bas de page]]","className":"outil_notes separateur_avant","openWith":"[[","closeWith":"]]","selectionType":"word"}
,{"name":"Citer un message
","key":"Q","className":"outil_quote separateur separateur_apres sepGuillemets","openWith":"\n","closeWith":"
\n","selectionType":"word","dropMenu":[{"id":"barre_poesie","name":"Mettre en forme comme une poésie","className":"outil_poesie","openWith":"\n","closeWith":"\n","display":true,"selectionType":"line"}
]
}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets","openWith":"«","closeWith":"»","lang":["fr","eo","cpf","ar","es"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_simples","openWith":"“","closeWith":"”","display":true,"lang":["fr","eo","cpf","ar","es"]
,"selectionType":"word"}
]
}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets_de","openWith":"„","closeWith":"“","lang":["bg","de","pl","hr","src"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_de_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_de_simples","openWith":"‚","closeWith":"‘","display":true,"lang":["bg","de","pl","hr","src"]
,"selectionType":"word"}
]
}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets_simples separateur_avant","openWith":"“","closeWith":"”","lang_not":["fr","eo","cpf","ar","es","bg","de","pl","hr","src"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_autres_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_uniques","openWith":"‘","closeWith":"’","display":true,"lang_not":["fr","eo","cpf","ar","es","bg","de","pl","hr","src"]
,"selectionType":"word"}
]
}
,{"name":"Insérer des caractères spécifiques","className":"outil_caracteres separateur separateur_apres sepCaracteres separateur_avant","dropMenu":[{"id":"A_grave","name":"Insérer un À","className":"outil_a_maj_grave","replaceWith":"À","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"E_aigu","name":"Insérer un É","className":"outil_e_maj_aigu","replaceWith":"É","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"E_grave","name":"Insérer un È","className":"outil_e_maj_grave","replaceWith":"È","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"aelig","name":"Insérer un æ","className":"outil_aelig","replaceWith":"æ","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"AElig","name":"Insérer un Æ","className":"outil_aelig_maj","replaceWith":"Æ","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"oe","name":"Insérer un œ","className":"outil_oe","replaceWith":"œ","display":true,"lang":["fr"]
}
,{"id":"OE","name":"Insérer un Œ","className":"outil_oe_maj","replaceWith":"Œ","display":true,"lang":["fr"]
}
,{"id":"Ccedil","name":"Insérer un Ç","className":"outil_ccedil_maj","replaceWith":"Ç","display":true,"lang":["fr","eo","cpf"]
}
,{"id":"uppercase","name":"Passer en majuscules","className":"outil_uppercase","replaceWith":function(markitup) { return markitup.selection.toUpperCase() },"display":true,"lang":["fr","en"]
}
,{"id":"lowercase","name":"Passer en minuscules","className":"outil_lowercase","replaceWith":function(markitup) { return markitup.selection.toLowerCase() },"display":true,"lang":["fr","en"]
}
]
}
,{"name":"Insérer 1 paragraphe de faux texte latin","className":"outil_lorem_ipsum separateur separateur_apres sepLorem","replaceWith":"\n\nLorem ipsum dolor sit amet, consectetuer adipiscing elit.Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna.\n\n","dropMenu":[{"id":"lorem_ipsum_big","name":"outil texte lorem ipsum 3 paragraphes","className":"outil_lorem_ipsum_big","replaceWith":"\n\nLorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur lacus mi, varius sit amet, suscipit in, hendrerit sit amet, turpis. Duis in odio. Fusce mauris. Nulla quis ante. Vestibulum id dui. Curabitur quis est ac quam euismod ullamcorper. Phasellus nec justo. Vestibulum id erat sed odio ultrices hendrerit. Duis fermentum, velit ut pretium fermentum, felis turpis rhoncus justo, vel adipiscing nulla lectus sed eros. In hac habitasse platea dictumst. In hac habitasse platea dictumst. Curabitur tellus velit, consequat nec, tincidunt sit amet, posuere vel, ligula. Aenean auctor mollis mi. In adipiscing dolor vel diam. Morbi justo. Maecenas eu risus id mi tincidunt vestibulum.\n\nMaecenas lacinia. Sed aliquet bibendum nisl. Vivamus vulputate, sapien ut molestie iaculis, diam libero porttitor dolor, eget semper orci orci ut sem. Nunc venenatis. Curabitur adipiscing, velit at iaculis dictum, lacus nulla adipiscing mauris, id rhoncus velit nisl ac mauris. Aliquam egestas, sapien sed placerat lacinia, tellus erat tempor quam, at sollicitudin ligula eros sit amet sapien. Nam at dui id libero vehicula sodales. Vestibulum dictum risus eget metus. Cras lorem. Pellentesque lobortis sodales ipsum. Vivamus convallis lectus in nunc. Vivamus metus libero, ullamcorper in, porttitor nec, dapibus id, est. Praesent pede. Sed viverra consequat leo. Mauris pharetra tortor a orci.\n\nMaecenas sed lacus. Phasellus iaculis risus et elit. Morbi sagittis nunc vitae sem. Aliquam ac lorem vel magna ornare malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris est dolor, aliquam eget, feugiat ut, tempus at, arcu. Duis porta, pede sed hendrerit pellentesque, orci dolor consectetuer risus, id scelerisque tellus ipsum quis felis. Sed ultrices. Nullam eleifend dui sodales massa. Morbi consectetuer pellentesque dui. Vestibulum urna. Fusce congue velit ut erat. Aliquam quis odio sollicitudin ipsum euismod porta. Vivamus pharetra, lacus eu tempor lobortis, diam nisi vulputate lorem, ut aliquet dui neque eu sem. Morbi varius, nisi ac laoreet mollis, pede odio cursus nisi, in imperdiet dolor enim at metus. Nunc pretium pulvinar tortor. Vestibulum euismod ultrices est. Etiam lobortis, enim ut bibendum dictum, urna orci lacinia tortor, at eleifend pede sem eu sem. Morbi a neque. Vestibulum cursus.\n\n","display":true}
]
}
,{"name":"Utiliser un outil du Couteau Suisse","className":"couteau_suisse_drop separateur_avant","replaceWith":"","dropMenu":[{"id":"blocs_bloc","name":"Insérer un bloc replié","className":"blocs_bloc","replaceWith":"\nUn titre\n\nPlacez votre texte ici\n\n","display":true}
,{"id":"blocs_visible","name":"Insérer un bloc déplié","className":"blocs_visible","replaceWith":"\nUn titre\n\nPlacez votre texte ici\n\n","display":true}
]
}
,{"name":"Insérer un code informatique (code)","className":"outil_code separateur separateur_apres sepCode","openWith":"","closeWith":"","dropMenu":[{"id":"cadre","name":"Insérer un code préformaté (cadre)","className":"outil_cadre","openWith":"\n","closeWith":"\n","display":true}
]
}
]
}
// remplace ou cree -* ou -** ou -# ou -##
function outil_liste(h, c) {
if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/))) {
r[1] = r[1].replace(/[#*]/g, c);
s = '-'+r[1]+' '+r[2];
} else {
s = '-' + c + ' '+s;
}
return s;
}
// indente des -* ou -#
function outil_indenter(h) {
if (s = h.selection) {
if (s.substr(0,2)=='-*') {
s = '-**' + s.substr(2);
} else if (s.substr(0,2)=='-#') {
s = '-##' + s.substr(2);
} else {
s = '-* ' + s;
}
}
return s;
}
// desindente des -* ou -** ou -# ou -##
function outil_desindenter(h){
if (s = h.selection) {
if (s.substr(0,3)=='-**') {
s = '-*' + s.substr(3);
} else if (s.substr(0,3)=='-* ') {
s = s.substr(3);
} else if (s.substr(0,3)=='-##') {
s = '-#' + s.substr(3);
} else if (s.substr(0,3)=='-# ') {
s = s.substr(3);
}
}
return s;
}
// ajouter un espace avant, apres un {qqc} pour ne pas que
// gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} }
function espace_si_accolade(h, openWith, closeWith){
if (s = h.selection) {
// accolade dans la selection
if (s.charAt(0)=='{') {
return openWith + ' ' + s + ' ' + closeWith;
}
// accolade avant la selection
else if (c = h.textarea.selectionStart) {
if (h.textarea.value.charAt(c-1) == '{') {
return ' ' + openWith + s + closeWith + ' ';
}
}
}
return openWith + s + closeWith;
}
barre_outils_forum = {"nameSpace":"forum","previewAutoRefresh":false,"onEnter":{"keepDefault":false,"selectionType":"return","replaceWith":"\n"}
,"onShiftEnter":{"keepDefault":false,"replaceWith":"\n_ "}
,"onCtrlEnter":{"keepDefault":false,"replaceWith":"\n\n"}
,"markupSet":[{"name":"Mettre en {{gras}}","key":"B","className":"outil_bold","replaceWith":function(h){ return espace_si_accolade(h, '{{', '}}');},"selectionType":"word"}
,{"name":"Mettre en {italique}","key":"I","className":"outil_italic separateur_avant","replaceWith":function(h){ return espace_si_accolade(h, '{', '}');},"selectionType":"word"}
,{"name":"Transformer en [lien hypertexte->http://...]","key":"L","className":"outil_link separateur separateur_apres sepLink separateur_avant","openWith":"[","closeWith":"->[![Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http://www.monsite.com, une adresse courriel, ou simplement indiquer le numéro d’un article de ce site.]!]]"}
,{"name":"Citer un message
","key":"Q","className":"outil_quote separateur separateur_apres sepGuillemets","openWith":"\n","closeWith":"
\n","selectionType":"word"}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets","openWith":"«","closeWith":"»","lang":["fr","eo","cpf","ar","es"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_simples","openWith":"“","closeWith":"”","display":true,"lang":["fr","eo","cpf","ar","es"]
,"selectionType":"word"}
]
}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets_de","openWith":"„","closeWith":"“","lang":["bg","de","pl","hr","src"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_de_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_de_simples","openWith":"‚","closeWith":"‘","display":true,"lang":["bg","de","pl","hr","src"]
,"selectionType":"word"}
]
}
,{"name":"Entourer de « guillemets »","className":"outil_guillemets_simples separateur_avant","openWith":"“","closeWith":"”","lang_not":["fr","eo","cpf","ar","es","bg","de","pl","hr","src"]
,"selectionType":"word","dropMenu":[{"id":"guillemets_autres_simples","name":"Entourer de “guillemets de second niveau”","className":"outil_guillemets_uniques","openWith":"‘","closeWith":"’","display":true,"lang_not":["fr","eo","cpf","ar","es","bg","de","pl","hr","src"]
,"selectionType":"word"}
]
}
,{"name":"Utiliser un outil du Couteau Suisse","className":"couteau_suisse_drop separateur separateur_apres sepCaracteres","replaceWith":"","dropMenu":[{"id":"blocs_bloc","name":"Insérer un bloc replié","className":"blocs_bloc","replaceWith":"\nUn titre\n\nPlacez votre texte ici\n\n","display":true}
,{"id":"blocs_visible","name":"Insérer un bloc déplié","className":"blocs_visible","replaceWith":"\nUn titre\n\nPlacez votre texte ici\n\n","display":true}
]
}
]
}
// remplace ou cree -* ou -** ou -# ou -##
function outil_liste(h, c) {
if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/))) {
r[1] = r[1].replace(/[#*]/g, c);
s = '-'+r[1]+' '+r[2];
} else {
s = '-' + c + ' '+s;
}
return s;
}
// indente des -* ou -#
function outil_indenter(h) {
if (s = h.selection) {
if (s.substr(0,2)=='-*') {
s = '-**' + s.substr(2);
} else if (s.substr(0,2)=='-#') {
s = '-##' + s.substr(2);
} else {
s = '-* ' + s;
}
}
return s;
}
// desindente des -* ou -** ou -# ou -##
function outil_desindenter(h){
if (s = h.selection) {
if (s.substr(0,3)=='-**') {
s = '-*' + s.substr(3);
} else if (s.substr(0,3)=='-* ') {
s = s.substr(3);
} else if (s.substr(0,3)=='-##') {
s = '-#' + s.substr(3);
} else if (s.substr(0,3)=='-# ') {
s = s.substr(3);
}
}
return s;
}
// ajouter un espace avant, apres un {qqc} pour ne pas que
// gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} }
function espace_si_accolade(h, openWith, closeWith){
if (s = h.selection) {
// accolade dans la selection
if (s.charAt(0)=='{') {
return openWith + ' ' + s + ' ' + closeWith;
}
// accolade avant la selection
else if (c = h.textarea.selectionStart) {
if (h.textarea.value.charAt(c-1) == '{') {
return ' ' + openWith + s + closeWith + ' ';
}
}
}
return openWith + s + closeWith;
}
;(function($){
// 2 fonctions pour appeler le porte plume reutilisables pour d'autres plugins
// on envoie dedans la selection jquery qui doit etre effectuee
// ce qui evite des appels direct a markitup, aucazou on change de lib un jour
$.fn.barre_outils = function(nom, settings) {
options = {
lang:'fr'
};
$.extend(options, settings);
return $(this)
.not('.markItUpEditor, .no_barre')
.markItUp(eval('barre_outils_' + nom), {lang:options.lang})
.parent().find('.markItUpButton a').attr('tabindex', -1) // ne pas tabuler les boutons
.end();
};
$.fn.barre_previsualisation = function(settings) {
options = {
previewParserPath:"index.php?action=porte_plume_previsu", // ici une url relative pour prive/public
textEditer:"Éditer",
textVoir:"Voir"
};
$.extend(options, settings);
return $(this)
.not('.pp_previsualisation, .no_previsualisation')
.previsu_spip(options)
.parent().find('.markItUpTabs a').attr('tabindex', -1) // ne pas tabuler les onglets
.end();
};
$(window).load(function(){
// ajoute les barres d'outils markitup
function barrebouilles(){
// fonction generique appliquee aux classes CSS :
// inserer_barre_forum, inserer_barre_edition, inserer_previsualisation
$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
// fonction specifique aux formulaires de SPIP :
// barre de forum
$('textarea.textarea_forum').barre_outils('forum');
$('.formulaire_forum textarea[name=texte]').barre_outils('forum');
// barre d'edition et onglets de previsualisation
$('.formulaire_spip textarea[name=texte]')
.barre_outils('edition').end()
.barre_previsualisation();
}
barrebouilles();
onAjaxLoad(barrebouilles);
});
})(jQuery);