Это старая версия документа.


Подсветка кода 1С в DokuWiki

В DokuWiki подсветка кода различных языков программирования выполняется с помощью GeSHi.

Установка

Для подсветки кода 1С, необходимо:

  • Скачать и распаковать ахив
  • Положить файл _1c.php в каталог /inc/geshi/
  • Положить файл css-стиля userstyle.css в каталог <dokuwiki>/conf

Использование

В конструкции code указываем язык: <code _1c>

Пример

&Клиент // Прекомпилятор
#Если Клиент // Прекомпилятор
    Направление = Перечисления.Направление.Экспорт; //Ключевое слово
    СрокДоставки = '00010103'; //Литерал
    Реквизит = Метаданные.Документы("АвансовыйОтчет").РеквизитыШапки; //Ключевое слово и знаки
    Строка = "Начало строки
       |окончание строки";
    Сумма1 = 402.22/554; //Число и деление
    Сумма2=-2*(24.54+456)/7; //Отрицательное число и знаки
    Выражение =Ложь//Ключевое слово и комментарий
    НачалоДаты = '010 //Ошибка записи литерала
    -065416 иббд101'; //Ошибка записи литерала
    ~Начало: //Безусловный переход
    Перейти ~Начало; //Безусловный переход
 
&НаКлиенте
Процедура НайтиВСписке(Команда)
	// комментарий
	ПараметрыФормы = Новый Структура("ТекущаяСтрока", Объект.Ссылка );
	ОткрытьФорму("Справочник.Товары.ФормаСписка", ПараметрыФормы);
 
КонецПроцедуры

Особенности реализации

Этот раздел читать необязательно. Он для тех, кто не хочет использовать готовый архив, а хочет сделать все самостоятельно. Для таких людей, ниже, указаны места разбросанных граблей.

Изначально, мы использовали исходник, созданный Kirill Krasnov.

Грабли №1

Dokuwiki игнорирует цветовую схему, указанную в GeShi, поэтому, если просто положить файл от Kirill Krasnov в каталог inc/geshi, то результата не будет.

Самый простой путь для достижения результата - это переопределить цветовую схему с помощью стандартного механизма Dokuwiki, файл conf/userstyle.css.

Грабли №2

Важно переименовать исходный файл от Kirill Krasnov 1c.php на _1c.php, а название языка 1C на _1c. Иначе вы получите невалидный css-селектор (начинается с цифры)

Именно поэтому, необходимо переименовать файл и язык в переменной LANG_NAME

Ссылки

  • Файл для GeSHi архив от Kirill Krasnov
  • Готовая сборка от Simplit ахив