Default configuration of RTE content transformation

This default configuration establishes default settings in Page TSconfig for RTE content transformation.

For documentation of RTE tranformations, see: RTE tranformations

For documentation of Page TSconfig configuration of RTE processing, see: RTE tranformations Page TSconfig

For documentation of the HTMLparser, see: TypoScript HTMLparser

For documentation of RTE settings in TCA, see: Special Configuration Options

The following is inserted in Page TSconfig:

Default RTE processing rules

RTE.default.proc {

TRANSFORMATION METHOD

We assume that CSS Styled Content is used.

overruleMode = ts_css

TAGS ALLOWED OUTSIDE P & DIV

allowTagsOutside = address, article, aside, blockquote, footer, header, hr, nav, section

TAGS ALLOWED

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

But, for the sake of clarity, we use a complete list in alphabetic order.

center, font, link, meta, o:p, strike, sdfield, style, title and u will be removed on entry (see below).

b and i will be remapped on exit (see below).

Note that the link accessibility feature of htmlArea RTE does insert img tags.

allowTags = a, abbr, acronym, address, article, aside, b, bdo, big, blockquote, br, caption, center, cite, code, col, colgroup, dd, del, dfn, dl, div, dt, em, font, footer
allowTags := addToList(header, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, label, li, link, meta, nav, ol, p, pre, q, samp, sdfield, section, small)
allowTags := addToList(span, strike, strong, style, sub, sup, table, thead, tbody, tfoot, td, th, tr, title, tt, u, ul, var)

TAGS DENIED

Make sure we can set rules on any tag listed in allowTags.

denyTags >

ALLOWED P ATTRIBUTES

Attributes class and align are always preserved

Align attribute will be unset on entry (see below)

This is a list of additional attributes to keep

keepPDIVattribs = id, title, dir, lang, xml:lang, itemscope, itemtype, itemprop

CONTENT TO DATABASE

entryHTMLparser_db = 1
entryHTMLparser_db {

TAGS ALLOWED

Always use the same list of allowed tags.

allowTags < RTE.default.proc.allowTags

TAGS DENIED

Make sure we can set rules on any tag listed in allowTags.

denyTags >

REMOVE IMG TAGS

img.allowedAttribs = 0
img.rmTagIfNoAttrib = 1

CLEAN ATTRIBUTES ON THE FOLLOWING TAGS

span.fixAttrib.style.unset = 1
span.allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop
span.rmTagIfNoAttrib = 1
p {
   allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop
   fixAttrib.align.unset = 1
}
div < .p
hr.allowedAttribs = class
b.allowedAttribs   < .span.allowedAttribs
bdo.allowedAttribs   < .span.allowedAttribs
big.allowedAttribs   < .span.allowedAttribs
blockquote.allowedAttribs   < .span.allowedAttribs
cite.allowedAttribs   < .span.allowedAttribs
code.allowedAttribs   < .span.allowedAttribs
del.allowedAttribs   < .span.allowedAttribs
dfn.allowedAttribs   < .span.allowedAttribs
em.allowedAttribs   < .span.allowedAttribs
i.allowedAttribs   < .span.allowedAttribs
ins.allowedAttribs   < .span.allowedAttribs
kbd.allowedAttribs   < .span.allowedAttribs
label.allowedAttribs   < .span.allowedAttribs
q.allowedAttribs   < .span.allowedAttribs
samp.allowedAttribs   < .span.allowedAttribs
small.allowedAttribs   < .span.allowedAttribs
strike.allowedAttribs   < .span.allowedAttribs
strong.allowedAttribs   < .span.allowedAttribs
sub.allowedAttribs   < .span.allowedAttribs
sup.allowedAttribs   < .span.allowedAttribs
tt.allowedAttribs   < .span.allowedAttribs
u.allowedAttribs   < .span.allowedAttribs
var.allowedAttribs   < .span.allowedAttribs

REMOVE OPEN OFFICE META DATA TAGS, WORD 2003 TAGS, LINK, META, STYLE AND TITLE TAGS, AND DEPRECATED HTML TAGS

We use this rule instead of the denyTags rule so that we can protect custom tags without protecting these unwanted tags.

removeTags = center, font, link, o:p, sdfield, meta, style, title, strike, u

PROTECT CUSTOM TAGS

keepNonMatchedTags = protect
HTMLparser_db {

STRIP ALL ATTRIBUTES FROM THESE TAGS

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.

However, we want to keep xml:lang attribute on most tags and tags from the default list where cleaned on entry.

noAttrib = br