1 --- # Syntaxe des raccourcis SPIP, version 0.0.1
3 # Si on nomme une regle, elle devient surchargeable
9 replace: "replace_math"
10 priority: -50 # en tout premier : le contenu des formules math ne doit pas etre modifie
12 traiter_retours_chariots_1:
13 # Harmonise les retours chariots et mange les paragraphes html
17 priority: -40 # avant tout
24 priority: -40 # avant tout
34 priority: -35 # avant les tableaux
38 # included subwheel with relative filepath
39 replace: spip/spip-tableaux.yaml
42 priority: -30 # avant les raccourcis
48 replace: spip/spip-listes.yaml
49 priority: -20 # avant !paragraphes
52 # voir restaure-tags plus bas
53 match: ",</?[a-z!][^<>]*?[{}_-][^<>]*>,imsS"
55 priority: -20 # avant !paragraphes
59 if_match: "/[{}]|\n[_-]|--/"
60 match: ['{', '}', '_', '-']
61 replace: ["\x1\x1", "\x1\x2", "\x1\x3", "\x1\x4"]
66 priority: -20 # avant !paragraphes
67 match: ['\{', '\}', '\_', '\-', '\[', '\]', '\|', '\<', '\>', '\\', '\*', '\#', '\+', '\~']
68 replace: ["\x1\x1", "\x1\x2", "\x1\x3", "\x1\x4", "\x1\x5", "\x1\x6", "\x1\x7", "\x1\x8", "\x1\x9", "\x1\x10", "\x1\x11", "\x1\x12", "\x1\x13", "\x1\x14"]
72 match: "/\n(----+|____+)/S"
73 replace: "\n\n\n<hr class=\"spip\" />\n\n\n"
75 priority: -20 # avant !paragraphes
79 replace: "\n<br />— "
81 priority: -20 # avant !paragraphes
88 priority: -20 # avant !paragraphes
91 match: "/(^|^\n|\n\n)_ +/S"
94 priority: -20 # avant !paragraphes
98 replace: "<br class='manualbr' />"
100 priority: -20 # avant !paragraphes
103 # raccourcis en [ABBR|abbreviation]
106 match: "/\[([^\|\[\]>]+)\|([^\|\]\{>]+)(?:\{([a-z]+)\})?\]/S"
108 replace: inserer_abbr
110 intertitres-compliques:
111 # raccourcis imbriques en {{{{..}}}}
113 match: ['/(^|[^{])[{][{][{]/S', '/[}][}][}]($|[^}])/S']
114 replace: ["$1\n\n\n<h3 class=\"spip\">", "</h3>\n\n\n$1"]
118 # raccourcis en {{{..}}}
120 match: ['{{{', '}}}']
121 replace: ["\n\n\n<h3 class=\"spip\">", "</h3>\n\n\n"]
126 # faux raccourcis vides en {{}}
129 replace: "\x1\x1\x1\x1\x1\x2\x1\x2"
134 # raccourcis en {{..}}
137 replace: ['<strong>', '</strong>']
142 # faux raccourcis vides en {}
145 replace: "\x1\x1\x1\x2"
153 replace: ['<i>', '</i>']
159 # lignes vides consecutives, br imbriques dans des p
160 # mais attention pas les br trop riches (ex: br style=clear:both)
161 match: ["/ *\n(?: *\n)+(?:<br ?\/?>)*/S", '/(?:<br\b[^>]*>){2,}\s*/S', "/(<p\b[^>]*>)\n*(?:<br ?\/?>\n*)+/S"]
162 replace: ['<p>', '<p>', '$1']
167 match: ['<quote>', '</quote>']
168 replace: ['<blockquote class="spip"><p>', '</blockquote>']
173 # suppr raccourci <intro>
174 # + suppression de <intro>
175 match: ['<intro>', '</intro>']
181 # eliminer les br restant en debut de texte
182 match: "@^\n<br />@S"
185 priority: -20 # avant !paragraphes
190 # utilise une callback
191 match: ",<poe(sie|try)>(.*)</poe(sie|try)>,UimsS"
192 replace: spip/spip-poesie.yaml
199 # voir echappe-tags ci-dessus
201 match: ["\x1\x1", "\x1\x2", "\x1\x3", "\x1\x4", "\x1\x5", "\x1\x6", "\x1\x7", "\x1\x8", "\x1\x9", "\x1\x10", "\x1\x11", "\x1\x12", "\x1\x13", "\x1\x14"]
202 replace: ['{', '}', '_', '-', '[', ']', '|', '<', '>', '\', '*', '#', '+', '~']
205 echappe-chevron-solitaire:
206 # un < qui n'est pas suivi d'une lettre ou d'un / est toujours echappe
208 match: "/<(?=[^a-z\/!])/Uims"
211 echappe-chevron-pas-ferme:
212 # un < suivi d'une lettre ou d'un / est echappe si il semble mal ferme
214 match: "/<([^><\"'!]*)(?=<|$)/Uims"