Узнай больше об подсветке синтакиса - плагине

Материал из DOM

Перейти к: навигация, поиск

Я пишу расширения функий mediawiki, которых не нашел в стандартном репозитарии. Первый на рассмотрении это плагин: sourceshighlighter - его назначение это предъявление исходных текстов программ написаннах на разных языках программирования. Это надстройка над geshi и отличается от множества подобных решений тем, что служит для оформления не одного кусочка исходной страницы, а встраивает внутрь страницы настоящий файловый менеджер по папке с исходниками некоторого проекта. Вы видите файлы в составе проекта, жмете на файл и открывается страница с подсвеченным исходным кодом данного файла. По сути, это решение "скопировал папку проекта на сервер - и забыл".

Обновление: добавлена возможность загрузить с сервера архив zip с файлами проекта. Создание zip выполняется автоматически.

Идея установки очень проста вы берете исходники моего расширения и копируете их в папку там_где_установлена_ваша_вика/extensions/sourcehighlighter осталось сделать малое - необходимо в файле LocalSettings.php - конфигурационном файле вашей вики добавить строчку подключающую данный плагин

последний шаг - это необходимо в файле плагина указать путь к библиотеке GeShi

// путь к установленной гейше
define('PATH_TO_GESHI', '../geshi');

также важно указать настройки отображения расширений файлов в используемые ими языки программирования:

// здесь выполняется регистрация расширений файлов на их название типа 
//- по названию типа и выполняется раскраска кода
$MAP_EXT_TO_SOURCE  = array (
'as' => 'actionscript',
'as2' => 'actionscript',
'as3' => 'actionscript',
 
'c' => 'c',
'cpp' => 'cpp',
 
'css' => 'css',
 
'html' => 'html4strict',
'htm' => 'html4strict',
'shtml' => 'html4strict',
 
'php' => 'php',
'php3' => 'php',
'php4' => 'php',
'php5' => 'php',
'phtml' => 'php',
);

после этого вы можете непосредственно в тексте вашей вики вставлять специальные теги распознаваемые моим плагином (пробел после @ не нужен - все пишется слитно): @ {sourceshighlight css="shc_basic.css" base="wiki/extensions" }

Здесь необходимо указать два атрибута css - имя файла css 
который будет использован для оформления плагина
а также атрибут base - указывающий путь к подсвечиваемомому каталогу
(отсчет пути начинается от каталога уровнем выше чем тот где у вас установлена wiki)

плагин сделан с помощью библиотеки GeShi - http://qbnz.com/highlighter/index.php пример работы показан на следующих картинках:

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus1gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus2gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus3gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus4gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus5gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus6gif.gif

Изображение:plusPrimerplusminusplusdljaplusminusplusvikiplusminuspluspodsvetkiplusminus7gif.gif


Страница с исходниками sourcehighlighter

Subscribe Now!

 

ObMachine projects & articles (java, flash, flex, php, ...)  -- black-zorro.com