1/* #PRODUIRE{fond=javascript/porte_plume_start.js,hash=1b9954afab03c617c877e8791a90a634,inserer_auto_name_texte=1,lang=fr} 2 md5:386eb506988465423b278d519586b732 */ 3 4 5barre_outils_edition = { 6 "nameSpace": "edition", 7 "previewAutoRefresh": false, 8 "onEnter": { 9 "keepDefault": false, 10 "selectionType": "return", 11 "replaceWith": "\n" 12 }, 13 "onShiftEnter": { 14 "keepDefault": false, 15 "replaceWith": "\n_ " 16 }, 17 "onCtrlEnter": { 18 "keepDefault": false, 19 "replaceWith": "\n\n" 20 }, 21 "markupSet": [ 22 { 23 "name": "Transformer en {{{intertitre}}}", 24 "key": "H", 25 "className": "outil_header1", 26 "openWith": "\n{{{", 27 "closeWith": "}}}\n", 28 "selectionType": "line" 29 }, 30 { 31 "name": "Mettre en {{gras}}", 32 "key": "B", 33 "className": "outil_bold", 34 "replaceWith": function(h){ return espace_si_accolade(h, '{{', '}}');}, 35 "selectionType": "word" 36 }, 37 { 38 "name": "Mettre en {italique}", 39 "key": "I", 40 "className": "outil_italic", 41 "replaceWith": function(h){ return espace_si_accolade(h, '{', '}');}, 42 "selectionType": "word" 43 }, 44 { 45 "name": "Mettre en liste", 46 "className": "outil_liste_ul separateur_avant", 47 "replaceWith": function(h){ return outil_liste(h, '*');}, 48 "selectionType": "line", 49 "forceMultiline": true, 50 "dropMenu": [ 51 { 52 "id": "liste_ol", 53 "name": "Mettre en liste num\u00e9rot\u00e9e", 54 "className": "outil_liste_ol", 55 "replaceWith": function(h){ return outil_liste(h, '#');}, 56 "display": true, 57 "selectionType": "line", 58 "forceMultiline": true 59 }, 60 { 61 "id": "desindenter", 62 "name": "D\u00e9sindenter une liste", 63 "className": "outil_desindenter", 64 "replaceWith": function(h){return outil_desindenter(h);}, 65 "display": true, 66 "selectionType": "line", 67 "forceMultiline": true 68 }, 69 { 70 "id": "indenter", 71 "name": "Indenter une liste", 72 "className": "outil_indenter", 73 "replaceWith": function(h){return outil_indenter(h);}, 74 "display": true, 75 "selectionType": "line", 76 "forceMultiline": true 77 } 78 ] 79 }, 80 { 81 "name": "Transformer en [lien hypertexte->http:\/\/...]", 82 "key": "L", 83 "className": "outil_link separateur separateur_apres sepLink", 84 "openWith": "[", 85 "closeWith": "->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]" 86 }, 87 { 88 "name": "Transformer en [[Note de bas de page]]", 89 "className": "outil_notes separateur_avant", 90 "openWith": "[[", 91 "closeWith": "]]", 92 "selectionType": "word" 93 }, 94 { 95 "name": "<quote>Citer un message<\/quote>", 96 "key": "Q", 97 "className": "outil_quote separateur separateur_apres sepGuillemets", 98 "openWith": "\n<quote>", 99 "closeWith": "<\/quote>\n", 100 "selectionType": "word", 101 "dropMenu": [ 102 { 103 "id": "barre_poesie", 104 "name": "Mettre en forme comme une <poesie>po\u00e9sie<\/poesie>", 105 "className": "outil_poesie", 106 "openWith": "\n<poesie>", 107 "closeWith": "<\/poesie>\n", 108 "display": true, 109 "selectionType": "line" 110 } 111 ] 112 }, 113 {
114 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 115 "className": "outil_guillemets", 116 "openWith": "«", 117 "closeWith": "»", 118 "lang": [ 119 "fr", 120 "eo", 121 "cpf", 122 "ar", 123 "es" 124 ], 125 "selectionType": "word", 126 "dropMenu": [ 127 { 128 "id": "guillemets_simples", 129 "name": "Entourer de \u201cguillemets de second niveau\u201d", 130 "className": "outil_guillemets_simples", 131 "openWith": "â", 132 "closeWith": "â", 133 "display": true, 134 "lang": [ 135 "fr", 136 "eo", 137 "cpf", 138 "ar", 139 "es" 140 ], 141 "selectionType": "word" 142 } 143 ] 144 }, 145 { 146 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 147 "className": "outil_guillemets_de", 148 "openWith": "â", 149 "closeWith": "â", 150 "lang": [ 151 "bg", 152 "de", 153 "pl", 154 "hr", 155 "src" 156 ], 157 "selectionType": "word", 158 "dropMenu": [ 159 { 160 "id": "guillemets_de_simples", 161 "name": "Entourer de \u201cguillemets de second niveau\u201d", 162 "className": "outil_guillemets_de_simples", 163 "openWith": "‚", 164 "closeWith": "â", 165 "display": true, 166 "lang": [ 167 "bg", 168 "de", 169 "pl", 170 "hr", 171 "src" 172 ], 173 "selectionType": "word" 174 } 175 ] 176 }, 177 { 178 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 179 "className": "outil_guillemets_simples separateur_avant", 180 "openWith": "â", 181 "closeWith": "â", 182 "lang_not": [ 183 "fr", 184 "eo", 185 "cpf", 186 "ar", 187 "es", 188 "bg", 189 "de", 190 "pl", 191 "hr", 192 "src" 193 ], 194 "selectionType": "word", 195 "dropMenu": [ 196 { 197 "id": "guillemets_autres_simples", 198 "name": "Entourer de \u201cguillemets de second niveau\u201d", 199 "className": "outil_guillemets_uniques", 200 "openWith": "â", 201 "closeWith": "â", 202 "display": true, 203 "lang_not": [ 204 "fr", 205 "eo", 206 "cpf", 207 "ar", 208 "es", 209 "bg", 210 "de", 211 "pl", 212 "hr", 213 "src" 214 ], 215 "selectionType": "word" 216 } 217 ] 218 }, 219 { 220 "name": "Ins\u00e9rer des caract\u00e8res sp\u00e9cifiques", 221 "className": "outil_caracteres separateur separateur_apres sepCaracteres separateur_avant", 222 "dropMenu": [ 223 { 224 "id": "A_grave", 225 "name": "Ins\u00e9rer un \u00c0", 226 "className": "outil_a_maj_grave", 227 "replaceWith": "Ã", 228 "display": true, 229 "lang": [ 230 "fr", 231 "eo", 232 "cpf" 233 ] 234 }, 235 { 236 "id": "E_aigu", 237 "name": "Ins\u00e9rer un \u00c9", 238 "className": "outil_e_maj_aigu", 239 "replaceWith": "Ã", 240 "display": true, 241 "lang": [ 242 "fr", 243 "eo", 244 "cpf" 245 ] 246 }, 247 { 248 "id": "E_grave", 249 "name": "Ins\u00e9rer un \u00c8", 250 "className": "outil_e_maj_grave", 251 "replaceWith": "Ã", 252 "display": true, 253 "lang": [ 254 "fr", 255 "eo", 256 "cpf" 257 ] 258 }, 259 { 260 "id": "aelig", 261 "name": "Ins\u00e9rer un \u00e6", 262 "className": "outil_aelig", 263 "replaceWith": "æ", 264 "display": true, 265 "lang": [ 266 "fr", 267 "eo", 268 "cpf" 269 ] 270 }, 271 { 272 "id": "AElig", 273 "name": "Ins\u00e9rer un \u00c6", 274 "className": "outil_aelig_maj", 275 "replaceWith": "Ã", 276 "display": true, 277 "lang": [ 278 "fr", 279 "eo", 280 "cpf" 281 ] 282 }, 283 { 284 "id": "oe", 285 "name": "Ins\u00e9rer un \u0153", 286 "className": "outil_oe", 287 "replaceWith": "Å", 288 "display": true, 289 "lang": [ 290 "fr" 291 ] 292 }, 293 { 294 "id": "OE", 295 "name": "Ins\u00e9rer un \u0152", 296 "className": "outil_oe_maj", 297 "replaceWith": "Å", 298 "display": true, 299 "lang": [ 300 "fr" 301 ] 302 }, 303 { 304 "id": "Ccedil", 305 "name": "Ins\u00e9rer un \u00c7", 306 "className": "outil_ccedil_maj", 307 "replaceWith": "Ã", 308 "display": true, 309 "lang": [ 310 "fr", 311 "eo", 312 "cpf" 313 ] 314 }, 315 { 316 "id": "uppercase", 317 "name": "Passer en majuscules", 318 "className": "outil_uppercase", 319 "replaceWith": function(markitup) { return markitup.selection.toUpperCase() }, 320 "display": true, 321 "lang": [ 322 "fr", 323 "en" 324 ] 325 }, 326 { 327 "id": "lowercase", 328 "name": "Passer en minuscules", 329 "className": "outil_lowercase", 330 "replaceWith": function(markitup) { return markitup.selection.toLowerCase() }, 331 "display": true, 332 "lang": [ 333 "fr", 334 "en" 335 ] 336 } 337 ] 338 }, 339 { 340 "name": "Ins\u00e9rer un code informatique (`)", 341 "className": "outil_code separateur separateur_apres sepCode", 342 "openWith": "`", 343 "closeWith": "`", 344 "dropMenu": [ 345 { 346 "id": "cadre", 347 "name": "Ins\u00e9rer un code pr\u00e9format\u00e9 (```)", 348 "className": "outil_cadre", 349 "openWith": "```\n", 350 "closeWith": "\n```", 351 "display": true 352 } 353 ] 354 } 355 ] 356} 357 358 359 // remplace ou cree -* ou -** ou -# ou -## 360 function outil_liste(h, c) { 361 if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/))) { 362 r[1] = r[1].replace(/[#*]/g, c); 363 s = '-'+r[1]+' '+r[2]; 364 } else { 365 s = '-' + c + ' '+s; 366 } 367 return s; 368 } 369 370 // indente des -* ou -# 371 function outil_indenter(h) { 372 if (s = h.selection) { 373 if (s.substr(0,2)=='-*') { 374 s = '-**' + s.substr(2); 375 } else if (s.substr(0,2)=='-#') { 376 s = '-##' + s.substr(2); 377 } else { 378 s = '-* ' + s; 379 } 380 } 381 return s; 382 } 383 384 // desindente des -* ou -** ou -# ou -## 385 function outil_desindenter(h){ 386 if (s = h.selection) { 387 if (s.substr(0,3)=='-**') { 388 s = '-*' + s.substr(3); 389 } else if (s.substr(0,3)=='-* ') { 390 s = s.substr(3); 391 } else if (s.substr(0,3)=='-##') { 392 s = '-#' + s.substr(3); 393 } else if (s.substr(0,3)=='-# ') { 394 s = s.substr(3); 395 } 396 } 397 return s; 398 } 399 400 // ajouter un espace avant, apres un {qqc} pour ne pas que 401 // gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} } 402 function espace_si_accolade(h, openWith, closeWith){ 403 if (s = h.selection) { 404 // accolade dans la selection 405 if (s.charAt(0)=='{') { 406 return openWith + ' ' + s + ' ' + closeWith; 407 } 408 // accolade avant la selection 409 else if (c = h.textarea.selectionStart) { 410 if (h.textarea.value.charAt(c-1) == '{') { 411 return ' ' + openWith + s + closeWith + ' '; 412 } 413 } 414 } 415 return openWith + s + closeWith; 416 } 417 418 419barre_outils_forum = { 420 "nameSpace": "forum", 421 "previewAutoRefresh": false, 422 "onEnter": { 423 "keepDefault": false, 424 "selectionType": "return", 425 "replaceWith": "\n" 426 }, 427 "onShiftEnter": { 428 "keepDefault": false, 429 "replaceWith": "\n_ " 430 }, 431 "onCtrlEnter": { 432 "keepDefault": false, 433 "replaceWith": "\n\n" 434 }, 435 "markupSet": [ 436 { 437 "name": "Mettre en {{gras}}", 438 "key": "B", 439 "className": "outil_bold", 440 "replaceWith": function(h){ return espace_si_accolade(h, '{{', '}}');}, 441 "selectionType": "word" 442 }, 443 { 444 "name": "Mettre en {italique}", 445 "key": "I", 446 "className": "outil_italic separateur_avant", 447 "replaceWith": function(h){ return espace_si_accolade(h, '{', '}');}, 448 "selectionType": "word" 449 }, 450 { 451 "name": "Transformer en [lien hypertexte->http:\/\/...]", 452 "key": "L", 453 "className": "outil_link separateur separateur_apres sepLink separateur_avant", 454 "openWith": "[", 455 "closeWith": "->[![Veuillez indiquer l\u2019adresse de votre lien (vous pouvez indiquer une adresse Internet sous la forme http:\/\/www.monsite.com, une adresse courriel, ou simplement indiquer le num\u00e9ro d\u2019un article de ce site.]!]]" 456 }, 457 { 458 "name": "<quote>Citer un message<\/quote>", 459 "key": "Q", 460 "className": "outil_quote separateur separateur_apres sepGuillemets", 461 "openWith": "\n<quote>", 462 "closeWith": "<\/quote>\n", 463 "selectionType": "word" 464 }, 465 {
466 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 467 "className": "outil_guillemets", 468 "openWith": "«", 469 "closeWith": "»", 470 "lang": [ 471 "fr", 472 "eo", 473 "cpf", 474 "ar", 475 "es" 476 ], 477 "selectionType": "word", 478 "dropMenu": [ 479 { 480 "id": "guillemets_simples", 481 "name": "Entourer de \u201cguillemets de second niveau\u201d", 482 "className": "outil_guillemets_simples", 483 "openWith": "â", 484 "closeWith": "â", 485 "display": true, 486 "lang": [ 487 "fr", 488 "eo", 489 "cpf", 490 "ar", 491 "es" 492 ], 493 "selectionType": "word" 494 } 495 ] 496 }, 497 { 498 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 499 "className": "outil_guillemets_de", 500 "openWith": "â", 501 "closeWith": "â", 502 "lang": [ 503 "bg", 504 "de", 505 "pl", 506 "hr", 507 "src" 508 ], 509 "selectionType": "word", 510 "dropMenu": [ 511 { 512 "id": "guillemets_de_simples", 513 "name": "Entourer de \u201cguillemets de second niveau\u201d", 514 "className": "outil_guillemets_de_simples", 515 "openWith": "‚", 516 "closeWith": "â", 517 "display": true, 518 "lang": [ 519 "bg", 520 "de", 521 "pl", 522 "hr", 523 "src" 524 ], 525 "selectionType": "word" 526 } 527 ] 528 }, 529 { 530 "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb", 531 "className": "outil_guillemets_simples separateur_avant", 532 "openWith": "â", 533 "closeWith": "â", 534 "lang_not": [ 535 "fr", 536 "eo", 537 "cpf", 538 "ar", 539 "es", 540 "bg", 541 "de", 542 "pl", 543 "hr", 544 "src" 545 ], 546 "selectionType": "word", 547 "dropMenu": [ 548 { 549 "id": "guillemets_autres_simples", 550 "name": "Entourer de \u201cguillemets de second niveau\u201d", 551 "className": "outil_guillemets_uniques", 552 "openWith": "â", 553 "closeWith": "â", 554 "display": true, 555 "lang_not": [ 556 "fr", 557 "eo", 558 "cpf", 559 "ar", 560 "es", 561 "bg", 562 "de", 563 "pl", 564 "hr", 565 "src" 566 ], 567 "selectionType": "word" 568 } 569 ] 570 } 571 ] 572} 573 574 575 // remplace ou cree -* ou -** ou -# ou -## 576 function outil_liste(h, c) { 577 if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/))) { 578 r[1] = r[1].replace(/[#*]/g, c); 579 s = '-'+r[1]+' '+r[2]; 580 } else { 581 s = '-' + c + ' '+s; 582 } 583 return s; 584 } 585 586 // indente des -* ou -# 587 function outil_indenter(h) { 588 if (s = h.selection) { 589 if (s.substr(0,2)=='-*') { 590 s = '-**' + s.substr(2); 591 } else if (s.substr(0,2)=='-#') { 592 s = '-##' + s.substr(2); 593 } else { 594 s = '-* ' + s; 595 } 596 } 597 return s; 598 } 599 600 // desindente des -* ou -** ou -# ou -## 601 function outil_desindenter(h){ 602 if (s = h.selection) { 603 if (s.substr(0,3)=='-**') { 604 s = '-*' + s.substr(3); 605 } else if (s.substr(0,3)=='-* ') { 606 s = s.substr(3); 607 } else if (s.substr(0,3)=='-##') { 608 s = '-#' + s.substr(3); 609 } else if (s.substr(0,3)=='-# ') { 610 s = s.substr(3); 611 } 612 } 613 return s; 614 } 615 616 // ajouter un espace avant, apres un {qqc} pour ne pas que 617 // gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} } 618 function espace_si_accolade(h, openWith, closeWith){ 619 if (s = h.selection) { 620 // accolade dans la selection 621 if (s.charAt(0)=='{') { 622 return openWith + ' ' + s + ' ' + closeWith; 623 } 624 // accolade avant la selection 625 else if (c = h.textarea.selectionStart) { 626 if (h.textarea.value.charAt(c-1) == '{') { 627 return ' ' + openWith + s + closeWith + ' '; 628 } 629 } 630 } 631 return openWith + s + closeWith; 632 } 633 634 635barre_outils_vide = { 636 "nameSpace": "vide", 637 "previewAutoRefresh": false, 638 "markupSet": [] 639} 640 641 642 643 644;(function($){ 645 646// 2 fonctions pour appeler le porte plume reutilisables pour d'autres plugins 647// on envoie dedans la selection jquery qui doit etre effectuee 648// ce qui evite des appels direct a markitup, aucazou on change de lib un j
648our 649$.fn.barre_outils = function(nom, settings) { 650 options = { 651 lang:'fr' 652 }; 653 $.extend(options, settings); 654 655 return $(this) 656 .not('.markItUpEditor, .no_barre') 657 .markItUp(eval('barre_outils_' + nom), {lang:options.lang}) 658 .trigger('markItUpEditor.loaded') 659 .parent().find('.markItUpButton a').attr('tabindex', -1) // ne pas tabuler les boutons 660 .end(); 661}; 662 663$.fn.barre_previsualisation = function(settings) { 664 options = { 665 previewParserPath:"index.php?action=porte_plume_previsu", // ici une url relative pour prive/public 666 textEditer:"Modifier", 667 textVoir:"Voir" 668 }; 669 $.extend(options, settings); 670 671 return $(this) 672 .not('.pp_previsualisation, .no_previsualisation') 673 .previsu_spip(options) 674 .trigger('markItUpPreview.loaded') 675 .parent().find('.markItUpTabs a').attr('tabindex', -1) // ne pas tabuler les onglets 676 .end(); 677}; 678 679$(window).on('load', function(){ 680 // ajoute les barres d'outils markitup 681 function barrebouilles(){ 682 // fonction generique appliquee aux classes CSS : 683 // inserer_barre_forum, inserer_barre_edition, inserer_previsualisation 684 $('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum'); 685 $('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition'); 686 $('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation(); 687 688 689 // fonction specifique aux formulaires de SPIP : 690 // barre de forum 691 $('textarea.textarea_forum').barre_outils('forum'); 692 693 $('.formulaire_forum textarea[name=texte]').barre_outils('forum'); 694 // barre d'edition et onglets de previsualisation 695 $('.formulaire_spip textarea[name=texte]') 696 .barre_outils('edition').end() 697 .barre_previsualisation(); 698 699 } 700 barrebouilles(); 701 onAjaxLoad(barrebouilles); 702 703}); 704})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.