123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- --- # Syntaxe des raccourcis SPIP, version 0.0.1
- #
- # Si on nomme une regle, elle devient surchargeable
- traiter_retours_chariots_1:
- # Harmonise les retours chariots et mange les paragraphes html
- if_chars: "\r"
- match: ",\r\n?,S"
- replace: "\n"
- priority: -40 # avant tout
- traiter_retours_chariots_2:
- if_str: "<p"
- match: ",<p[>[:space:]],iS"
- replace: "\n\n$0"
- priority: -40 # avant tout
- traiter_retours_chariots_3:
- if_str: "</p"
- match: ",</p[>[:space:]],iS"
- replace: "$0\n\n"
- priority: -40 # avant tout
- init-trim:
- # trim
- type: all
- is_callback: y
- replace: trim
- priority: -40 # avant tout
- init-saut:
- type: all
- replace: "\n$0"
- priority: -40
- lignes-vides:
- match: ",^[ \t]+$,m"
- replace: ""
- priority: -35 # avant les tableaux
- tableaux:
- type: all
- # included subwheel with relative filepath
- replace: spip/spip-tableaux.yaml
- is_wheel: Y
- if_str: "\n|"
- priority: -30 # avant les raccourcis
- listes:
- if_str: "\n-"
- is_wheel: Y
- type: all
- replace: spip/spip-listes.yaml
- priority: -20 # avant !paragraphes
- echappe-tags:
- # voir restaure-tags plus bas
- match: ",</?[a-z!][^<>]*?[{}_-][^<>]*>,imsS"
- if_chars: "{}_-"
- priority: -20 # avant !paragraphes
- is_wheel: Y
- replace:
- echappe-tags-sub:
- if_match: "/[{}]|\n[_-]|--/"
- match: ['{', '}', '_', '-']
- replace: ["\x1\x1", "\x1\x2", "\x1\x3", "\x1\x4"]
- type: str
- ligne-horizontale:
- match: "/\n(----+|____+)/S"
- replace: "\n\n\n<hr class=\"spip\" />\n\n\n"
- if_chars: "\n"
- priority: -20 # avant !paragraphes
- alinea:
- match: "/\n-- */"
- replace: "\n<br />— "
- if_str: "\n--"
- priority: -20 # avant !paragraphes
- puce:
- match: "/\n- */S"
- replace: replace_puce
- if_str: "\n-"
- is_callback: Y
- priority: -20 # avant !paragraphes
- br-inutile:
- match: "/(^|^\n|\n\n)_ +/S"
- replace: "$1"
- if_str: "_ "
- priority: -20 # avant !paragraphes
- br:
- match: "/\n_ +/S"
- replace: "<br class='manualbr' />"
- if_str: "\n_"
- priority: -20 # avant !paragraphes
- abbr:
- # raccourcis en [ABBR|abbreviation]
- if_chars: "["
- if_chars: "|"
- match: "/\[([^\|\[\]>]+)\|([^\|\]\{>]+)(?:\{([a-z]+)\})?\]/S"
- is_callback: Y
- replace: inserer_abbr
- intertitres-compliques:
- # raccourcis imbriques en {{{{..}}}}
- # intertitres
- match: ['/(^|[^{])[{][{][{]/S', '/[}][}][}]($|[^}])/S']
- replace: ["$1\n\n\n<h3 class=\"spip\">", "</h3>\n\n\n$1"]
- if_str: '}}}}'
- intertitres:
- # raccourcis en {{{..}}}
- # intertitres
- match: ['{{{', '}}}']
- replace: ["\n\n\n<h3 class=\"spip\">", "</h3>\n\n\n"]
- if_str: '{{{'
- type: str
- gras:
- # raccourcis en {{..}}
- # strong
- match: ['{{', '}}']
- replace: ['<strong>', '</strong>']
- type: str
- if_str: '{{'
- italiques:
- # raccourcis en {..}
- # strong
- match: ['{', '}']
- replace: ['<i>', '</i>']
- type: str
- if_str: '{'
- paragraphes:
- # paragraphes
- # lignes vides consecutives, br imbriques dans des p
- # mais attention pas les br trop riches (ex: br style=clear:both)
- match: ["/ *\n(?: *\n)+(?:<br ?\/?>)*/S", '/(?:<br\b[^>]*>){2,}\s*/S', "/(<p\b[^>]*>)\n*(?:<br ?\/?>\n*)+/S"]
- replace: ['<p>', '<p>', '$1']
- priority: 0
- quote:
- # raccourci <quote>
- match: ['<quote>', '</quote>']
- replace: ['<blockquote class="spip"><p>', '</blockquote><p>']
- if_str: '<quote>'
- type: str
- intro:
- # suppr raccourci <intro>
- # + suppression de <intro>
- match: ['<intro>', '</intro>']
- replace: ['', '']
- if_str: '<intro>'
- type: str
- br-restant:
- # eliminer les br restant en debut de texte
- match: "@^\n<br />@S"
- replace: ''
- if_str: "\n<br"
- priority: -20 # avant !paragraphes
- poesie:
- # poesie|poetry
- # utilise une callback
- match: ",<poe(sie|try)>(.*)</poe(sie|try)>,UimsS"
- replace: spip/spip-poesie.yaml
- pick_match: 2
- is_wheel: Y
- if_str: '<poe'
- priority: -40
- restaure-tags:
- # voir echappe-tags ci-dessus
- if_chars: "\x1"
- match: ["\x1\x1", "\x1\x2", "\x1\x3", "\x1\x4"]
- replace: ['{', '}', '_', '-']
- type: str
- echappe-chevron-solitaire:
- # un < qui n'est pas suivi d'une lettre ou d'un / est toujours echappe
- type: preg
- match: "/<(?=[^a-z\/!])/Uims"
- replace: "<"
- echappe-chevron-pas-ferme:
- # un < suivi d'une lettre ou d'un / est echappe si il semble mal ferme
- type: preg
- match: "/<([^><\"'!]*)(?=<|$)/Uims"
- replace: "<$1"
|