Syntax
thiis supports a simple Lightweight markup language which make edition simple and readable. This page explain all possible syntax you may use when editing, and every demonstration is followed by its markup. Click on the code to switch between markup and resulting html.
The principle is to use doubled characters surrounding text to structure, modify or embed content. To be easily memorable and readable, the characters are frequently chosen to mimic the visual result. You can also use any HTML tags, but in the most cases there is here a better alternative.
Formatting content
Formatting shall be used to indicate the meaning of a text, not it's design. It's a semantic description who may be visually rendered in any form, according to styles.
Basics
The paragraphs and lines breaks are automatically managed
The slashes titlt indicate emphasized text, generally displayed in italic.
See Emphasis (typography).
Slashes for //emphasis//
The stars weight indicate important text, generally displayed in bold.
Stars for **important text**
The underscores indicate underlined text, like misspelled words.
Underscores for __underlined text__
En dash like–are made with two dashes, em dash like—with three dashes.
En dash like–are made with two dashes, em dash like—with three dashes.
By using double stars, slashes, underscores, dashes or quotes you can make emphasized, strong, underlined,–elete–or code texts. Of course you can .
By using double stars, slashes, underscores, dashes or quotes you can make **strong**, //emphasized//, __underlined__,–elete–or ''code'' texts. Of course you can **__/–ombine them al–/__**.
Links
Links are defined by surrounding text by double square brackets.
To link to a page of the site, write its name like Syntax.
To link to a file of the site, write its path like image.jpg.
To link to another site, write its url like nliautaud.fr.
To link to a mail address, write it like hi@domain.com.
To link to a page of the site, write its name like [[syntax]].
To link to a file of the site, write its path like [[image.jpg]].
To link to another site, write its url like [[nliautaud.fr]].
To link to a mail address, write it like [[hi@domain.com]].
To define the link text, use a greater than character.
To define [[download>the link text]], use a greater than character.
To point to a page section, use anchor like Changelog.
Or for the same page, even Tables of content.
To point to a page section, use anchors like [[development#Changelog]].
Or for the same page, even [[#Tables of content]].
Broken internal links like notapage are automatically detected.
Thiis supports some shortcuts who simplify linking to usefull websites like Google, Wikipedia, Dokuwiki and Thiis by writing their names or even a two-letters alias.
Search on google for art, or just art.
Go on wikipedia for photography or photographie (fr).
Link to thiis, to tell everyone to download it !
Search on [[google]] for [[google>art]], or just [[go>art]].
Go on [[wikipedia]] for [[wp>photography]] or [[wp>fr:photographie]].
Link to [[thiis]], to tell everyone to [[is>download]] it !
Titles
You can use up to four different levels of headlines to structure your content, by surrounding or underlining the text with hashes, equality signs, dashes and diaeresis.
They are automatically nested, accessible by HTML anchors and allow to generate a table of content on the fly.
The first main header of a page content is by default understood as the page title.
You can also make an horizontal line by writing three or more underscores.
Surrounds a text by three or more hash for a main title, three or more equality signs for a secondary title and three or more dashes for a subtitle.
Main title
##########
Title
=====
Subtitle
--------
Everything may be wrote on a single line or on their own, and the text may be surrounded or just underlined by the characters. Do as you wish.
####### A title #######
#######
A title
#######
A title
#######
Lists
Lists are made by enumerating each item with stars or dashes, in new lines preceded by two whitespaces or a tabulation. Stars for unordered list, dashes for ordered lists (actually, only the first item matters).
- something
- another thing
- etc.
- first item
- second item
- etc.
* something
* another thing
* etc.
- first item
- second item
- etc.
Definition lists
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Definitions lists use double stars or dashes to enumerate items. The first content surrounded by stars or dashes is the definition term. For every item there may be no term, or only a term, or a term and a definition.
- a definition
- another definition
- etc.
- a term
- is sometimes followed by its definition
- but not every time
- because some things are obvious
** a definition
** another definition
** etc.
** a term ** is sometimes followed by its definition
** but not every time
** because some things are obvious **
Nesting lists
Every lists may be nested using indentation, by using additionnal whitespaces or tabulations.
- This list
- is ordered...
- Those terms are nested
- This one is again nested
- with another tabulation level
- with an additional tabulation
- ...and continue here
- This list
- is ordered...
* This list is nested by using an additional tabulation
–This definition is nested too
–with another tabulation
* and is unordered by using stars.
- ...and continue here
Footnotes
A footnote is surrounded by double parentheses 1.
Contextual footnotes use two "greater than" characters to rely to the inline text which it refers2.
A footnote is surrounded by double parentheses ((like this)).
Contextual footnotes use two "greater than" characters to rely to ((the inline text which it refers>>this part is a footnote)).
Codes
Use the code tag to write inline code, or code block as below if you write it in a new line.
The <code>code tag< /code> or the ''quotes markup'' let you display inline code and became code block as below if you write it in a new line.
Use a <noparse> tag to keep **zones** untouched..</noparse>
Use the < noparse> tag to keep **zones** untouched.< /noparse>.
Embedding objects
Yo can integrate objects (medias, generated content...) by surrounding its name by double curly brackets :
{{object}}
You can determine the object alignment (inline, right, left or centered) by using whitespace(s) :
{{inline}}
{{ right}}
{{left }}
{{ centered }}
You can usually define object parameters by writing them after a greater than character, and separated with semicolons :
{{object>parameter}}
{{object>parameter1;parameter2;...}}
You can often define object size by indicating one or two values in pixels or percents. The first given is the width, the second the height.
{{object>100px}}
{{object>50%}}
{{object>800px;25%}}
Images
To display an image just write its address. Relative to the files_path for a local image, absolute for an external image.

{{image.jpg}}
{{http://nliautaud.fr/thiis/image.jpg}}
Adding a text as parameter will create a figure with caption.

{{image.jpg>This is a figure}}
Images links
¨¨¨¨¨¨¨¨¨¨¨¨
You can combine an image with links in multiple ways.
A clickable image is an image used as link alias, so you can intricate an image in any possible link.
[[#Links>{{image.jpg}}]] [[image.jpg>{{image.jpg}}]]
Add a caption to the clickable image, to create a figure with a clickable image.


[[syntax>{{image.jpg>The image link to this page}}]]
[[hi@domain.com>{{image.jpg>The image link to a mail address}}]]
Of course you can use links in figure captions.
{{image.jpg>[[#Links]]}}
{{image.jpg>This is a [[#Links>link]]}}
You could make a figure with an image linking to something and a caption linking to something else.

[[syntax>{{image.jpg>There is [[#Links>two different links]] here.}}]]
Galleries
You can display an image gallery by using the keyword gallery :
{{gallery}}
Indicate a path relative to root to display images from another location.
{{gallery>files/images}}
By adding a parameter containing stars characters, you can filter images by file name or extension. The star work as simple wildcard symbol.
{{gallery>*.jpg}} Display only jpg files
{{gallery>foo_*}} Display only files starting by "foo_", like "foo_bar.jpg"
{{gallery>*foo*.jpg}} Display only jpg files containing "foo"
By indicating size(s), you can determine images dimensions.
{{gallery>100px}}
{{gallery>100px;50px}}
By indicating a number, determine how many images to display one after the other. The object alignment determine each image alignment. In the following example, each image will be centered.
{{ gallery>5 }}
By indicating two numbers, determine respectively the number of columns and rows of the gallery table. In the following example, the gallery will be a table of 10 images.
{{gallery>5;2}}
Add the parameter "filename" to use images boxes showing the images names.
{{gallery>filename}}
Add the parameter "reverse" to reverse the images order, or "random" to use random order.
{{gallery>reverse}}
{{gallery>random}}
Add the parameter "link" to link every image to its media page.
{{gallery>link}}
Example :
{{gallery>photos/pinhole1;1*.jpg;150px;3;2;filename;random;link}}
Videos
You can insert embed videos from the following sites, stating as parameter the video ID :
- vimeo (http://vimeo.com/12345678)
- youtube (http://youtube.com/watch?v=vHACOdtRfbI)
- dailymotion (http://dailymotion.com/video/x1udeu_video-name)
{{vimeo>12345678}}
{{youtube>vHACOdtRfbI}}
...
You can use the URL parameters of the chosen site :
{{vimeo>12345678?title=0&byline=0&portrait=0}}
Tables of content
To insert a table of content use the keyword toc :
{{toc}}
By default the actual page is used but you can insert the table of content of any page by indicating its name as parameter :
{{toc>pagename}}
You can also define two numeric parameters :
The first given is the table depth and determine what maximum header level display :
{{toc>4}} {{toc>2}}
The second given determine the minimum number of elements required in the table to display it. In the following exemple, nothing is displayed because there is less than 90 elements :
{{toc>3;90}}
Twitter widgets
You can display a Twitter flux by using the keyword twitter and indicating a profile name :
{{twitter>nliautaud}}
There is five additional parameters :
- listname : display the last tweets of the given list only
- 0-99 : how many tweets to show (default 4)
- "noavatars" : do not display tweet author avatars and name
- "nohashtags" : do not display #hashtags
- "notimestamp" : do not display tweets dates and reply tools
Dive into thiis
You can display any data value by using the data name as keyword, the item name as first parameter and if needed the item field as secondary parameter.
Thiis is another CMS, and this page is in manual.
{{setting>site_description}}, and this page is in {{page>syntax;parent}}.
You can omit the page name for the current one, like syntax.
You can omit the page name for the current one, like {{page>name}}.
Methods
You can access to any thiis methods about pages, with the prefix page_, by using the keyword page. This allow to easilly integrate the page content or footnotes to a template. All the methods are documented in the documentation.
Syntax is a call of Thiis::page_title().
{{page>title}} is a call of ''Thiis::page_title()''.
You can access to any thiis methods outputing html, with the prefix html_, by using the keyword thiis. All the methods are documented in the documentation.
is a call of Thiis::html_pages_list(manual).
{{thiis>pages_list;manual}} is a call of ''Thiis::html_pages_list(manual)''.