* (major) Feature: Improved behaviour and configuration options of formatblock and...
[Packages/TYPO3.CMS.git] / typo3 / sysext / rtehtmlarea / res / proc / pageTSConfig.txt
1 # ***************************************************************************************
2 # Default proc options in Page TSconfig for htmlArea RTE and Classic RTE
3 #
4 # Sets the proc options for all default configurations.
5 #
6 # Assumptions:  - CSS Styled Content is installed.
7 #               - XHTML output is expected.
8 #
9 # For documentation of RTE tranformations, see: http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/5/2/
10 # For documentation of Page TSConfig configuration of RTE processing, see: http://typo3.org/documentation/document-library/doc_core_api/Page_TSconfig/
11 # For documentation of the HTMLparser, see: http://typo3.org/documentation/document-library/doc_core_tsref/HTMLparser/
12 # For documentation of RTE settings in TCA, see: http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/4/3/#id3665895
13 #
14 # @author       Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
15 #
16 # TYPO3 CVS ID: $Id$
17 # ***************************************************************************************
18
19         ## Default RTE processing rules
20 RTE.default.proc {
21         
22                 ## TRANSFORMATION METHOD
23                 ## We assume that CSS Styled Content is used.
24         overruleMode = ts_css
25         
26                 ## DO NOT CONVERT BR TAGS INTO LINEBREAKS
27                 ## br tags in the content are assumed to be intentional.
28         dontConvBRtoParagraph = 1
29         
30                 ## PRESERVE DIV SECTIONS - DO NOT REMAP TO P
31         preserveDIVSections = 1
32         
33                 ## TAGS ALLOWED OUTSIDE P & DIV
34         allowTagsOutside = hr, address
35         
36                 ## TAGS ALLOWED
37                 ## Added to the default internal list: b,i,u,a,img,br,div,center,pre,font,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,strike,span
38                 ## But, for the sake of clarity, we use a complete list in alphabetic order.
39                 ## center, font, o:p, strike, sdfield and  u will be removed on entry (see below).
40                 ## b and i will be remapped on exit (see below).
41                 ## Note that the link accessibility feature of htmlArea RTE does insert img tags.
42         allowTags (
43                 a, abbr, acronym, address, b, bdo, big, blockquote, br, caption, center, cite, code, col, colgroup, del, dfn, div, em, font,
44                 h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, label, li, link, ol, p, pre, q, samp, sdfield, small,
45                 span, strike, strong, sub, sup, table, thead, tbody, tfoot, td, th, tr, tt, u, ul, var
46                 )
47         
48                 ## TAGS DENIED
49                 ## Make sure we can set rules on any tag listed in allowTags.
50         denyTags >
51         
52                 ## ALLOWED P & DIV ATTRIBUTES
53                 ## Attributes class and align are always preserved
54                 ## Align attribute will be unset on entry (see below)
55                 ## This is a list of additional attributes to keep
56         keepPDIVattribs = id, title, dir, lang, xml:lang
57         
58                 ## CONTENT TO DATABASE
59         entryHTMLparser_db = 1
60         entryHTMLparser_db {
61         
62                         ## TAGS ALLOWED
63                         ## Always use the same list of allowed tags.
64                 allowTags < RTE.default.proc.allowTags
65                 
66                         ## TAGS DENIED
67                         ## Make sure we can set rules on any tag listed in allowTags.
68                 denyTags >
69                 
70                         ## AVOID CONTENT BEING HSC'ed TWICE
71                 htmlSpecialChars = 0
72                 
73                 tags {
74                         
75                                 ## REMOVE IMG TAGS
76                         img.allowedAttribs = 0
77                         img.rmTagIfNoAttrib = 1
78                         
79                                 ## CLEAN ATTRIBUTES ON THE FOLLOWING TAGS
80                         span.fixAttrib.style.unset = 1
81                         p {
82                                 allowedAttribs = id, title, dir, lang, xml:lang, class
83                                 fixAttrib.align.unset = 1
84                         }
85                         div < .p
86                         hr.allowedAttribs = class
87                         b.allowedAttribs = id, title, dir, lang, xml:lang, class
88                         bdo.allowedAttribs = id, title, dir, lang, xml:lang, class
89                         big.allowedAttribs = id, title, dir, lang, xml:lang, class
90                         blockquote.allowedAttribs = id, title, dir, lang, xml:lang, class
91                         cite.allowedAttribs = id, title, dir, lang, xml:lang, class
92                         code.allowedAttribs = id, title, dir, lang, xml:lang, class
93                         del.allowedAttribs = id, title, dir, lang, xml:lang, class
94                         dfn.allowedAttribs = id, title, dir, lang, xml:lang, class
95                         em.allowedAttribs = id, title, dir, lang, xml:lang, class
96                         i.allowedAttribs = id, title, dir, lang, xml:lang, class
97                         ins.allowedAttribs = id, title, dir, lang, xml:lang, class
98                         kbd.allowedAttribs = id, title, dir, lang, xml:lang, class
99                         label.allowedAttribs = id, title, dir, lang, xml:lang, class
100                         q.allowedAttribs = id, title, dir, lang, xml:lang, class
101                         samp.allowedAttribs = id, title, dir, lang, xml:lang, class
102                         small.allowedAttribs = id, title, dir, lang, xml:lang, class
103                         strong.allowedAttribs = id, title, dir, lang, xml:lang, class
104                         sub.allowedAttribs = id, title, dir, lang, xml:lang, class
105                         sup.allowedAttribs = id, title, dir, lang, xml:lang, class
106                         tt.allowedAttribs = id, title, dir, lang, xml:lang, class
107                         var.allowedAttribs = id, title, dir, lang, xml:lang, class
108                 }
109                 
110                         ## REMOVE OPEN OFFICE META DATA TAGS, WORD 2003 TAGS AND DEPRECATED HTML TAGS
111                         ## We use this rule instead of the denyTags rule so that we can protect custom tags without protecting these unwanted tags.
112                 removeTags = center, font, o:p, sdfield, strike, u
113                 
114                         ## PROTECT CUSTOM TAGS
115                 keepNonMatchedTags = protect
116         }
117         
118         HTMLparser_db {
119                         ## STRIP ALL ATTRIBUTES FROM THESE TAGS
120                         ## If this list of tags is not set, it will default to: b,i,u,br,center,hr,sub,sup,strong,em,li,ul,ol,blockquote,strike.
121                         ## However, we want to keep xml:lang attribute on most tags and tags from the default list where cleaned on entry.
122                 noAttrib = br
123         
124                         ## XHTML COMPLIANCE
125                         ## Note that applying xhtml_cleaning on exit would break non-standard attributes of typolink tags
126                 xhtml_cleaning = 1
127         }
128         
129         exitHTMLparser_db = 1
130         exitHTMLparser_db {
131                         ## REMAP B AND I TAGS
132                         ## b and i tags are used by Mozilla/Firefox in editing mode.
133                         ## This must be done on exit because the default HTMLparser_db parsing executes the reverse mapping.
134                 tags.b.remap = strong
135                 tags.i.remap = em
136                 
137                         ## KEEP ALL TAGS
138                         ## Unwanted tags were removed on entry.
139                         ## Without this rule, the parser will remove all tags! Presumably, this rule will be more efficient than repeating the allowTags rule
140                 keepNonMatchedTags = 1
141                 
142                         ## AVOID CONTENT BEING HSC'ed TWICE
143                 htmlSpecialChars = 0
144         }
145 }
146
147         ## Use same RTE processing rules in FE
148 RTE.default.FE.proc < RTE.default.proc
149
150         ## RTE processing rules for bodytext column of tt_content table
151         ## Erase settings from other extensions
152 RTE.config.tt_content.bodytext >
153
154         ## Make sure we use ts_css transformation
155 RTE.config.tt_content.bodytext.proc.overruleMode = ts_css
156 RTE.config.tt_content.bodytext.types.text.proc.overruleMode = ts_css
157 RTE.config.tt_content.bodytext.types.textpic.proc.overruleMode = ts_css