Спецификация разметкиОбщие правила и определенияПробельный символ это символ:
Unicode символ LineTabulation Unicode символ FormFeed Unicode символ ZeroWidthNoBreakSpace Символ с unicode классом Zs Разметка делится на две уровня. Разметка уровня документа и разметка содержимого. К разметке уровня документа относятся:
Списки. Цитаты сообщений. Блоковые цитаты (Blockquote). Таблицы. Горизонтальный разделитель (вертикальная черта, hr). Сообщение модератора или системы. Теглайны. Параграфы. К разметке содержимого относится:
Ссылки. Картинки. Смайлики. Код. Разметка уровня документаЗаголовкиВыходной HTML ПараграфыНачало строки — начало параграфа. Конец строки — соответственно конец. Пустые строки между параграфами игнорируются. Если параграф начинается с пробелов или табуляций — они убираются, а вместо этого в параграфе фиксируется количество отступов. За один отступ считается одна табуляция или два пробела. Нечетное количество пробелов округляется до четного в меньшую сторону.Выходной HTML Цитаты сообщенийСтрока цитаты имеет следующий формат:* Префикс из символов, цифр и знака подчеркивания, без пробелов, длиной от 0 до 6 символов. * Произвольное количество символов >. Количество символов определяет уровень вложенности. * Произвольный текст до конца строки. Выходной HTML СпискиНенумерованный списокЭлемент списка — строка, начинающаяся с одного или нескольких символов * (в зависимости от уровня вложенности) и следующего за ним пробела.Выходной HTML Нумерованный списокЭлемент списка — строка, начинающаяся с символа # или № и следующего за ним пробелаВыходной HTML Нумерованные и ненумерованные списки могут быть смешаны между собой на разных уровнях. Нумерованные и ненумерованные списки на одном уровне трактуются как два разных списка. Свернутый блокНачинается с символов +++ в начале строки и следующего за этими символами названия блока. Завершается строкой из символов +++.Выходной HTML Блочная цитатаНачинается с тройного символа " и им же заканчивается.Перед открывающими кавычками можно указать символ +. Это будет означать, что цитата будет по умолчанию свернута в строку "Цитата". ТаблицыВыходной HTML: Горизонтальный разделительСтрока, состоящая только из трех символов ---Выходной HTML: Сообщение модератора или системыЗаключается в скобки из тройных символов !!!ТеглайнСтрока, начинающаяся с трех символов @@@, следующиего за ними одного или нескольких пробелов и произвольным текстом далее до конца строки.Выходной HTML: ОбъектыПредназначены для вставки внешних по отношению к форматтеру объектов. Должно присутствовать уникальное имя объекта, а в теле тега значение параметров в JSON формате.Выходной HTML определяется хостом. Разметка содержимогоОбщее правило для стилей текста:
Перед закрывающей конструкцией должен стоять не пробельный символ; ЖирныйВыделяется символами ** с обеих сторон.Выходной HTML КурсивВыделяется символами // с обеих сторон. Правила по обрамлению пробелами соответствуют выделению жирным.Выходной HTML ПодчеркнутыйВыходной HTML ПеречеркнутыйВыходной HTML Верхний индексВыходной HTML Нижний индексВыходной HTML СсылкиТекст ссылки может быть пустым. В этом случае в качестве текста используется сам url, но с заменой url escaping на исходный текст. Выходной HTML Ссылки на сообщения по имениТекст ссылки может быть пустым. В этом случае текст должен предоставить хост. url ссылки формируется по имени хостом. Выходной HTML Изображенияимя изображения может быть пустым. В этом случае в качестве текста используется последний сегмент пути url (имя файла). Если впереди стоит знак + — изображение по умолчанию свернуто. Выходной HTML СмайлыСтандартные смайлыВыходной HTML Смайлы из расширенийИмеют формат :smileid:, где smileid — строка от 1 до 5 символов английского или русского алфавита без пробелов и знаков препинания. Для каждого smileid должны быть два синонима — в русской и английской раскладке.КодВнутри кода игнорируется вся разметка, за исключением выделения. Внутри кода так же допускается использование {{{ и }}}. Признак конца кода определяется парсером по парности фигурных скобок.Кусок текста, окруженный тройными скобками {{{ и }}} распознается как код. Опционально между второй и третьей открывающей скобкой можно указать название языка. Выходной HTML: Если перед и или за блоком кода не идет ничего кроме пробельных символов или конца строки, такой блок форматируется как блочный. Выходной HTML: Перед открывающими скобками можно указать символ +. Это будет означать, что блок кода будет по умолчанию свернут в строку. Выделение в кодеВыделить можно либо строку целиком, либо конкретный участок кода. Выделенная строка начинается с символов >>> и следующего на ними пробельного символа. Выделенный участок кода должен быть расположен на одной строке и обрамляется символами >>> и <<< слева и справа. Расположение этих символов относительно слов соответствует правилам для выделения жирным.ЭкранированиеДля экранирования служебного символа можно применять символ экранирования \. Действует только для следующих символов — "\_*+-/!|><@{(:#№[". Все остальные комбинации трактуются как просто текст.АвтозаменыНекоторые комбинации символов заменяются:* ... (три точки) на … (троеточие) * --, окруженный пробелами на — (длинное тире) |