# Markdown Syntax ## Basic Text Formatting Markdown supports **bold**, _italic_ and `monospaced` texts. Of course you can **_`combine`_** all these. Markdown supports **bold**, _italic_ and `monospaced` texts. Of course you can **_`combine`_** all these. You can use subscript and superscript, too. You can use subscript and superscript, too. You can mark something as ~~deleted~~ as well. You can mark something as ~~deleted~~ as well. **Paragraphs** are created from blank lines. If you want to **force a newline** without a paragraph, markdown usually allows two blanks at the end of a line. This does not work here, though. This is some text with some linebreaks. Note that the two whitespaces are only recognized at the end of a line This is some text with some linebreaks. Note that the two whitespaces are only recognized at the end of a line ~~You should use forced newlines only if really needed.~~ (it don't work) ## Links ### External External links are recognized automagically: http://www.google.com or simply www.google.com – You can set the link text as well: [This Link points to google](http://www.google.com). Email addresses like this one: are recognized, too. External links are recognized automagically: http://www.google.com or simply www.google.com – You can set the link text as well: [This Link points to google](http://www.google.com). Email addresses like this one: are recognized, too. ### Internal Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]]. Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]]. [[doku>pagename|Wiki pagenames]] are converted to lowercase automatically, special characters are not allowed. You can use [[some:namespaces]] by using a colon in the pagename. You can use [[some:namespaces]] by using a colon in the pagename. For details about namespaces see [[doku>namespaces]]. Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to [[syntax#internal|this Section]]. This links to [[syntax#internal|this Section]]. Notes: * Links to [[syntax|existing pages]] are shown in a different style from [[nonexisting]] ones. * DokuWiki does not use [[wp>CamelCase]] to automatically create links by default, but this behavior can be enabled in the [[doku>config]] file. Hint: If DokuWiki is a link, then it's enabled. * When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much. ### Interwiki DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. ### Image Links You can also use an image to link to another internal or external page by combining the syntax for links and [[#images_and_other_files|images]] (see below) like this: [{{wiki:dokuwiki-128.png}}](http://php.net) [{{wiki:dokuwiki-128.png}}](http://php.net) Please note: The image formatting is the only formatting syntax accepted in link names. The whole [[#images_and_other_files|image]] and [[#links|link]] syntax is supported (including image resizing, internal and external images and URLs and interwiki links). ## Footnotes You can add footnotes ((This is a footnote)) by using double parentheses. You can add footnotes ((This is a footnote)) by using double parentheses. ## Sectioning You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically -- this can be disabled by including the string `~~NOTOC~~` in the document. ### Headline Level 3 #### Headline Level 4 ##### Headline Level 5 ### Headline Level 3 #### Headline Level 4 ##### Headline Level 5 By using four or more dashes, you can make a horizontal line: ---- ## Media Files You can include external and internal [[doku>images|images, videos and audio files]] with curly brackets. Optionally you can specify the size of them. Real size: {{wiki:dokuwiki-128.png}} Resize to given width: {{wiki:dokuwiki-128.png?50}} Resize to given width and height((when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing)): {{wiki:dokuwiki-128.png?200x50}} Resized external image:           {{https://www.php.net/images/php.gif?200x50}} Real size: {{wiki:dokuwiki-128.png}} Resize to given width: {{wiki:dokuwiki-128.png?50}} Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}} Resized external image:           {{https://www.php.net/images/php.gif?200x50}} By using left or right whitespaces you can choose the alignment. {{ wiki:dokuwiki-128.png}} {{wiki:dokuwiki-128.png }} {{ wiki:dokuwiki-128.png }} {{ wiki:dokuwiki-128.png}} {{wiki:dokuwiki-128.png }} {{ wiki:dokuwiki-128.png }} Of course, you can add a title (displayed as a tooltip by most browsers), too. {{ wiki:dokuwiki-128.png |This is the caption}} {{ wiki:dokuwiki-128.png |This is the caption}} For linking an image to another page see [[#Image Links]] above. ### Supported Media Formats DokuWiki can embed the following media formats directly. | | | | ----- | ---------- | | Image | ''gif'', ''jpg'', ''png'' | | Video | ''webm'', ''ogv'', ''mp4'' | | Audio | ''ogg'', ''mp3'', ''wav'' | | Flash | ''swf'' | If you specify a filename that is not a supported media format, then it will be displayed as a link instead. By adding ''?linkonly'' you provide a link to the media without displaying it inline {{wiki:dokuwiki-128.png?linkonly}} {{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image. ### Fallback Formats Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. For example consider this embedded mp4 video: {{video.mp4|A funny video}} When you upload a ''video.webm'' and ''video.ogv'' next to the referenced ''video.mp4'', DokuWiki will automatically add them as alternatives so that one of the three files is understood by your browser. Additionally DokuWiki supports a "poster" image which will be shown before the video has started. That image needs to have the same filename as the video and be either a jpg or png file. In the example above a ''video.jpg'' file would work. ## Lists Markdown supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a ''*'' for unordered lists or a ''1.'' for ordered ones. * This is a list * The second item * You may have different levels * Another item 1. The same list but ordered 1. Another item 1. Indentation does not work with ordered lists? 1. That's it * This is a list * The second item * You may have different levels * Another item 1. The same list but ordered 1. Another item 1. Indentation does not work with ordered lists? 1. That's it ~~Also take a look at the [[doku>faq:lists|FAQ on list items]].~~ ## Text Conversions ### Quoting Some times you want to mark some text to show it's a reply or comment. You can use the following syntax: I think we should do it > No we shouldn't >> Well, I say we should > Really? >> Yes! >>> Then lets do it! I think we should do it > No we shouldn't >> Well, I say we should > Really? >> Yes! >>> Then lets do it! ### Tables Markdown supports a simple syntax to create tables. | Heading 1 | Heading 2 | Heading 3 | | ---- | ---- | ---- | | Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | | Row 2 Col 1 | Row 2 Col 2 | Row 2 Col 3 | | Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | Table rows have to start and end with a ''|'' , the header has to be separated from the table body by a row with hyphens. | Heading 1 | Heading 2 | Heading 3 | | ---- | ---- | ---- | | Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | | Row 2 Col 1 | Row 2 Col 2 | Row 2 Col 3 | | Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | ## No Formatting If you need to display text exactly like it is typed (without any formatting), enclose the area either with ''%%%%'' tags or even simpler, with double percent signs ''%%''. This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. The same is true for %%//__this__ text// with a smiley ;-)%%. This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. The same is true for %%//__this__ text// with a smiley ;-)%%. ## Code Blocks You can include code blocks into your documents by either indenting them by at least **four** spaces (like used for the previous examples) or by using the tags ''%%%%'' or ''%%%%''. This is text is indented by four spaces. This is preformatted code all spaces are preserved: like <-this This is pretty much the same, but you could use it to show that you quoted a file. Those blocks were created by this source: This is text is indented by four spaces. This is preformatted code all spaces are preserved: like <-this This is pretty much the same, but you could use it to show that you quoted a file. ### Syntax Highlighting The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. '''' or ''''. /** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); //Display the string. } } There are additional [[doku>syntax_highlighting|advanced options]] available for syntax highlighting, such as highlighting lines or adding line numbers.