Макросы и форматтеры
Макросы
Макросы отличаются от остальной разметки тем, что при повторном редактировании документа вы увидите не маркировку-вызов макроса, а результат его работы — они отрабатывают при сохранении текста.
:::: | SATtva |
Вставить ваше имя пользователя. Для отработки макроса необходимо быть зарегистрированным на сайте. | |
::@:: | SATtva (20/06/2006 23:26) |
Имя пользователя и текущие дата/время. | |
::+:: | 20/06/2006 23:26 |
Текущие дата-время. | |
::*:: | ToDo: |
Пометка о необходимости доработать данный фрагмента страницы. Ссылка по поставленный таким образом маркер появится на странице ToDo. |
Форматтеры
Форматтеры — это специальные обработчики текста, автоматически форматирующие или маркирующие его согласно своему назначению. Синтаксис всех форматтеров таков:
%%(name) текст%%
Вот возможные названия форматтеров: (wacko), (comments), (box), (nb), (fyi), (email), (icq), (icq_l), (icq_m), (php), (sql), (html), (ini), (css), (pascal), (java). Форматтер (wacko) выводит текст, как есть, но позволяет применять к нему одну из специальных "оберток" (см. ниже).
Помимо них есть еще ряд форматтеров разметки: css, diff, dtd, javascript, mysql, php, python, sql, xml. Однако они имеют немного иной синтаксис вызова:
%%(hl name) текст%%
Приметильно к форматтеру разметки php-кода важно отметить, что код должен начинаться открывающим разделителем <? и заканчиваться закрывающим разделителем ?>, так как для используемого встроенного в PHP модуля разметки синтаксиса именно эти разделители являются признаком php-кода.
Комментарий
Текст, заключенный в этот форматтер, не выводится на экран, а отображается только при правке документа и в html-коде страницы. Он может быть полезен для включения комментариев в "исходный текст" документа для пользователей, которые будут редактировать его в дальнейшем.
%%(comments) Комментарий, не выводится%%
Специальная маркировка
Некоторый текст документов требует особой маркировки, дабы читатели уделили ему особое внимание. Для этих целей можно использовать два специальных форматтера: (nb) (от "nota bene" — особое внимание) и (fyi) ("for your information" — к сведению).
%%(nb) Говорит и показывает Москва! Передаем важное правительственное сообщение!%%
! | Говорит и показывает Москва! Передаем важное правительственное сообщение! |
Цитата email
%%(email) тело письма%%
Hi! RI>> Yes, it is. >Are you sure? Of course, I am! Roman.
Подсветка синтаксиса
%%(html) page source%%
<html> <a href="http://www.ya.ru" width="8">test</a> </html>
%%(hl javascript) js code%%
var a = document.getElementById("test");
Обертки форматтеров
Любому форматтеру можно задать одну из "оберток" указав ему параметр wrapper. "Обертка" задает вид и поведение форматированного блока. Доступны следующие: box, shade, page, text.
box
%%(sql wrapper=box wrapper_align=left wrapper_width=400)
SELECT * FROM sometable
WHERE a = '12' and b > 2
ORDER BY c DESC --Comment%%
SELECT * FROM sometable
WHERE a = '12' and b > 2
ORDER BY c DESC --Comment
Обёртка box позволяет создавать форматированные блоки, обтекаемые текстом. Кстати, есть специальный форматтер (box), который не делает ничего кроме как оборачивает текст в эту обертку.
shade
shade — это box без настроек.
%%(sql wrapper=shade)
SELECT * FROM sometable
WHERE a = '12' and b > 2
ORDER BY c DESC --Comment%%
SELECT * FROM sometable
WHERE a = '12' and b > 2
ORDER BY c DESC --Comment
page
page позволяет регулировать ширину обычного блока текста. В этом примере блок будет в пределах 500 пикселей.
%%(wacko wrapper=page wrapper_width=500)
<[«A hundred times every day I remind myself that my inner and outer life depend upon the labors of other men, living and dead, and that I must exert myself in order to give in the measure as I have received and am still receiving.»]>
//- Albert Einstein//%%
«A hundred times every day I remind myself that my inner and outer life depend upon the labors of other men, living and dead, and that I must exert myself in order to give in the measure as I have received and am still receiving.»
- Albert Einstein
text
text выводит "плавающий" (float) блок текста.
%%(wacko wrapper=text wrapper_align=right)
текст к правому краю
%%