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 Отображение
"кавычки" &#8220;кавычки&#8221; “кавычки”
'кавычки' &#8216;кавычки&#8217; ‘кавычки’
длинное -- тире длинное&#8212;тире длинное—тире
короткое - тире короткое &#8211; тире короткое – тире
д'Орсе д&#8216;Орсе д’Орсе
многоточие... многоточие&#8230; многоточие…
2 x 2 = 4 2&#215;2 = 4 2×2 = 4
(c) Dean Allen &#169; Dean Allen © Dean Allen
Textile(r) Textile&#174; Textile®
Textpattern(tm) Textpattern&#8482; 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>
==здесь <b>textile</b> не обрабатывается==

notextile. здесь <b>textile</b> не обрабатывается

Примечания

[править | править код]
  1. К сожалению, используются нормы английской типографики. Локализация зависит от реализации Textile или настроек дополнения CMS.
  2. Для применения атрибутов к таблице перед её началом необходимо указать дополнительный тег table.

Реализации

[править | править код]

Руководства

[править | править код]
  • Textism, домашняя страница Textile на сайте разработчика.
  • Textile Markup with MediaWiki, использование Textile на сайтах MediaWiki.
  • Xilize, утилита для генерации документов с разметкой Textile (доступно дополнение для редактора jEdit).
  • Форум русскоязычных пользователей CMS Textpattern.
  • Txt.io - простой, минималистичный блогосервис, для разметки используется Textile.