urlConfig->allowScheme('ftp'); $configurator->urlConfig->allowScheme('mailto'); $configurator->Litedown->decodeHtmlEntities = true; $configurator->Autoemail; $configurator->Autolink; $configurator->Escaper; $configurator->FancyPants; $configurator->HTMLComments; $configurator->HTMLEntities; $configurator->PipeTables; $configurator->TaskLists; $htmlAliases = [ 'a' => ['URL', 'href' => 'url'], 'hr' => 'HR', 'em' => 'EM', 's' => 'S', 'strong' => 'STRONG', 'sup' => 'SUP' ]; foreach ($htmlAliases as $elName => $alias) { if (is_array($alias)) { $configurator->HTMLElements->aliasElement($elName, $alias[0]); unset($alias[0]); foreach ($alias as $attrName => $alias) { $configurator->HTMLElements->aliasAttribute($elName, $attrName, $alias); } } else { $configurator->HTMLElements->aliasElement($elName, $alias); } } $htmlElements = [ 'abbr' => ['title'], 'b', 'br', 'code', 'dd', 'del', 'div' => ['class'], 'dl', 'dt', 'i', 'img' => ['alt', 'height', 'src', 'title', 'width'], 'ins', 'li', 'ol', 'pre', 'rb', 'rp', 'rt', 'rtc', 'ruby', 'span' => ['class'], 'strong', 'sub', 'sup', 'table', 'tbody', 'td' => ['colspan', 'rowspan'], 'tfoot', 'th' => ['colspan', 'rowspan', 'scope'], 'thead', 'tr', 'u', 'ul' ]; foreach ($htmlElements as $k => $v) { if (is_numeric($k)) { $elName = $v; $attrNames = []; } else { $elName = $k; $attrNames = $v; } $configurator->HTMLElements->allowElement($elName); foreach ($attrNames as $attrName) { $configurator->HTMLElements->allowAttribute($elName, $attrName); } } $configurator->tags['html:dd']->rules->createParagraphs(false); $configurator->tags['html:dt']->rules->createParagraphs(false); $configurator->tags['html:td']->rules->createParagraphs(false); $configurator->tags['html:th']->rules->createParagraphs(false); $configurator->plugins->load('MediaEmbed', ['createMediaBBCode' => false]); $sites = [ 'bandcamp', 'dailymotion', 'facebook', 'liveleak', 'soundcloud', 'spotify', 'twitch', 'vimeo', 'vine', 'youtube' ]; foreach ($sites as $site) { $configurator->MediaEmbed->add($site); } } }