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–/__**.

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.

Headline level 1

Headline level 2

Headline level 3

Headline level 4

Headline level 5
Headline level 6
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.
  1. first item
  2. second item
  3. 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.

  1. This list
  2. is ordered...
  3. Those terms are nested
    1. This one is again nested
    2. with another tabulation level
    with an additional tabulation
  4. ...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 image.jpg

{{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
{{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.

image.jpg image.jpg

[[#Links>{{image.jpg}}]] [[image.jpg>{{image.jpg}}]] 

Add a caption to the clickable image, to create a figure with a clickable image.

image.jpg
The image link to this page
image.jpg
The image link to a mail address
[[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 link
{{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.

image.jpg
There is two different links here.
[[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)''.