J1.5 Geshibot Plugin
Огорчило, что при проверке W3C validators выдает ошибки связанные с размещением тегов style в теле страницы и расположение блочных элементов в теге pre.
Я это исправил, сделав следующие небольшие изменения в коде файла geshi.class.php, заменив тег div на span:
//return "<div$attr>$footer</div>";
return "<br /><span$attr>$footer</span>";
и в файле geshibot.js , добавив функцию getElementsByName_iefix:
// для выбора тегов по имени и классу
function getElementsByName_iefix(tag, classname) {
var elem = document.getElementsByTagName(tag);
var arr = new Array();
for(i = 0,iarr = 0; i < elem.length; i++) {
att = elem[i].className;
if(att == classname) {
arr[iarr] = elem[i];
iarr++;
}
}
return arr;
}
и заменил строку
//var divs = document.getElementsByTagName('div');
var divs = getElementsByName_iefix('span', 'foot');
Чтобы теги style выводились в заголовок страницы, в файле geshibot.php сделал такие изменения:
//echo "\n" . '<style type="text/css">';
//echo $geshi->get_stylesheet();
//echo '</style>';
$document = &JFactory::getDocument();
$document->addStyleDeclaration( $geshi->get_stylesheet() );
Ошибка также выдается когда код, который обрамляется тегом div помещается в теги абзаца визуальным редактором. Чтобы этого не было теги абзаца вокруг кода нужно убрать.
Но можно пользоваться и стандартным плагинов, который идет с Joomla, вот в интернете (http://www.off-soft.net/ja/joom/extensions/hilight3.html) нашел пример синаксиса для плагина, входящего в пакет Joomla 1.5
<pre xml:lang="php" lines="fancy" background="#ffffe0" foreground="#ffe0ff" initial="100">