Форматы: Textile
12.11.2024
Textile — облегченный язык разметки используемый в некоторых CMS. Формат, прежде всего, направлен на преобразования текста в HTML, поэтому большинство элементов разметки соответствуют элементам HTML и есть возможность переопределить класс и идентификатор элемента HTML.
Блоки
Документ в разметке Textile разделен на блоки. Блоки разделяются пустыми строками. Блоки примерно равны абзацам текста. Блоки могут быть разных типов и тип блока определяется первыми символами. Например,
p. обычный абзац
h1. заголовок первого уровня
bc. блок кода
Первые символы — идентификатор блока. Идентификатор блока завершается точкой. Если идентификатор блока не указан, то тип блока по умолчанию — обычный абзац.
Расширенный блок может включать в себя пустые строки. У расширенного блока в конце идентификатора две точки. Например, таким блоком может быть цитата из нескольких абзацев.
bq.. Первый абзац цитаты
Второй абзац цитаты.
Расширенный блок завершается новой строкой с идентификатором типа блока или окончанием документа.
Абзацы
Две строки, не разделенные пустой строкой, трактуются как один абзац, с принудительным переводом строки.
A paragraph.
And a paragraph with
a line break.
Результат в HTML:
<p>A paragraph.</p>
<p>And a paragraph with<br>
a line break.</p>
Списки
Уровень маркированных и нумерованных списков задаётся количеством символов списков.
* Маркированный список, первый уровень
** Элемент второго уровня
** Следующий элемент второго уровня
# Нумерованный список, первый уровень
## Элемент второго уровня
## Следующий элемент второго уровня
Список определений
В Textile присутствует отдельный элемент для списка определений, аналогично HTML.
- Термин1 := Определение термина
- Термин2 := Определение из двух строк
поэтому определение заканчивается специальным символом =:
Сноски
Сноски могут быть двух видов: нумерованные и с текстовым идентификатором.
Предложение с нумерованной сноской.[1]
fn1. Текст сноски
Предложение [#first] со сносками в виде текстового идентификатора.[#second]
note#first. Первая сноска.
note#second. Вторая сноска.
Ссылки и изображения
Синтаксис ссылок:
"Wikipedia":https://en.wikipedia.org/
Синтаксис изображений:
The original Textpattern carver: !/carver.png!
Таблицы
Синтаксис таблиц минималистичный.
| A | simple | table | row |
| And | another | table | row |
| With an | | empty | cell |
Есть возможности задавать заголовок таблицы, объединять ячейки в колонках и столбцах таблицы, однако, эти элементы выглядят уже сложнее.
Выравнивание и отступы
В блоках можно задавать способ выравнивания и отступы. Выглядит разметка следующим образом:
p<. Выравнивание по левому краю.
p>. Выравнивание по правому краю.
p=. Выравнивание по центру.
p<>. Выравнивание по ширине.
Отступы задаются с помощью скобок:
p(. Left indent 1em.
p((. Left indent 2em.
p(((. Left indent 3em.
p)>. right indent 1em
p))>. right indent 2em
p)))>. right indent 3em
Классы и идентификаторы
Перед точкой в идентификаторе типа блока можно задать класс и идентификатор элемента в формате (class#id)
.
p(myclass#myid). This paragraph has both a @class@ and an @id@.
Язык
Так же можно задать язык (атрибут элемента HTML lang
) с помощью квадратных скобок.
p[fr]. Partir, c'est toujours mourir un peu.
Специальные символы
Несколько особых символов Unicode можно задать через специальные последовательности внутри круглых скобок.
Trademark(tm)
Registered(R)
Copyright (C) 2008
One quarter (1/4) symbol
One half (1/2) symbol
Three quarters (3/4) symbol
Degree (o) symbol
Plus/minus (+/-) symbol
Заключение
Формат Textile тесно связан с HTML, это преимущество для генерации веб-страниц, но недостаток если нужен экспорт в разные форматы. Для разных форматов больше подходит логическая разметка, в меньшей степени ориентированная на визуальное представление.
Удобно выглядит способ задания типов блоков через идентификаторы и использование синтаксиса идентификаторов для добавления в блок класса, идентификатора элемента и даже CSS.