[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / textwheel / wheels / spip / spip-paragrapher.yaml
1 --- # paragrapher un texte contenant des <p> mal fermes
2 #
3
4 paragrapher-init-trim:
5 # trim
6 type: all
7 is_callback: y
8 replace: trim
9
10 toujours-paragrapher:
11 # Ajouter un <p> au debut pour assurer d'avoir toujours un paragraphe
12 # annuler cette regle pour revenir a l'ancien comportement de SPIP
13 type: all
14 replace: "<p>$0"
15
16 toujours-ouvrir:
17 # toujours ouvrir un parapgraphe derriere une balise bloc fermante
18 if_str: "</"
19 match: ",</(?:address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style)[^>]*>\s*?,UimsS"
20 replace: "$0<p>"
21
22 liens-block:
23 # en HTML5, les <a> peuvent contenir une balise block
24 if_str: "</a>"
25 type: preg
26 match: ",(<a\s[^>]*>)(.*)(</a>),Uims"
27 is_callback: Y
28 replace: detecter_liens_blocs
29
30 li-ouvrir:
31 # toujours ouvrir un parapgraphe quand on ouvre une liste ?
32 # desactive
33 if_str: "<li"
34 match: ",<li[^>]*>\s*?,UimsS"
35 replace: "$0<p>"
36 disabled: Y
37
38 ajouter-stop-p1:
39 # Ajouter un espace aux <p> et un "STOP P"
40 # transformer aussi les </p> existants en <p>, nettoyes ensuite
41 if_str: "<p>"
42 #if_match: ",<p\b,iS"
43 match: "/^.*$/msS"
44 replace: "<p>$0<STOP P>"
45
46 ajouter-stop-p2:
47 if_str: "<"
48 #if_match: ",<p\b,iS"
49 match: ",</?p\b\s?(.*?)>,iS"
50 replace: "<STOP P><p $1>"
51
52 fermer-para-preg:
53 # Fermer les paragraphes
54 # y compris sur "STOP P"
55 # en reperant les balises blocs XHTML
56 # en pure wheel : le \s* agit comme trim() et remplace reduire-blancs2
57 match: ",<p (.*)\s*<(/?)(stop p|address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style)\b,UimsS"
58 replace: "<p $1</p>\n<$2$3"
59 disabled: Y
60
61 fermer-para-mano:
62 # Fermer les paragraphes
63 # en reperant les balises blocs XHTML
64 # optimise a la mano
65 type: all
66 is_callback: Y
67 replace: fermer_para_mano
68
69
70 supprimer-stop-p:
71 # Supprimer les marqueurs "STOP P"
72 match: "<STOP P>"
73 replace: ''
74 type: str
75
76 ## inutile
77 #reduire-blancs1:
78 # # Reduire les blancs dans les <p> 1/2
79 # match: ",(<p [^>]*>)\s*,UiuS"
80 # replace: "$1"
81 # disabled: Y
82
83 suppr-para-presque-vides:
84 # Supprimer les <p xx></xx></p> (ne contiennent qu'une balise ouvrante/fermante)
85 match: ",<p [^>]*>(<(?:/\w+|\w+[^>]*[^/])>)</p>,S"
86 replace: "$1"
87
88 suppr-para-vides:
89 # Supprimer les <p xx></p> vides
90 match: ",<p [^>]*>\s*</p>\s*,S"
91 replace: ""
92
93 ## desormais implemente sous forme du \s* de fermer-para
94 #reduire-blancs2:
95 # # Reduire les blancs dans les <p> 2/2
96 # match: ",\s*</p\b,UiuS"
97 # replace: "</p"
98 # disabled: Y
99
100 renommer-para-normaux:
101 # Renommer les paragraphes normaux
102 match: ["\n<p >", "<p >"]
103 replace: ["\n<p>", "\n<p>"]
104 type: str