Спецификация разметкиОбщие правила и определенияПробельный символ это символ:
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:
Перед открывающими скобками можно указать символ +. Это будет означать, что блок кода будет по умолчанию свернут в строку. Выделение в кодеВыделить можно либо строку целиком, либо конкретный участок кода. Выделенная строка начинается с символов >>> и следующего на ними пробельного символа. Выделенный участок кода должен быть расположен на одной строке и обрамляется символами >>> и <<< слева и справа. Расположение этих символов относительно слов соответствует правилам для выделения жирным.
ЭкранированиеДля экранирования служебного символа можно применять символ экранирования \. Действует только для следующих символов — "\_*+-/!|><@{(:#№[". Все остальные комбинации трактуются как просто текст.АвтозаменыНекоторые комбинации символов заменяются:* ... (три точки) на … (троеточие) * --, окруженный пробелами на — (длинное тире) |