-
Notifications
You must be signed in to change notification settings - Fork 1
ru ml
axyML предназначен для написания на своём сайте различных текстов: статей, документации, wiki и т.п. Текст, написанный на axyML, транслируется в HTML.
axyML-разметка позволяет упростить основные рутинные операции по вёрстке текста.
В то же время подразумевается, что текст пишет автор на своём сайте. В отличии, например, от BB-кодов на каком-нибудь форуме, где следует всегда следить, чтобы стороние люди не вставил чего-нибудь плохого. Отсюда следует, что:
- Автор сохраняет возможность в любой момент вставить произвольный HTML.
- Автор сохраняет контроль над отображением любых элементов.
- Автор несёт ответственность за итоговый HTML. Транслятор не следит за правильно закрытыми тегами и всем остальным.
Простой текст на axyML
:
# Заголовок текста
Это первое предложение абзаца.
А это второе.
А это уже следующий абзац.
## Подзаголовок
Какой-то [b]жирный текст[/b] во вложенном разделе.
Итоговый HTML
:
<h1>Заголовок текста</h1>
<p>Это первое предложение абзаца.
А это второе.</p>
<p>А это уже следующий абзац.</p>
<h2>Подзаголовок</h2>
<p>Какой-то <b>жирный текст</b> во вложенном разделе.</p>
Текст должен находиться в кодировке UTF-8
(без BOM).
Поддерживаются различные переводы строк (unix, windows, mac), но при выводе все они конвертируются в один (по умолчанию \n
, можно изменить).
Символы табуляции приводятся к 4-м пробелам (количество пробелов можно настроить).
Весь текст вне заголовков объединяется в абзацы. Абзацы разделяются пустыми строками.
Внутри текста в абзаце могут быть использованы специальные теги, похожие на bb-теги (см. ниже).
Переносы строк внутри абзаца никак не обрабатываются. То есть при выводе HTML в браузер переносов нет.
Весь текст вне bb-тегов по умолчанию экранируется, то есть в браузер выводится как есть.
axyML
и то, что видно в браузере:
Если x < 10, то y > 15.
HTML:
Если x < 10, то y > 15.
На обработку текста могут быть повешены дополнительные обработчики. Например, простые кавычки могут заменяться на ёлочки и происходить другие чудеса для гурманов.
Более подробно про абзацы см. здесь.
Заголовки располагаются на отдельных строках и начинаются с определённого количества знаков #
.
Количество знаков, соответствует уровню вложенности:
# Заголовок 1
## Заголовок 2
### Заголовок 3
...
axyML
не лимитирует максимальный уровень заголовка.
По умолчанию, #
- <h1>
, ##
- <h2>
и так далее.
Всё, начиная с 6-го уровня: <h6>
.
Однако, вывод может настраиваться в трансляторе.
Например, если идёт список статей, то начинать следует, видимо, с <h2>
.
#[main] Заголовок 1
...
##[cut] Заголовок 2
...
Каждому заголовку можно присвоить имя. Имя должно идти сразу после начальных решёток внутри квадратных скобок.
При выводе оно никак не отображается, но может быть использовано отображающей системой различными способами. Например:
- Стать якорем для возможность поставить ссылку на раздел.
- Быть пометкой, где следует отделить краткий текст от полного.
Заголовок с именем, но без самого заголовка.
Краткий текст.
Нажмите "подробнее", чтобы перейти на полную статью.
#[cut]
Полный текст.
Может быть использован системой также, как и заголовок с именем, но никак не отображается.
Мета данные представляют собой некие значения, которые можно привязать к тексту.
Они никак не отображаются и с точки зрения axyML
не имеют никакого смысла, но могут быть использованы отображающей системой.
# Заголовок
#= tags: php, javascript, mysql
#= url: super-article
#= short-title: title
Пошёл текст статьи.
Здесь для статьи указываются теги, адрес и краткий заголовок.
Мета-данные располагаются на отдельных строках и начинаются с #=
.
Имя данного отделяется от значения двоеточием :
.
Значение не обязательно.
Комментарии располагаются на отдельных строках и начинаются с #*
.
# Что такое Юникод
Юникод это круто!
#* Расписать потом по-подробнее
Никого проявления при отрисовке они не имеют.
Пустые строки имеют только одну функцию - отделение абзацев друг от друга.
Пример:
# Заголовок
Текст одного абзаца.
Текст второго абзаца.
## Подзаголовок
Текст третьего абзаца.
Здесь функциональное значение имеет только пустая строка между первым и вторым абзацем. Все остальные использованы только для форматирования исходного текста.
Несколько пустых строк подряд считаются за одну.
Строка содержащая одни пробелы считается пустой.
* Это первая строка списка
* Это вторая
** А это начался вложенный список
** И он продолжается
* А теперь снова список первого уровня
Форматирование текста, вставка HTML и подобное задаётся axyML-тегами.
Например, [B]жирный текст[/B]
.