Оригинал на WackoWiki:WackoSintaksis
{{toc numerate=1}}
Поэкспериментировать с форматированием вы можете в разделе **ТестПлощадка**.
Текст, заключенный в две двойные кавычки слева и справа, **не форматируется**, и выводится так же, как был введен.
===Основы форматирования===
#|| ||
??""**полужирный**""??
|
**полужирный**
|| ||
??""//курсив//""??
|
//курсив//
|| ||
??""__подчеркнутый__""??
|
__подчеркнутый__
|| ||
??""##моноширинный##""??
|
##моноширинный##
|| ||
??""++Мелкий текст++""??
|
++Мелкий текст++
|| ||
??""--зачеркнутый--""??
|
--зачеркнутый--
|| ||
**NB** ++Зачеркивание, как и все следующие разметки в данном разделе, работает на многострочных текстах, в отличие от предыдущих.++
|| ||
Выравнивание осуществляется при помощи вот такой сложной конструкции:
??""%%(wacko wrapper=text wrapper_align=center) текст по центру %%""??
wrapper_align может быть center, right и justify.
--++Можно использовать "">>центрированный<<"", но не рекомендуется++--
|
%%(wacko wrapper=text wrapper_align=center) текст по центру %%
|| ||
??""!!Замечание!!""??
++(работает также ""''Замечание''"", но его лучше не использовать).++
|
!!Замечание!!
|| ||
??""!!(blue)Текст синего цвета!!""??
++(поддерживаются три цвета: (red --/крас / красный--), (green --/зел / зеленый--), (blue --/ син / синий--)).++
|
!!(blue)Текст синего цвета!!
|| ||
??""??Вопрос??""??
|
??Вопрос??
|| ||
??""??(blue)Вопрос??""??
|
??(blue)Вопрос??
|| ||
??""??(red)Вопрос??""??
|
??(red)Вопрос??
|| ||
??""??(green)Вопрос??""??
|
??(green)Вопрос??
|| ||
??""%%код%%""??
|
%%
int main(int arc,char **argv)
{
printf("Hello, %s!\n", (argc>1) ? argv[1] : "World");
return 0;
}
%%
|| ||#
===Cсылки===
Знаками разметки для создания ссылок являются круглые скобки "(, )" и квадратные скобки "[, ]". Оба знака равноправны. Использовать квадратные скобки может быть полезно, если текст документа уже содержит простые круглые скобки, которые могут быть ошибочно расценены разметкой.
====Внутренние ссылки====
#||
||
??""[[Кластеры]]""?? или ??""((Кластеры))""??
|
[[Кластеры]]
||
||
??""[[Кластеры Страница про кластеры]]""?? или
??""((Кластеры Страница про кластеры))""??
|
[[Кластеры Страница про кластеры]]
||
||
??""{{anchor name="test"}}""??
объявление якоря.
|
{{anchor name="test"}}
||
||
??""((#test))""?? и ??""((/HomePage#TOC_1))""??
ссылки на якорь.
|
((#test)) и ((/HomePage#TOC_1))
||
||#
**NB:** слова в смешанном регистре (~ВотТакие) выделять ссылками вообще не надо. Для прочих внутрисайтовых ссылок URL писать не нужно (иначе не возникает связи между двумя страницами). URL нужен лишь для внешних ссылок.
**NB:** чтобы ~ВотТакое слово не стало ссылкой, поставьте перед ним знак ~ (тильда).
**NB:** подробности простановки ссылок на документы, находящиеся не в корне, описаны в разделе ((Кластеры)).
====Внешние ссылки====
#||
||
??""[[https://wackowiki.org WackoWiki]]""??
или ??""((https://wackowiki.org WackoWiki))""??
|
[[https://wackowiki.org WackoWiki]]
||
||
??""https://wackowiki.org""?? подсвечивается автоматически.
|
https://wackowiki.org
||
||
??""PPR:OneMinuteWiki""??
((WackoWiki:/Doc/Russian/InterWiki Интервики))
|
PPR:OneMinuteWiki
||
||
??""mailto:adresse@example.com""??
??""((adresse@example.com))""??
E-Mail.
|
mailto:adresse@example.com
((adresse@example.com))
||
||
??""xmpp:adresse@example.com""??
Jabber.
|
xmpp:adresse@example.com
||
||
??""https://www.google.com/images/google_sm.gif""??
превратится в картинку.
|
https://www.google.com/images/google_sm.gif
||
||
??""((/HomePage https://www.google.com/images/google_sm.gif))""??
картинка, которая ссылка.
|
((/HomePage https://www.google.com/images/google_sm.gif))
||
||#
===Интеграция загруженные файлы===
#|| ||
??""file:/mammut_mascot.jpg""??
??""file:/Subpage/archive.zip""??
++Файл должен быть загружен уже.++
((ДвижокСайта/Действия/Uploads подробное описание...))
|
file:/mammut_mascot.jpg
file:/Subpage/archive.zip
|| ||#
===Заголовки===
{{include page="WackoСинтаксис/Заголовки" notoc=1}}
===Отступы и списки===
Отступы делаются с помощью двух пробелов (можно использовать устаревший вариант - табуляцию).
Так же нужно выделять отступом списки.
#|| ||
%%
Списки:
Отступ
Двойной отступ
----
* ненумерованный список
* ненумерованный список-2
----
1. нумерованный список
1. нумерованный список-2
1.#8 нумерованный список-2, с пропуском
----
A. Верхний регистр
A. Верхний регистр-2
----
a. Нижний регистр
a. Нижний регистр-2
----
i. Римские цифры
i. Римские цифры-2
----
1. список
1. вложенный список
* ещё более вложенный список
1. вложенный список-2
2. список-2
%%
|
Списки:
Отступ
Двойной отступ
----
* ненумерованный список
* ненумерованный список-2
----
1. нумерованный список
1. нумерованный список-2
1.#8 нумерованный список-2, с пропуском
----
A. Верхний регистр
A. Верхний регистр-2
----
a. Нижний регистр
a. Нижний регистр-2
----
i. Римские цифры
i. Римские цифры-2
----
1. список
1. вложенный список
* ещё более вложенный список
1. вложенный список-2
2. список-2
|| ||#
===Цитирование и определение ===
#||
||
??""<[ Цитирование текста ]>""??
|
<[
Цитирование текста,
длинного,
с переносами
]>
|| ||
"">>Однострочное цитирование
>Да, это оно
А это обычный текст""
|
>>Однострочное цитирование
>Да, это оно
А это обычный текст
|| ||
{{anchor name="terms"}} ??""(?Термин Некоторое определение?)""??
|
(?Термин Некоторое определение?)
|| ||
??""(?Термин с пробелами==Некоторое другое определение?)""?? ---++NB: если вокруг '==' оставить пробелы, они так же останутся в тексте страницы++
|
(?Термин с пробелами==Некоторое другое определение?)
|| ||#
===Сноски (footnotes)===
#||
||
Текст, потом сноска??""[[*]]""?? и вторая??""[[**]]""??
|
Текст, потом сноска[[*]] и вторая[[**]]
|| ||
Текст, потом цифровая сноска??""[[*1]]""?? и вторая??""[[*2]]""??
|
Текст, потом цифровая сноска[[*1]] и вторая[[*2]]
|| ||
??""[[#*]]""?? Расшифровка первой сноски
??""[[#**]]""?? Расшифровка второй сноски
??""[[#1]]""?? Расшифровка цифровой сноски
??""[[#2]]""?? Расшифровка второй цифровой сноски
|
[[#*]] Расшифровка первой сноски
[[#**]] Расшифровка второй сноски
[[#1]] Расшифровка цифровой сноски
[[#2]] Расшифровка второй цифровой сноски
|| ||#
#||
|| **Автоматически создаваемые сноски**
?? ""[[^ Текст сноски здесь]]""?? | Генерирует сноски в конце страницы, см. ((!/FootNotes пример)) ||
||#
===Таблицы===
**Таблица с рамкой**
??""#|
*|заголовок 1|заголовок 2|заголовок 3|*
||клетка 1-1|клетка 1-2|клетка 1-3||
||клетка 2-1|клетка 2-2||
|#""??
#|
*|заголовок 1|заголовок 2|заголовок 3|*
||клетка 1-1|клетка 1-2|клетка 1-3||
||клетка 2-1|клетка 2-2||
|#
**Таблица без рамок, шириной 100%**
??""#||
||клетка 1-1|клетка 1-2|клетка 1-3||
||клетка 2-1|клетка 2-2||
||#""??
#||
||клетка 1-1|клетка 1-2|клетка 1-3||
||клетка 2-1|клетка 2-2||
||#
===Прочее===
**Разделитель:**
??""----""??
----
**Явный перевод строки:**
??""тест---шмест""??
тест---шмест
**Вывод текста как есть, без применения форматирования:**
текст необходимо заключить в двойные кавычки. В качестве примера можете изучить исходный текст данной страницы.
Кроме того, для экранирования любого вида разметки, можно использовать ??~~?? (тильду).
**Вывод HTML как есть:**
!!работает только если такую функциональность разрешил администратор сайта.!!
??""<# <input type="text"> #>""??
<# <input type="text"> #>
Если вы видите ""<input type="text">"" вместо поля ввода -- значит, администратор сайта не разрешил данную функцию (параметр ??allow_rawhtml?? конфигурационного файла).
**Верхний индекс:**
??""E=mc^^2^^""??
E=mc^^2^^
* NB: между ""^^"" не должно быть пробелов. Эта разметка создана для математики и ради компактности и совместимости не допускает наличия пробелов внутри размеченного блока
**Нижний индекс:**
!!пробелы перед и после vv обязательны!! Если их требуется избежать, следует использовать вместо них конструкцию ~""""
#|
||
??""H vv2vv O""??
|
H vv2vv O
|| ||
??~H""""vv2vv""""O??
|
H""""vv2vv""""O
||
|#
* NB: между ""vv"" не должно быть пробелов. Эта разметка создана для математики и ради компактности и совместимости не допускает наличия пробелов внутри размеченного блока
===Автокорректор===
Автоматический корректор, встроенный в wiki, самостоятельно подгоняет сохраняемый текст под нормы форматирования, избавляя авторов от излишне детальной правки. Вот какие изменения он вносит:
#||
|| %%Расстановка. Пробелов! И заглавий
Минус - превращает в тире
Два минуса -- в длинное тире
Спецсимволы (c), (r), (tm), (p), +-
Знаки градуса -15^C, +270^K
"Кавычки", "quotes" %% | Расстановка. Пробелов! И заглавий
Минус - превращает в тире
Два минуса -- в длинное тире
Спецсимволы (c), (r), (tm), (p), +-
Знаки градуса -15^C, +270^K
"Кавычки", "quotes" ||
||#
Если какой-то текст необходимо вывести "как есть", исключая его автоматическую корректуру, заключите его в двойные кавычки (заметьте: вся wiki-разметка внутри двойных кавычек также выводится на экран, а не форматирует текст).
===Макросы===
Макросы отличаются от остальной разметки тем, что при повторном редактировании документа вы увидите не вызов макроса, а результат его работы -- они отрабатывают при сохранении текста.
**Имя текущего пользователя:**
??""::::""??
((user:RomanIvanov RomanIvanov))
**Имя текущего пользователя и дата:**
??""::@::""??
((user:RomanIvanov RomanIvanov)) /20.06.2003 18:13/
**Дата:**
??""::+::""??
20.06.2003 18:13
===Расширения - дополнительные форматтеры===
В /WackoWiki можно легко добавлять новые обработчики текста. Их вызов происходит по синтаксису ""%%(name) текст%%"".
В стандартной поставке есть следующие форматтеры:
#|| ||
??""%%(wacko)текст как есть. [[HomePage]]%%""??
Этот форматтер выводит текст так же, как если бы он был написан без форматера. Удобен для применения дополнительных оберток к тексту (выравнивание, боксы и тому подобное. См ниже.)
|
%%(wacko)текст как есть. [[HomePage]]%%
|| || ??""%%(php) PHP-код%%""??
Важно отметить, что код должен начинаться открывающим <? и заканчиваться закрывающим ?>, так как для используемого встроенного в PHP модуля разметки синтаксиса именно эти разделители являются признаком php-кода.
|
%%(php)
<?
phpinfo();
$s = "Hello, World!\n";
print "$s";
?>
%%
|| ||
??""""??
||| ||
|| ||
??""%%(email) Email%%""??
|
%%(email)
Hi!
RI>> Yes, it is.
>Are you sure?
Of course, yes!
Roman.
%%
|| ||
|| ||
??""%%(sql) SQL-code%%""??
|
%%(sql)
SELECT * FROM sometable WHERE a = '12' and b = 2 ORDER BY c DESC --Comment
%%
|| ||
|| ||
Так же доступны форматтеры (ini), (html), (css), (pascal) и (java)
|
%%(html)
<html>
<a href="http://www.ya.ru" width="8">test</a>
</html>
%%
----
%%(ini)
[Wiki]
BestEngine="WackoWiki"
Version=4
%%
----
%%(css)
body {margin: 0; padding:5px;}
.class {background:url("http://www.ya.ru/")}
%%
----
%%(pascal)
program megaprogramme;
{ comment }
BEGIN
if a = 15 then writeln('test');
END.
%%
|| ||
|| ||
Также существуют форматтеры для CSS, diff, DTD, Javascript, mySQL, PHP, Python, SQL, XML.
Они могут быть вызваны путем (hl ~[форматтер]), например, ~%%(hl css)
|
%%(hl css)
body {margin: 0; padding:5px;}
.class {background:url("http://www.ya.ru/")}
%%
----
%%(hl javascript)
var a = document.getElementById("test");
a.value = new Array(15, 31);
function echo (msg) {alert(msg)};
%%
----
%%(hl php)
<?
phpinfo();
$s = "Hello, World!\n";
print "$s";
?>
%%
----
%%(hl xml)
<config>
<section name="test">
<var>Test</var>
<val><![CDATA[..text...]]></val>
</section>
</config>
%%
|| ||
|| ||#
===Обёртки вокруг форматтеров ===
Кроме того, любому форматтеру можно задать одну из "обёрток" указав ему параметр ??wrapper??.
Доступны обёртки: ??box??, ??shade??, ??page?? и ??text??.
#|| ||
??""
%%(css wrapper=box wrapper_align=left wrapper_width=270)
.d { font-size:70% }
%%
""??
|
%%(css wrapper=box wrapper_align=left wrapper_width=270)
.d { font-size:70% }
%%
Как мы видим, обёртка ??box?? позволяет формировать удобные "меню", обтекаемые текстом. Кстати, есть специальный форматтер (box), который не делает ничего кроме как оборачивает текст в эту обёртку.
|| ||
??""
%%(css wrapper=shade)
.d2 { font-size:70% }
%%
""??
|
%%(css wrapper=shade)
.d2 { font-size:70% }
%%
??shade?? -- это ??box?? без настроек.
|| ||
??""%%(wacko wrapper=text wrapper_align=center) текст по центру %%""??
|
%%(wacko wrapper=text wrapper_align=center) текст по центру %%
??text?? выводит "плавающий" (float) блок текста.
|| ||
??""%%(wacko wrapper=page wrapper_width=200) этот текст не может быть шире двухсот пикселей%%""??
|
%%(wacko wrapper=page wrapper_width=200) этот текст не может быть шире двухсот пикселей%%
??page?? позволяет регулировать ширину обычного блока текста.
|| ||
??""%%(wacko wrapper=box wrapper_width=300)
**Box**---- «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
%%""??
|
%%(wacko wrapper=box wrapper_width=300) **Box**---- «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%%
||
||#
Форматтеры ??question?? и ??info??
#||
||
??""%%(question)Если вопрос произносят вслух, то используют характерную вопросительную интонацию. На письме вопрос выделяют вопросительным знаком. Тот, кто задает вопрос обычно ожидает какой-либо реакции собеседника. Исключение составляет риторический вопрос, на который ответ не требуется, так как он содержит утверждение...
Так сказал ((http://www.psychologos.ru/articles/view/vopros Психологос))
%%""??
|
%%(question)Если вопрос произносят вслух, то используют характерную вопросительную интонацию. На письме вопрос выделяют вопросительным знаком. Тот, кто задает вопрос обычно ожидает какой-либо реакции собеседника. Исключение составляет риторический вопрос, на который ответ не требуется, так как он содержит утверждение...
Так сказал ((http://www.psychologos.ru/articles/view/vopros Психологос))
%%
|| ||
??""%%(info)Информация — это не материя и не энергия,
информация — это информация.
//Норберт Винер//
%%""??
|
%%(info)Информация — это не материя и не энергия,
информация — это информация.
//Норберт Винер//
%%
||
||#