MarkdownPlus Syntax
This page presents an overview over the Markdown/MarkdownPlus Syntax and how it's used.
→ Find more specific infos in chapt. Reference.
Elements marked like this are Extensions to Markdown/Markdown Extra.
␣ stands for a space character; ↵ denotes a line-break.
Hint:
Whenever one of these syntax patterns interfers with your intention, just shield conflicting elements by prepending a backslash.
E.g. \++X++
Line Breaks
| Markdown | Result | HTML |
|---|---|---|
|
Lorem↵ ipsum |
Lorem ipsum |
|
|
Lorem␣↵ ipsum |
Lorem ipsum |
|
|
Lorem␣␣↵ ipsum |
Lorem ipsum |
|
|
Lorem\ ipsum |
Lorem ipsum |
|
| Lorem␣BR␣ipsum |
Lorem ipsum |
|
Paragraphs
| Markdown | Result | HTML |
|---|---|---|
|
Lorem↵ ↵ ipsum |
Lorem
ipsum |
|
Headings
| Markdown | Result | HTML |
|---|---|---|
| # H1 Header |
H1 Header |
H1 Header |
| ## H2 Header |
H2 Header |
H2 Header |
| ### H3 Header |
H3 Header |
H3 Header |
| etc. |
Horizontal Rule
| Markdown | Result | HTML |
|---|---|---|
| --- |
|
|
Basic Text Styling
| Markdown | Result | HTML |
|---|---|---|
| **bold text** | bold text | bold text |
| *italic text* | italic text | italic text |
| ***bold italic text*** | bold italic text | bold italic text |
Miscellaneous HTML Tags
| Markdown | Result | HTML |
|---|---|---|
|
~sub~script (9 characters max) |
subscript |
|
|
^super^script (20 characters max) |
superscript |
|
| ==marked== | marked |
|
| ++inserted++ | inserted |
|
| ~~deleted~~ |
|
|
| __underlined__ | underlined |
|
|
^^text^^ (5 characters max) |
text |
|
| ``samp`` | samp |
|
| `code` |
code
|
|
|
```php code block ``` |
|
|
Lists
Unordered List
| Markdown | Result | HTML |
|---|---|---|
|
- First item - Second item - Third item |
|
|
Ordered or Enumerated List
| Markdown | Result | HTML |
|---|---|---|
|
1. First item 1. Second item 1. Third item |
|
|
Ordered or Enumerated List with Start-Value
| Markdown | Result | HTML |
|---|---|---|
|
4!. Forth item 1. Fifth item 1. Sixth item |
|
|
→ see chapt. Numbered Lists with Counter Preset
Definition List
| Markdown | Result | HTML |
|---|---|---|
|
Term : Description Lorem: : ipsum |
|
|
→ see chapt. Definition Lists
Task List
| Markdown | Result | HTML |
|---|---|---|
|
- [x] Done - [ ] To do |
|
|
Links
Conventional Markdown
| Markdown | Result | HTML |
|---|---|---|
| <https://www.example.com> | https://www.example.com |
|
| <name@domain.net> | name@domain.net |
|
| [example.com](https://www.example.com "TITLE") | example.com |
|
| [e-mail](mailto:name@domain.net) |
|
KirbyTag Link
| Markdown | Result | HTML |
|---|---|---|
| (link:https://example.com text:example.com target:_blank) | example.com |
|
| (link:name@domain.net) | name@domain.net |
|
→ see doc KirbyText
Images
Conventional Markdown
| Markdown | Result | HTML |
|---|---|---|
|  |
|
|
Image with Caption
| Markdown | Result | HTML |
|---|---|---|
|  |
![]() |
|
KirbyTag Image
| Markdown | Result | HTML |
|---|---|---|
| (image: leafs.jpg) |
|
|
| (image: leafs.jpg caption: "CAPTION") |
|
|
→ see doc KirbyText
Tabulator
| Markdown | Result | HTML |
|---|---|---|
|
Lorem␣␣>>␣ipsum L␣␣>>␣ipsum |
Lorem ipsum
L ipsum
|
|
|
Lorem␣␣4em>>␣ipsum L␣␣>>␣ipsum |
Lorem ipsum
L ipsum
|
|
Note:
The pattern for tabulator is ␣␣>>␣, i.e. it requires at least 2 leading and 1 trailing white spaces.
Optionally prepend a width indicator, e.g. X ␣␣4em>>␣Y.
→ see chapt. Tabulator
Div Blocks
| Markdown | Result | HTML |
|---|---|---|
|
@@@ .box color:red Lorem @@@ |
Lorem |
|
The text following @@@ can specify attributes and meta-commands to be applied.
Syntax
Syntax for Div-Blocks and Attribute Injection
| Basic Arguments | |
| <tag | → tag applied to the block, e.g. <aside |
| "xyz" or 'xyz' | → content that will be injected into the block |
| #my-id | → ID applied to the block |
| .my-class | → class applied to the block |
| css-attribute:value | → style applied to the block, e.g. color:red |
| html-attribute=value | → attribute applied to the block, e.g. aria-hidden=true |
| Meta Commands | |
| !off | → hides the block (with style='display:none') |
| !lang=xy | → omits the block unless given language is active |
| !inline | → compiles the block as inline-markdown (aka not block level) |
| !literal | → renders text as stated (i.e. included in HTML output as is) |
| !showfrom=ISO-Timestamp | → omits the block until time is reached |
| !showtill=ISO-Timestamp | → omits the block after time has passed |
| !visible={criteria} | → omits the block if admission criteria not met, e.g. !visible=loggedin |
| !user={username} | → omits the block if admission criteria not met, e.g. !user=alice |
| !role={user-role} | → omits the block if admission criteria not met, e.g. !role=staff |
*ISO-time*: `YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SS` (e.g. ``2023-01-06T14:23``)
Example
@@@ <aside #my-id.my-class aria-hidden=true !showfrom=2025-01-01 !visible=loggedin
xy
@@@
Hint:
To get this help, write:
@@@ !help
@@@
→ see chapt. Div-Blocks
Accordion
Simple Syntax
| Markdown | Result | HTML |
|---|---|---|
|
Summary <> Details ... <> ... |
SummaryDetails … |
|
AsciiTables
|=== 'Caption' .myclass // → table start with caption and table attributes
|# Col 1 | Col 2 // → header row
|--- // → row terminator
| A | B | C // → 3 cells sep. by |
|---
| D // → 2 cells on sep. lines
| E␣␣
Lorem Ipsum
// → 3rd cell missing
|=== // → table end
| Col 1 | Col 2 | |
|---|---|---|
| A | B | C |
| D |
E Lorem Ipsum |
Note:
- Cells always start with |
- They can be written on separate lines
- Rows are separated by |---
- Missing cells are taken care of
→ see chapt. AsciiDoc-Tables