Textile
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> |
Изображения
Ссылка на изображение окружается восклицательными знаками и может быть дополнена гиперссылкой и альтернативным текстом:
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
Руководства
- Справка Textpattern, поиск информации о тегах по ключевым словам.
Прочее
- Textism, домашняя страница Textile на сайте разработчика.
- Textile Markup with MediaWiki, использование Textile на сайтах MediaWiki.
- Xilize, утилита для генерации документов с разметкой Textile (доступно дополнение для редактора jEdit).
- Форум русскоязычных пользователей CMS Textpattern.
- Txt.io - простой, минималистичный блогосервис, для разметки используется Textile.