'fieldset', '#title' => t('Textile filter'), '#collapsible' => TRUE ); $form['textile_settings']["textile_tags_$format"] = array( '#type' => 'checkbox', '#title' => t('Use tags'), '#default_value' => variable_get("textile_tags_$format", 0), '#description' => t('If enabled, only text between [textile] and optional [/textile] tags will be processed. Otherwise, all text will be processed as Textile markup.') ); return $form; default: return $text; } } /** * Implementation of hook_filter_tips(). */ function textile_filter_tips($delta, $format, $long = FALSE) { if ($long) { return t('
CSS attributes can be applied to blocks (paragraphs, headers,
etc.). CSS classes are specifed with "(class)
";
CSS IDs are specified with "(#id)
"; both can be
specified with "(class#id)
". An arbtirary
CSS style can be applied by using
"{style}
". Finally, language attributes are
applied using "[language]
".
Additionally, alignment and indentation shorthands are provided. To
left-align, right-align, center, and justify text, use
"<
", ">
", "=
", and
"<>
", respectively. "(
" left-indents
a block 1em for each occurrence, and ")
" right-indents
similarly.
Tables have additional options. "^
", "-
",
and "~
" specify top, middle, and bottom vertical
alignment. The "_
" attribute on a cell indicates that
it is a table header.
The examples below illustrate these attributes.
textile input | output | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Headingshx. (where x is 1 - 6)
|
|||||||||||||
h1. Heading | Heading |
||||||||||||
h2(class). Heading with class | Heading with class |
||||||||||||
Paragraphs |
|||||||||||||
p=. Centered text | Centered text |
||||||||||||
p())(#id). Indented text with ID |
Indented text with ID |
||||||||||||
Block quotes |
|||||||||||||
bq(class#id). Quote with class and ID |
Quote with class and ID |
||||||||||||
bq[en]. English quote |
English quote
|
||||||||||||
Ordered lists |
|||||||||||||
{color: blue}# Attributes specified # before the first item # affect the whole list |
|
||||||||||||
Unordered lists |
|||||||||||||
* Lists can have ## subitems or ## sublists * too |
|
||||||||||||
Footnotesfnx. (where x is 1 - 100)
|
|||||||||||||
fn17. Footnote | 17 Footnote |
||||||||||||
Tables |
|||||||||||||
|_. A|_. B|_. C| (dark). |very|simple|table| |<. left|=. center|>. right| |^{height:3em}. top|-. middle|~. bottom| |
|
The class, ID, style, and language attributes described above also apply to the span phrase modifier as shown below.
textile input | output |
---|---|
_emphasis_ | emphasis |
__italic__ | italic |
*strong* | strong |
**bold** | bold |
??citation?? | citation |
-delete text- | |
+inserted text+ | inserted text |
^superscript^ | superscript |
~subscript~ | subscript |
@code@ | code |
%(class)span% | span |
%{color:red;}span% | span |
==no textile== | no textile |
"link text":url | link text |
"link text(title)":url | link text |
!imageurl! | |
!imageurl(alt text)! | |
!imageurl!:url | |
ABC(Always Be Closing) | ABC |
Footnote reference[17] | Footnote reference17 |
The Textile module allows users to enter content using Textile, a simple, plain text syntax that is filtered into valid XHTML. The filter tips page provides syntax descriptions and examples.
'); } } /** * Perform the appropriate Textile filtering on the provided text. * * @param $matches * The array specifying the text to be filtered at index 1. * * @return * A string containing the filtered text. */ function _textile_process($matches) { static $textile = NULL; if (empty($textile)) { $path = drupal_get_path('module', 'textile'); include_once($path . '/classTextile.php'); $textile = new Textile(); //$textile->hu is the string that preceeds all relative URLs. $textile->hu = url(NULL); } return $textile->TextileThis($matches[1]); }