PageSourceSearch

https://ccb-armor.org/local/cache-js/jsdyn-javascript_porte_plume_start_js-49eef006.js?1790614308

js ccb-armor.org collected 2026-10-04 15:17:57 UTC 32,088 bytes, 911 lines download raw bytes

1/* #PRODUIRE{fond=javascript/porte_plume_start.js,hash=6da715020e272bfd39c84707169f9545,inserer_auto_name_texte=1,lang=fr}
2   md5:620d9d647a17a196c3817d603dc11887 */
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            "dropMenu": [
30                {
31                    "id": "intertitre",
32                    "name": "Transformer en {{{intertitre}}}",
33                    "className": "outil_intertitre1",
34                    "openWith": "\n{{{",
35                    "closeWith": "}}}\n",
36                    "display": true,
37                    "selectionType": "line"
38                },
39                {
40                    "id": "intertitre2",
41                    "name": "Transformer en {{{**intertitre niveau deux}}}",
42                    "className": "outil_intertitre2",
43                    "openWith": "\n{{{**",
44                    "closeWith": "}}}\n",
45                    "display": true,
46                    "selectionType": "line"
47                },
48                {
49                    "id": "intertitre3",
50                    "name": "Transformer en {{{***intertitre niveau trois}}}",
51                    "className": "outil_intertitre3",
52                    "openWith": "\n{{{***",
53                    "closeWith": "}}}\n",
54                    "display": true,
55                    "selectionType": "line"
56                },
57                {
58                    "id": "alignerdroite",
59                    "name": "[\/Aligne \u00e0 droite\/] le paragraphe",
60                    "className": "outil_alignerdroite",
61                    "openWith": "\n[\/",
62                    "closeWith": "\/]\n",
63                    "display": true,
64                    "selectionType": "line"
65                },
66                {
67                    "id": "alignergauche",
68                    "name": "[!Aligne \u00e0 gauche\u00a0!] le paragraphe",
69                    "className": "outil_alignergauche",
70                    "openWith": "\n[!",
71                    "closeWith": "!]\n",
72                    "display": true,
73                    "lang": [
74                        "ar",
75                        "fa"
76                    ],
77                    "selectionType": "line"
78                },
79                {
80                    "id": "cadretexte",
81                    "name": "[(Encadrer)] le paragraphe",
82                    "className": "outil_cadretexte",
83                    "openWith": "\n[(",
84                    "closeWith": ")]\n",
85                    "display": true,
86                    "selectionType": "line"
87                },
88                {
89                    "id": "barre_cadre",
90                    "name": "Placer dans une <cadre>zone de saisie de texte<\/cadre>",
91                    "className": "outil_barre_cadre",
92                    "openWith": "\n<cadre>",
93                    "closeWith": "<\/cadre>\n",
94                    "display": true,
95                    "selectionType": "line"
96                }
97            ]
98        },
99        {
100            "name": "Mettre en {{gras}}",
101            "key": "B",
102            "className": "outil_bold",
103            "replaceWith": function(h){ return espace_si_accolade(h, '{{', '}}');},
104            "selectionType": "word",
105            "dropMenu": [
106                {
107                    "id": "italic",
108                    "name": "Mettre en {italique}",
109                    "key": "I",
110                    "className": "outil_italic",
111                    "replaceWith": function(h){ return espace_si_accolade(h, '{', '}');},
112                    "display": true,
113                    "selectionType": "word"
114                },
115                {
116                    "id": "petitescapitales",
117                    "name": "Mettre le texte en <sc>petites capitales<\/sc>",
118                    "className": "outil_petitescapitales",
119                    "openWith": "<sc>",
120                    "closeWith": "<\/sc>",
121                    "display": true,
122                    "selectionType": "word"
123                },
124                {
125                    "id": "stroke_through_et",
126                    "name": "<del>Barrer<\/del> le texte",
127                    "className": "outil_stroke_through_et",
128                    "openWith": "<del>",
129                    "closeWith": "<\/del>",
130                    "display": true,
131                    "selectionType": "word"
132                },
133                {
134                    "id": "miseenevidence",
135                    "name": "Mettre le texte en [*\u00e9vidence*]",
136                    "className": "outil_miseenevidence",
137                    "openWith": "[*",
138                    "closeWith": "*]",
139                    "display": true,
140                    "selectionType": "word"
141                },
142                {
143                    "id": "miseenevidence2",
144                    "name": "Mettre le texte en [**\u00e9vidence*] (2e couleur)",
145                    "className": "outil_miseenevidence2",
146                    "openWith": "[**",
147                    "closeWith": "*]",
148                    "display": true,
149                    "selectionType": "word"
150                },
151                {
152                    "id": "exposant",
153                    "name": "Mettre le texte en <sup>exposant<\/sup>",
154                    "className": "outil_exposant",
155                    "openWith": "<sup>",
156                    "closeWith": "<\/sup>",
157                    "display": true,
158                    "selectionType": "word"
159                },
160                {
161                    "id": "indice",
162                    "name": "Mettre le texte en <sub>indice<\/sub>",
163                    "className": "outil_indice",
164                    "openWith": "<sub>",
165                    "closeWith": "<\/sub>",
166                    "display": true,
167                    "selectionType": "word"
168                },
169                {
170                    "id": "barre_code",
171                    "name": "Mettre en forme un <code>code informatique<\/code>",
172                    "className": "outil_barre_code",
173                    "openWith": "<code>",
174                    "closeWith": "<\/code>",
175                    "display": true,
176                    "selectionType": "word"
177                }
178            ]
179        },
180        {
181            "name": "Mettre en liste",
182            "className": "outil_liste_ul separateur_avant",
183            "replaceWith": function(h){ return outil_liste(h, '*');},
184            "selectionType": "line",
185            "forceMultiline": true,
186            "dropMenu": [
187                {
188                    "id": "liste_ol",
189                    "name": "Mettre en liste num\u00e9rot\u00e9e",
190                    "className": "outil_liste_ol",
191                    "replaceWith": function(h){ return outil_liste(h, '#');},
192                    "display": true,
193                    "selectionType": "line",
194                    "forceMultiline": true
195                },
196                {
197                    "id": "desindenter",
198                    "name": "D\u00e9sindenter une liste",
199                    "className": "outil_desindenter",
200                    "replaceWith": function(h){return outil_desindenter(h);},
201                    "display": true,
202                    "selectionType": "line",
203                    "forceMultiline": true
204                },
205                {
206                    "id": "indenter",
207                    "name": "Indenter une liste",
208                    "className": "outil_indenter",
209                    "replaceWith": function(h){return outil_indenter(h);},
210                    "display": true,
211                    "selectionType": "line",
212                    "forceMultiline": true
213                }
214            ]
215        },
216        {
217            "name": "Transformer en [lien hypertexte->http:\/\/...]",
218            "key": "L",
219            "className": "outil_link separateur separateur_apres sepLink",
220            "openWith": "[",
221            "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.]!]]",
222            "dropMenu": [
223                {
224                    "id": "notes",
225                    "name": "Transformer en [[Note de bas de page]]",
226                    "className": "outil_notes",
227                    "openWith": "[[",
228                    "closeWith": "]]",
229                    "display": true,
230                    "selectionType": "word"
231                }
232            ]
233        },
234        {
235            "name": "Ins\u00e9rer\/modifier (le s\u00e9lectionner avant) un tableau",
236            "className": "outil_barre_tableau separateur_avant",
237            "replaceWith": function(markitup) { zone_selection = markitup.textarea; jQuery.modalboxload('https://ccb-armor.org/spip.php?page=typoenluminee_tableau_edit&modalbox=oui',{minWidth: '90%', minHeight: '90%', iframe: true, type: 'iframe'});},
238            "selectionType": "line"
239        },
240        {
241            "name": "<quote>Citer un message<\/quote>",
242            "key": "Q",
243            "className": "outil_quote separateur separateur_apres sepGuillemets",
244            "openWith": "<quote>",
245            "closeWith": "<\/quote>",
246            "selectionType": "word",
247            "dropMenu": [
248                {
249                    "id": "barre_poesie",
250                    "name": "Mettre en forme comme une <poesie>po\u00e9sie<\/poesie>",
251                    "className": "outil_barre_poesie",
252                    "openWith": "\n<poesie>\n",
253                    "closeWith": "\n<\/poesie>\n",
254                    "display": true,
255                    "selectionType": "word"
256                }
257            ]
258        },
259        {
260            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
261            "className": "outil_guillemets",
262            "openWith": "«",
263            "closeWith": "»",
264            "lang": [
265                "fr",
266                "eo",
267                "cpf",
268                "ar",
269                "es"
270            ],
271            "selectionType": "word",
272            "dropMenu": [
273                {
274                    "id": "guillemets_simples",
275                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
276                    "className": "outil_guillemets_simples",
277                    "openWith": "“",
278                    "closeWith": "”",
279                    "display": true,
280                    "lang": [
281                        "fr",
282                        "eo",
283                        "cpf",
284                        "ar",
285                        "es"
286                    ],
287                    "selectionType": "word"
288                }
289            ]
290        },
291        {
292            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
293            "className": "outil_guillemets_de",
294            "openWith": "„",
295            "closeWith": "“",
296            "lang": [
297                "bg",
298                "de",
299                "pl",
300                "hr",
301                "src"
302            ],
303            "selectionType": "word",
304            "dropMenu": [
305                {
306                    "id": "guillemets_de_simples",
307                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
308                    "className": "outil_guillemets_de_simples",
309                    "openWith": "&sbquo;",
310                    "closeWith": "‘",
311                    "display": true,
312                    "lang": [
313                        "bg",
314                        "de",
315                        "pl",
316                        "hr",
317                        "src"
318                    ],
319                    "selectionType": "word"
320                }
321            ]
322        },
323        {
324            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
325            "className": "outil_guillemets_simples separateur_avant",
326            "openWith": "“",
327            "closeWith": "”",
328            "lang_not": [
329                "fr",
330                "eo",
331                "cpf",
332                "ar",
333                "es",
334                "bg",
335                "de",
336                "pl",
337                "hr",
338                "src"
339            ],
340            "selectionType": "word",
341            "dropMenu": [
342                {
343                    "id": "guillemets_autres_simples",
344                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
345                    "className": "outil_guillemets_uniques",
346                    "openWith": "‘",
347                    "closeWith": "’",
348                    "display": true,
349                    "lang_not": [
350                        "fr",
351                        "eo",
352                        "cpf",
353                        "ar",
354                        "es",
355                        "bg",
356                        "de",
357                        "pl",
358                        "hr",
359                        "src"
360                    ],
361                    "selectionType": "word"
362                }
363            ]
364        },
365        {
366            "name": "Ins\u00e9rer des caract\u00e8res sp\u00e9cifiques",
367            "className": "outil_caracteres separateur separateur_apres sepCaracteres separateur_avant",
368            "dropMenu": [
369                {
370                    "id": "A_grave",
371                    "name": "Ins\u00e9rer un \u00c0",
372                    "className": "outil_a_maj_grave",
373                    "replaceWith": "À",
374                    "display": true,
375                    "lang": [
376                        "fr",
377                        "eo",
378                        "cpf"
379                    ]
380                },
381                {
382                    "id": "E_aigu",
383                    "name": "Ins\u00e9rer un \u00c9",
384                    "className": "outil_e_maj_aigu",
385                    "replaceWith": "É",
386                    "display": true,
387                    "lang": [
388                        "fr",
389                        "eo",
390                        "cpf"
391                    ]
392                },
393                {
394                    "id": "E_grave",
395                    "name": "Ins\u00e9rer un \u00c8",
396                    "className": "outil_e_maj_grave",
397                    "replaceWith": "È",
398                    "display": true,
399                    "lang": [
400                        "fr",
401                        "eo",
402                        "cpf"
403                    ]
404                },
405                {
406                    "id": "aelig",
407                    "name": "Ins\u00e9rer un \u00e6",
408                    "className": "outil_aelig",
409                    "replaceWith": "æ",
410                    "display": true,
411                    "lang": [
412                        "fr",
413                        "eo",
414                        "cpf"
415                    ]
416                },
417                {
418                    "id": "AElig",
419                    "name": "Ins\u00e9rer un \u00c6",
420                    "className": "outil_aelig_maj",
421                    "replaceWith": "Æ",
422                    "display": true,
423                    "lang": [
424                        "fr",
425                        "eo",
426                        "cpf"
427                    ]
428                },
429                {
430                    "id": "oe",
431                    "name": "Ins\u00e9rer un \u0153",
432                    "className": "outil_oe",
433                    "replaceWith": "œ",
434                    "display": true,
435                    "lang": [
436                        "fr"
437                    ]
438                },
439                {
440                    "id": "OE",
441                    "name": "Ins\u00e9rer un \u0152",
442                    "className": "outil_oe_maj",
443                    "replaceWith": "Œ",
444                    "display": true,
445                    "lang": [
446                        "fr"
447                    ]
448                },
449                {
450                    "id": "Ccedil",
451                    "name": "Ins\u00e9rer un \u00c7",
452                    "className": "outil_ccedil_maj",
453                    "replaceWith": "Ç",
454                    "display": true,
455                    "lang": [
456                        "fr",
457                        "eo",
458                        "cpf"
459                    ]
460                },
461                {
462                    "id": "uppercase",
463                    "name": "Passer en majuscules",
464                    "className": "outil_uppercase",
465                    "replaceWith": function(markitup) { return markitup.selection.toUpperCase() },
466                    "display": true,
467                    "lang": [
468                        "fr",
469                        "en"
470                    ]
471                },
472                {
473                    "id": "lowercase",
474                    "name": "Passer en minuscules",
475                    "className": "outil_lowercase",
476                    "replaceWith": function(markitup) { return markitup.selection.toLowerCase() },
477                    "display": true,
478                    "lang": [
479                        "fr",
480                        "en"
481                    ]
482                }
483            ]
484        },
485        {
486            "name": "Changement de langue dans le texte (<multi>[langue]...<\/multi>).",
487            "className": "outil_changement_langue separateur separateur_apres sepChgtLang separateur_avant",
488            "openWith": "<multi>[[![Indiquez le code de la nouvelle langue (par exemple : fr pour le fran\u00e7ais, en pour l'anglais).]!]]",
489            "closeWith": "<\/multi>"
490        },
491        {
492            "name": "Ins\u00e9rer un mod\u00e8le",
493            "key": "M",
494            "className": "outil_inserer_modeles separateur separateur_apres sepInsMod",
495            "beforeInsert": function(markitup) {
496					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val();
497					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
498			,
499            "dropMenu": [
500                {
501                    "id": "inserer_modele_album",
502                    "name": "Album",
503                    "className": "outil_inserer_modele_album",
504                    "beforeInsert": function(markitup) {
505					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=album';
506					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
507				,
508                    "display": true
509                },
510                {
511                    "id": "inserer_modele_media",
512                    "name": "Document",
513                    "className": "outil_inserer_modele_media",
514                    "beforeInsert": function(markitup) {
515					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=media';
516					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
517				,
518                    "display": true
519                },
520                {
521                    "id": "inserer_modele_formulaire_formidable",
522                    "name": "Formulaire",
523                    "className": "outil_inserer_modele_formulaire_formidable",
524                    "beforeInsert": function(markitup) {
525					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=formulaire_formidable';
526					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
527				,
528                    "display": true
529                },
530                {
531                    "id": "inserer_modele_formulaire_contact",
532                    "name": "Le formulaire de contact avanc\u00e9",
533                    "className": "outil_inserer_modele_formulaire_contact",
534                    "beforeInsert": function(markitup) {
535					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=formulaire_contact';
536					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
537				,
538                    "display": true
539                },
540                {
541                    "id": "inserer_modele_carte_gis",
542                    "name": "Point g\u00e9olocalis\u00e9",
543                    "className": "outil_inserer_modele_carte_gis",
544                    "beforeInsert": function(markitup) {
545					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=carte_gis';
546					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
547				,
548                    "display": true
549                },
550                {
551                    "id": "inserer_modele_definition",
552                    "name": "Une d\u00e9finition",
553                    "className": "outil_inserer_modele_definition",
554                    "beforeInsert": function(markitup) {
555					url = $("input[type=hidden][name='url_inserer_modeles']", $(markitup.textarea.form)).val() + '&formulaire_modele=definition';
556					jQuery.modalboxload(url,{minHeight: '90%', type: 'ajax'});}
557				,
558                    "display": true
559                }
560            ]
561        }
562    ]
563}
564
565 
566				// remplace ou cree -* ou -** ou -# ou -##
567				function outil_liste(h, c) {
568					if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/)))	 {
569						r[1] = r[1].replace(/[#*]/g, c);
570						s = '-'+r[1]+' '+r[2];
571					} else {
572						s = '-' + c + ' '+s;
573					}
574					return s;
575				}
576
577				// indente des -* ou -#
578				function outil_indenter(h) {
579					if (s = h.selection) {
580						if (s.substr(0,2)=='-*') {
581							s = '-**' + s.substr(2);
582						} else if (s.substr(0,2)=='-#') {
583							s = '-##' + s.substr(2);
584						} else {
585							s = '-* ' + s;
586						}
587					}
588					return s;
589				}
590
591				// desindente des -* ou -** ou -# ou -##
592				function outil_desindenter(h){
593					if (s = h.selection) {
594						if (s.substr(0,3)=='-**') {
595							s = '-*' + s.substr(3);
596						} else if (s.substr(0,3)=='-* ') {
597							s = s.substr(3);
598						} else if (s.substr(0,3)=='-##') {
599							s = '-#' + s.substr(3);
600						} else if (s.substr(0,3)=='-# ') {
601							s = s.substr(3);
602						}
603					}
604					return s;
605				}
606
607				// ajouter un espace avant, apres un {qqc} pour ne pas que
608				// gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} }
609				function espace_si_accolade(h, openWith, closeWith){
610					if (s = h.selection) {
611						// accolade dans la selection
612						if (s.charAt(0)=='{') {
613							return openWith + ' ' + s + ' ' + closeWith;
614						}
615						// accolade avant la selection
616						else if (c = h.textarea.selectionStart) {
617							if (h.textarea.value.charAt(c-1) == '{') {
618								return ' ' + openWith + s + closeWith + ' ';
619							}
620						}
621					}
622					return openWith + s + closeWith;
623				}
624				
625
626barre_outils_forum = {
627    "nameSpace": "forum",
628    "previewAutoRefresh": false,
629    "onEnter": {
630        "keepDefault": false,
631        "selectionType": "return",
632        "replaceWith": "\n"
633    },
634    "onShiftEnter": {
635        "keepDefault": false,
636        "replaceWith": "\n_ "
637    },
638    "onCtrlEnter": {
639        "keepDefault": false,
640        "replaceWith": "\n\n"
641    },
642    "markupSet": [
643        {
644            "name": "Mettre en {{gras}}",
645            "key": "B",
646            "className": "outil_bold",
647            "replaceWith": function(h){ return espace_si_accolade(h, '{{', '}}');},
648            "selectionType": "word"
649        },
650        {
651            "name": "Mettre en {italique}",
652            "key": "I",
653            "className": "outil_italic separateur_avant",
654            "replaceWith": function(h){ return espace_si_accolade(h, '{', '}');},
655            "selectionType": "word"
656        },
657        {
658            "name": "Transformer en [lien hypertexte->http:\/\/...]",
659            "key": "L",
660            "className": "outil_link separateur separateur_apres sepLink separateur_avant",
661            "openWith": "[",
662            "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.]!]]"
663        },
664        {
665            "name": "<quote>Citer un message<\/quote>",
666            "key": "Q",
667            "className": "outil_quote separateur separateur_apres sepGuillemets",
668            "openWith": "\n<quote>",
669            "closeWith": "<\/quote>\n",
670            "selectionType": "word"
671        },
672        {
673            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
674            "className": "outil_guillemets",
675            "openWith": "«",
676            "closeWith": "»",
677            "lang": [
678                "fr",
679                "eo",
680                "cpf",
681                "ar",
682                "es"
683            ],
684            "selectionType": "word",
685            "dropMenu": [
686                {
687                    "id": "guillemets_simples",
688                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
689                    "className": "outil_guillemets_simples",
690                    "openWith": "“",
691                    "closeWith": "”",
692                    "display": true,
693                    "lang": [
694                        "fr",
695                        "eo",
696                        "cpf",
697                        "ar",
698                        "es"
699                    ],
700                    "selectionType": "word"
701                }
702            ]
703        },
704        {
705            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
706            "className": "outil_guillemets_de",
707            "openWith": "„",
708            "closeWith": "“",
709            "lang": [
710                "bg",
711                "de",
712                "pl",
713                "hr",
714                "src"
715            ],
716            "selectionType": "word",
717            "dropMenu": [
718                {
719                    "id": "guillemets_de_simples",
720                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
721                    "className": "outil_guillemets_de_simples",
722                    "openWith": "&sbquo;",
723                    "closeWith": "‘",
724                    "display": true,
725                    "lang": [
726                        "bg",
727                        "de",
728                        "pl",
729                        "hr",
730                        "src"
731                    ],
732                    "selectionType": "word"
733                }
734            ]
735        },
736        {
737            "name": "Entourer de \u00ab\u00a0guillemets\u00a0\u00bb",
738            "className": "outil_guillemets_simples separateur_avant",
739            "openWith": "“",
740            "closeWith": "”",
741            "lang_not": [
742                "fr",
743                "eo",
744                "cpf",
745                "ar",
746                "es",
747                "bg",
748                "de",
749                "pl",
750                "hr",
751                "src"
752            ],
753            "selectionType": "word",
754            "dropMenu": [
755                {
756                    "id": "guillemets_autres_simples",
757                    "name": "Entourer de \u201cguillemets de second niveau\u201d",
758                    "className": "outil_guillemets_uniques",
759                    "openWith": "‘",
760                    "closeWith": "’",
761                    "display": true,
762                    "lang_not": [
763                        "fr",
764                        "eo",
765                        "cpf",
766                        "ar",
767                        "es",
768                        "bg",
769                        "de",
770                        "pl",
771                        "hr",
772                        "src"
773                    ],
774                    "selectionType": "word"
775                }
776            ]
777        }
778    ]
779}
780
781 
782				// remplace ou cree -* ou -** ou -# ou -##
783				function outil_liste(h, c) {
784					if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)$/)))	 {
785						r[1] = r[1].replace(/[#*]/g, c);
786						s = '-'+r[1]+' '+r[2];
787					} else {
788						s = '-' + c + ' '+s;
789					}
790					return s;
791				}
792
793				// indente des -* ou -#
794				function outil_indenter(h) {
795					if (s = h.selection) {
796						if (s.substr(0,2)=='-*') {
797							s = '-**' + s.substr(2);
798						} else if (s.substr(0,2)=='-#') {
799							s = '-##' + s.substr(2);
800						} else {
801							s = '-* ' + s;
802						}
803					}
804					return s;
805				}
806
807				// desindente des -* ou -** ou -# ou -##
808				function outil_desindenter(h){
809					if (s = h.selection) {
810						if (s.substr(0,3)=='-**') {
811							s = '-*' + s.substr(3);
812						} else if (s.substr(0,3)=='-* ') {
813							s = s.substr(3);
814						} else if (s.substr(0,3)=='-##') {
815							s = '-#' + s.substr(3);
816						} else if (s.substr(0,3)=='-# ') {
817							s = s.substr(3);
818						}
819					}
820					return s;
821				}
822
823				// ajouter un espace avant, apres un {qqc} pour ne pas que
824				// gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} }
825				function espace_si_accolade(h, openWith, closeWith){
826					if (s = h.selection) {
827						// accolade dans la selection
828						if (s.charAt(0)=='{') {
829							return openWith + ' ' + s + ' ' + closeWith;
830						}
831						// accolade avant la selection
832						else if (c = h.textarea.selectionStart) {
833							if (h.textarea.value.charAt(c-1) == '{') {
834								return ' ' + openWith + s + closeWith + ' ';
835							}
836						}
837					}
838					return openWith + s + closeWith;
839				}
840				
841
842barre_outils_vide = {
843    "nameSpace": "vide",
844    "previewAutoRefresh": false,
845    "markupSet": []
846}
847
848 
849
850
851;(function($){
852
853// 2 fonctions pour appeler le porte plume reutilisables pour d'autres plugins
854// on envoie dedans la selection jquery qui doit etre effectuee
855// ce qui evite des appels direct a markitup, aucazou on change de lib un j
855our
856$.fn.barre_outils = function(nom, settings) {
857	options = {
858		lang:'fr'
859	};
860	$.extend(options, settings);
861
862	return $(this)
863		.not('.markItUpEditor, .no_barre')
864		.markItUp(eval('barre_outils_' + nom), {lang:options.lang})
865		.trigger('markItUpEditor.loaded')
866		.parent().find('.markItUpButton a').attr('tabindex', -1) // ne pas tabuler les boutons
867		.end(); 
868};
869
870$.fn.barre_previsualisation = function(settings) {
871	options = {
872		previewParserPath:"index.php?action=porte_plume_previsu", // ici une url relative pour prive/public
873		textEditer:"Modifier",
874		textVoir:"Voir"
875	};
876	$.extend(options, settings);
877
878	return $(this)
879		.not('.pp_previsualisation, .no_previsualisation')
880		.previsu_spip(options)
881		.trigger('markItUpPreview.loaded')
882		.parent().find('.markItUpTabs a').attr('tabindex', -1) // ne pas tabuler les onglets
883		.end();
884};
885
886$(window).on('load', function(){
887	// ajoute les barres d'outils markitup
888	function barrebouilles(){
889		// fonction generique appliquee aux classes CSS :
890		// inserer_barre_forum, inserer_barre_edition, inserer_previsualisation
891		$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
892		$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
893		$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
894
895		 
896		// fonction specifique aux formulaires de SPIP :
897		// barre de forum
898		$('textarea.textarea_forum').barre_outils('forum');
899		 
900		$('.formulaire_forum textarea[name=texte]').barre_outils('forum');
901		// barre d'edition et onglets de previsualisation
902		$('.formulaire_spip textarea[name=texte]')
903			.barre_outils('edition').end()
904			.barre_previsualisation();
905		
906	}
907	barrebouilles();
908	onAjaxLoad(barrebouilles);
909
910});
911})(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.