HTML tags and comments
HTML tags and comments can be used directly in WikiText. For example:
<article class="hello">
This is my nice and simple block of text. HelloThere
<!-- This comment will not appear in the wikified output -->
</article>
Pragma Comments
New in: 5.2.0 Comments can now be freely intermixed with pragmas as well as within the main body of a block of wikitext.
<!-- NEW: Comment that describes the macro -->
\define test()
some text <!-- inline comment -->
\end
<<test>>
Important
Security
Widgets
Block mode versus Inline mode
To get the content of an HTML element to be parsed in block mode, the opening tag must be followed by two linebreaks.
Without the two linebreaks, the tag content will be parsed in inline mode which means that block mode formatting such as wikitext tables, lists and headings is not recognised.
See also WikiText parser mode: HTML examples and WikiText parser mode transitions.
Self closing elements
The following tags are treated as 'void'. This means that <tag>
is treated as if it were <tag/>
, and that no terminating </tag>
is needed (if one is provided it will be ignored and treated as plain text).
<area>
,<base>
,<br>
,<col>
,<command>
,<embed>
,<hr>
,<img>
,<input>
,<keygen>
,<link>
,<meta>
,<param>
,<source>
,<track>
,<wbr>
If you do not close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.
Attributes
In an extension of conventional HTML syntax, attributes of elements/widgets can be specified in several different ways:
- a literal string
- a transclusion of a TextReference
- a transclusion of a macro/variable
- as the result of a Filter Expression
Style Attributes
New in: 5.2.2 TiddlyWiki supports the usual HTML style attribute for assigning CSS styles to elements:
<div style="color:red;">Hello</div>
In an extension to HTML, TiddlyWiki also supports accessing individual CSS styles as independent attributes. For example:
<div style.color="red">Hello</div>
The advantage of this syntax is that it simplifies assigning computed values to CSS styles. For example:
<div style.color={{!!color}}>Hello</div>
Literal Attribute Values
Literal attribute values can use several different styles of quoting:
- Single quotes (eg
attr='value'
) - Double quotes (eg
attr="value"
) - Tripe double quotes (eg
attr="""value"""
) - No quoting is necessary for values that do not contain spaces (eg
attr=value
)
Literal attribute values can include line breaks. For example:
<div data-address="Mouse House,
Mouse Lane,
Rodentville,
Ratland."/>
By using triple-double quotes you can specify attribute values that contain single double quotes. For example:
<div data-address="""Mouse House,
"Mouse" Lane,
Rodentville,
Ratland."""/>
Transcluded Attribute Values
Transcluded attribute values are indicated with double curly braces around a TextReference. For example:
attr={{tiddler}}
attr={{!!field}}
attr={{tiddler!!field}}
Variable Attribute Values
Variable attribute values are indicated with double angle brackets around a macro invocation. For example:
<div title=<<MyMacro "Brian">>>
...
</div>
Filtered Attribute Values
Filtered attribute values are indicated with triple curly braces around a Filter Expression. The value will be the first item in the resulting list, or the empty string if the list is empty.
New in: 5.2.2 To improve readability, newlines can be included anywhere that whitespace is allowed within filtered attributes.
This example shows how to add a prefix to a value:
<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />