Textile — простой язык разметки, позволяющий пользователям получать код HTML из своего текста. Разработан Dean Allen. Используется в CMS Textpattern и некоторых других.
Синтаксис
Textile автоматически преобразует текст в разметку, отслеживая абзацы в тексте. Абзацы, отделяемые пустой строкой, преобразуются в элементы HTML <p>
.
Переводы строк автоматически преобразуются в элементы HTML <br />
.
В тексте можно непосредственно использовать HTML-разметку, когда возможностей Textile не хватает для необходимого форматирования в документе. Теги HTML не обрабатываются только внутри элементов <pre>
и <code>
.
Строковые элементы
Textile
|
HTML
|
Отображение
|
_выделение_ |
<em>выделение</em> |
Это выделенный текст
|
*усиление* |
<strong>усиление</strong> |
Это усиленный текст
|
__курсив__ |
<i>курсив</i> |
Это курсивный текст
|
**полужирный** |
<b>полужирный</b> |
Это полужирный текст
|
??цитата?? |
<cite>цитата</cite> |
Это цитата
|
-удалённый текст- |
<del>удалённый текст</del> |
Это удалённый текст
|
+вставленный текст+ |
<ins>вставленный текст</ins> |
Это вставленный текст
|
^надстрочный^ |
<sup>надстрочный</sup> |
Это надстрочный текст
|
~подстрочный~ |
<sub>подстрочный</sub> |
Это подстрочный текст
|
%{стиль}фрагмент% |
<span style="стиль">фрагмент</span> |
Это фрагмент текста
|
@код@ |
<code>код</code> |
Это код: function code(str)
|
Блочные элементы
Модификаторы блочных элементов обычно заканчиваются точкой и отделяются от содержимого пробелом.
Textile
|
HTML
|
Описание
|
hn.
|
<hn>
|
Заголовок уровня n
|
p.
|
<p>
|
Абзац
|
bq.
|
<blockquote>
|
Блочная цитата
|
pre.
|
<pre>
|
Форматированный код
|
bc.
|
<pre><code>
|
Программный код (комбинация из двух HTML-элементов)
|
Ссылки
Текст ссылки заключается в кавычки и отделяется от URL двоеточием:
Textile
|
HTML
|
"Textile":http://textile.thresholdstate.com/
|
<a href="http://textile.thresholdstate.com/">Textile</a>
|
Пунктуация и подстановки
Автоматически исправляются[1] при конвертировании в XHTML следующие сочетания знаков:
Textile
|
HTML
|
Отображение
|
"кавычки"
|
“кавычки”
|
“кавычки”
|
'кавычки'
|
‘кавычки’
|
‘кавычки’
|
длинное -- тире
|
длинное—тире
|
длинное—тире
|
короткое - тире
|
короткое – тире
|
короткое – тире
|
д'Орсе
|
д‘Орсе
|
д’Орсе
|
многоточие...
|
многоточие…
|
многоточие…
|
2 x 2 = 4
|
2×2 = 4
|
2×2 = 4
|
(c) Dean Allen
|
© Dean Allen
|
© Dean Allen
|
Textile(r)
|
Textile®
|
Textile®
|
Textpattern(tm)
|
Textpattern™
|
Textpattern™
|
Атрибуты элементов
Атрибуты могут указываться для блочных и строковых элементов. Например, таблице или выделению может быть назначен класс, идентификатор или описан стиль.
Синтаксис
Атрибут
|
Описание
|
(класс)
|
Класс элемента
|
(#id)
|
Идентификатор элемента
|
{стиль}
|
Стиль элемента
|
[язык]
|
Язык элемента (сокращение)
|
Атрибуты могут использоваться в комбинированной записи, например:
(class#id)
Атрибуты строковых элементов
Textile
|
HTML
|
%{color:red}red%
|
<span style="color:red">red</span>
|
%[fr]rouge%
|
<span lang="fr">rouge</span>
|
_(big)red_
|
<em class="big">red</em>
|
Атрибуты блочных элементов
Textile
|
HTML
|
p(bob). A paragraph
|
<p class="bob">A paragraph</p>
|
p{color:#ddd}. A paragraph
|
<p style="color:#ddd">A paragraph</p>
|
p[fr]. A paragraph
|
<p lang="fr">A paragraph</p>
|
Отступы и выравнивание
Textile
|
Описание
|
p<.
|
Выравнивание влево
|
p>.
|
Выравнивание вправо
|
p=.
|
Выравнивание по центру
|
p<>.
|
Выравнивание по ширине
|
p(., p((.
|
Отступ слева на 1em, 2em и т. д.
|
p)., p)).
|
Отступ справа на 1em, 2em и т. д.
|
Примеры
Textile
|
Описание
|
h2()>.
|
Заголовок 2-го уровня, выравнивание вправо, отступ на 1em с обеих сторон
|
h3=.
|
Заголовок 3-го уровня, выравнивание по центру
|
!</image.gif!
|
Изображение с выравниванием по центру
|
p[no]{color:red}.
|
Абзац на норвежском языке, цвет: красный.
|
Выравнивание
Textile поддерживает четыре типа выравнивания содержимого: влево, вправо, по центру и по ширине.
Модификатор
|
Выравнивание
|
>
|
вправо
|
<
|
влево
|
=
|
по центру
|
<>
|
по ширине
|
Вертикальное выравнивание устанавливается следующими модификаторами:
Модификатор
|
Выравнивание
|
^
|
по верху
|
~
|
по низу
|
Таблицы
Таблицы создаются разделением ячеек вертикальной чертой (ячейки заголовков выделяются подчёркиванием):
|_. заголовок 1|_. заголовок 2|_. заголовок 3|
|первый|ряд|таблицы|
|второй|ряд|таблицы|
Атрибуты могут применяться как к таблице в целом[2], так и к её элементам (строкам и ячейкам) индивидуально:
Textile
|
HTML
|
table{width:100%}=.
|
<table style="width:100%;text-align:center;">
|
{background:#ddd}. |первый|ряд|таблицы|
|
<tr style="background:#ddd;"><td>первый</td><td>ряд</td><td>таблицы</td></tr>
|
|{background:red}. второй|ряд|таблицы|
|
<tr><td style="background:red;">второй</td><td>ряд</td><td>таблицы</td></tr>
|
Объединение ячеек производится следующим образом:
Textile
|
HTML
|
|\2. Две колонки|таблицы|
|
<tr><td colspan="2">Две колонки</td><td>таблицы</td></tr>
|
|/2. Две строки|таблицы|
|
<tr><td rowspan="2">Две строки</td><td>таблицы</td></tr>
|
Вертикальное выравнивание
Textile
|
HTML
|
^. |четвёртый|ряд|таблицы|
|
<tr style="vertical-align:top;"><td>четвёртый</td><td>ряд</td><td>таблицы</td></tr>
|
~. |пятый|ряд|таблицы|
|
<tr style="vertical-align:bottom;"><td>пятый</td><td>ряд</td><td>таблицы</td></tr>
|
Списки
Textile поддерживает как маркированные, так и нумерованные списки. Списки могут быть вложенными, один тип списка может быть вложен в другой. Уровень вложения списков не ограничен.
Textile
|
HTML
|
* Маркированный список
|
<ul> <li>Маркированный список</li> </ul>
|
# Нумерованный список
|
<ol> <li>Нумерованный список</li> </ol>
|
* Пункт 1
** Подпункт 1-1
** Подпункт 1-2
* Пункт 2
## Подпункт 2-1
## Подпункт 2-2
|
<ul>
<li>Пункт 1
<ul>
<li>Подпункт 1-1</li>
<li>Подпункт 1-2</li>
</ul></li>
<li>Пункт 2
<ol>
<li>Подпункт 2-1</li>
<li>Подпункт 2-2</li>
</ol></li>
</ul>
|
Изображения
Ссылка на изображение окружается восклицательными знаками и может быть дополнена гиперссылкой и альтернативным текстом:
Textile
|
HTML
|
!textist.gif!
|
<img src="textist.gif" />
|
!textist.gif(Textist)!
|
<img src="textist.gif" title="Textist" alt="Textist" />
|
!textist.gif(Textist)!:http://textism.com
|
<a href="http://textism.com"><img src="textist.gif" title="Textist" alt="Textist" /></a>
|
Сокращения (акронимы)
Акронимы автоматически распознаются при нахождении трёх или более знаков в верхнем регистре и описания в скобках непосредственно за ними (без пробела). Дополнительно текст акронима может заключаться в строковый элемент <span> с определённым классом.
Textile
|
HTML
|
CSS(Cascading Style Sheets)
|
<acronym title="Cascading Style Sheets"><span class="caps">CSS</span></acronym>
|
Сноски
Ссылки в тексте на сноски заключаются в квадратные скобки. Для создания сноски, соответствующей ссылке в тексте, необходимо создать абзац, начинающийся с fn<номер_сноски>.:
Textile
|
HTML
|
См. лопата[1].
|
См. лопата<sup><a href="#fn1">1</a></sup>.
|
fn1. Лопата — хозяйственный инструмент.
|
<p id="fn1"><sup>1</sup> Лопата - хозяйственный инструмент.</p>
|
HTML
==здесь <b>textile</b> не обрабатывается==
notextile. здесь <b>textile</b> не обрабатывается
Примечания
- ↑ К сожалению, используются нормы английской типографики. Локализация зависит от реализации Textile или настроек дополнения CMS.
- ↑ Для применения атрибутов к таблице перед её началом необходимо указать дополнительный тег table.
Ссылки
Реализации
- Text::Textile, реализация Textile на Perl.
- Live Textile Preview, конвертирование текста на Javascript.
- MT-Textile, реализация Textile на Perl для Movable Type.
- PyTextile, реализация Textile на Python.
- RedCloth, реализация Textile на Ruby.
- vbsTextile, реализация Textile для Microsoft Active Server Pages
- Textile UDF, реализация Textile для ColdFusion.
- Plextile, реализация Textile на Java
- JTextile, реализация Textile на Java
- Textile4j, реализация Textile на Java
- Textile-j (недоступная ссылка), реализация Textile на Java, включающая компоненты для SWT и JFace, а также дополнение к Eclipse
- TextilePHP, PHP-версия Perl-модуля Textile (добавлены некоторые возможности Perl-версии, не входящие в PHP-версию Textile).
- Zend_Markup PHP реализация Textile во фреймворке Zend Framework
- Textile.NET, реализация Textile на C#/.NET
- octalforty Brushie Text, ещё одна реализация Textile на C#/.NET
- Texticl, реализация Textile на Common Lisp
Руководства
Прочее