spip-paragrapher.yaml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. --- # paragrapher un texte contenant des <p> mal fermes
  2. #
  3. paragrapher-init-trim:
  4. # trim
  5. type: all
  6. is_callback: y
  7. replace: trim
  8. toujours-paragrapher:
  9. # Ajouter un <p> au debut pour assurer d'avoir toujours un paragraphe
  10. # annuler cette regle pour revenir a l'ancien comportement de SPIP
  11. type: all
  12. replace: "<p>$0"
  13. toujours-ouvrir:
  14. # toujours ouvrir un parapgraphe derriere une balise bloc fermante
  15. if_str: "</"
  16. match: ",</(?:div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)[^>]*>\s*?,UimsS"
  17. replace: "$0<p>"
  18. ajouter-stop-p1:
  19. # Ajouter un espace aux <p> et un "STOP P"
  20. # transformer aussi les </p> existants en <p>, nettoyes ensuite
  21. if_str: "<p>"
  22. #if_match: ",<p\b,iS"
  23. match: "/^.*$/msS"
  24. replace: "<p>$0<STOP P>"
  25. ajouter-stop-p2:
  26. if_str: "<"
  27. #if_match: ",<p\b,iS"
  28. match: ",</?p\b\s?(.*?)>,iS"
  29. replace: "<STOP P><p $1>"
  30. fermer-para-preg:
  31. # Fermer les paragraphes
  32. # y compris sur "STOP P"
  33. # en reperant les balises blocs XHTML
  34. # en pure wheel : le \s* agit comme trim() et remplace reduire-blancs2
  35. match: ",<p (.*)\s*<(/?)(STOP P|div|pre|ul|ol|li|blockquote|h[1-6r]|t(able|[rdh]|head|body|foot|extarea)|form|object|center|marquee|address|applet|iframe|d[ltd]|script|noscript|map|button|fieldset|style)\b,UimsS"
  36. replace: "<p $1</p>\n<$2$3"
  37. disabled: Y
  38. fermer-para-mano:
  39. # Fermer les paragraphes
  40. # en reperant les balises blocs XHTML
  41. # optimise a la mano
  42. type: all
  43. is_callback: Y
  44. replace: fermer_para_mano
  45. supprimer-stop-p:
  46. # Supprimer les marqueurs "STOP P"
  47. match: "<STOP P>"
  48. replace: ''
  49. type: str
  50. ## inutile
  51. #reduire-blancs1:
  52. # # Reduire les blancs dans les <p> 1/2
  53. # match: ",(<p [^>]*>)\s*,UiuS"
  54. # replace: "$1"
  55. # disabled: Y
  56. suppr-para-vides:
  57. # Supprimer les <p xx></p> vides
  58. match: ",<p [^>]*>\s*</p>\s*,S"
  59. replace: ""
  60. ## desormais implemente sous forme du \s* de fermer-para
  61. #reduire-blancs2:
  62. # # Reduire les blancs dans les <p> 2/2
  63. # match: ",\s*</p\b,UiuS"
  64. # replace: "</p"
  65. # disabled: Y
  66. renommer-para-normaux:
  67. # Renommer les paragraphes normaux
  68. match: "<p >"
  69. replace: "\n<p>"
  70. type: str