Справка/Форматтеры

Форматтеры

Общая информация


Форматтер это такой специальный обработчики текста.
В VQS форматтеры используют преимущественно для подсветки синтаксиса.


Любой форматтер может быть вызван при помощи синтаксиса %%(имяформаттера) текст %%.


Если имя не указано, используется форматтер code.


Существующие форматтеры

Вот они, ВОТ ОНИ! Форматтеры моей мечты!!!

code

Позволяет включить в страницу произвольный код на каком-либо языке программирования с гарантией, что он не будет обработан wakka-форматтером

linktext

Позволяет сделать симпотные выплывающие подсказки (у нас такие в FAQ работают).
Первая строка – вопрос. Всё остальное – ответ.


А если в вызове добавить имя стиля для подсказки (т.е. написать %%(linktext имястиля)), то можно сделать и круче:

icq, icq_l, icq_m

Позволяет оформить в читабельный вид логи IM-мессенджеров: ICQ Pro, ICQ Lite и Miranda+nConvers соответственно


НектоПривет14.05.20 14:52
Романпривет, ага14.05.20 14:52
Нектоэкая хрень14.05.20 14:53
Нектотестирую эту ужасную ицкупро
кашмар
28.06.20 2:25
РоманИ не говори28.06.20 2:25

php, phpplus

Выполняет подсветку синтаксиса языка PHP (для первого варианта обязательно наличие <? и ?>)

<?
phpinfo
();
$s "Hello, World!\n";
print 
"$s";
?>

sql

Выполняет подсветку синтаксиса языка SQL

SELECT * FROM sometable WHERE a = '12' and b = 2 ORDER BY c DESC --Comment

css

Выполняет подсветку синтаксиса языка CSS

body {margin: 0; padding:5px;}
.class {background:url("http://www.ya.ru/")} 

html

Выполняет подсветку синтаксиса языка HTML

<html>
<a href="http://www.ya.ru" width="8">test</a>
</html>

java

Выполняет подсветку синтаксиса языка JAVA

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

pascal

Выполняет подсветку синтаксиса языка PASCAL/DELPHI

BEGIN
 if a = 15 then writeln("test");
END.

ini

Выполняет подсветку синтаксиса языка INI

[Wiki]
BestEngine="WackoWiki"
Version=4

email

Выполняет подсветку e-mail писем.

Hi!
RI>> Yes, it is.
>Are you sure?

Of course, yes!

Roman.

comments

Всё, что находится внутри этого форматтера не будет отображаться. Даже пример не будем писать – всё равно не увидите;)


Библиотека Text Highlighter

Поскольку мы всё-таки «кул-хацкеры», то решили добавить в систему подсветку других языков. Так, не мудрствуя лукаво, включили библиотеку Text Highlighter.
Все форматтеры из этого раздела нужно вызывать так: %%(hl имяформаттера) текст %%

hl xml

Выполняет подсветку синтаксиса языка XML

<VQS>
    <idea>Сделать крутую и весёлую Wiki-CMS</idea>
    <comment />
</VQS>

hl cpp

Выполняет подсветку синтаксиса языка CPP 

#include <iostream> // это необходимо для std::cout и std::endl и для оператора <<
 
int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

hl javascript

Выполняет подсветку синтаксиса языка JAVASCRIPT

alert('Hello, World!');

hl python

Выполняет подсветку синтаксиса языка PYTHON

>>> print ("Здравствуй, %s!" % "Мир")
Здравствуй, Мир!

hl perl

Выполняет подсветку синтаксиса языка PERL

hl ruby

Выполняет подсветку синтаксиса языка RUBY

hl vbscript

Выполняет подсветку синтаксиса языка VBSCRIPT

' Объявление переменной:
 Dim strMessage
 ' Присваивание переменной значения:
 strMessage = "VQS - cool CMS"
 ' Вывод окна с сообщением:
 MsgBox strMessage

hl dtd

Выполняет подсветку синтаксиса языка DTD

<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">

hl sh

Выполняет подсветку синтаксиса языка SH

if then else elif fi case esac for while until do done { }

hl abap

Выполняет подсветку синтаксиса языка ABAP

REPORT zguiver.
 
DATA: BEGIN OF gs_sysnfo.
        INCLUDE STRUCTURE rfcsi.
DATA: END OF gs_sysnfo.
 
CALL FUNCTION 'RFC_SYSTEM_INFO'
  DESTINATION 'SAPGUI' 
  IMPORTING 
    rfcsi_export = gs_sysnfo.
 
WRITE: / 'SAPGUI version:', gs_sysnfo-rfcsaprl.


Создание нового форматтера

Достаточно создать php-файл, который получает на вход переменную $text, а результат выводит в stdout (то есть при помощи echo/print) и разместить его в папке formatters.


Если вы создадите новый форматтер, присылайте его нам. Заранее спасибо.


С большой долей вероятности, он будет включен в дистрибутив либо выложен на данной странице.


Вам оказалась полезна эта статья? Если не трудно – дайте свою оценку тому, насколько предложенный здесь материал вам помог=)


Комментарии:

Нет комментариев, будьте первым!

Добавить комментарий:
Представьтесь:


 
Подразделы
Раздел не содержит подстраниц.


Комменты