Plugins

Syntax/Embeddings

Embeddings are additions to the standard markdown syntax in An Otter Wiki. They provide capabilities beyond basic markdown, such as special layout elements, enhanced features, and entirely new functionality.
Embeddings are an experimental feature and subject to change.

Usage

An embedding starts with {{EmbeddingName and ends with }}. Between the opening and closing braces you can pass options and args.

Options are key-value pairs separated by | in the form |key=value. Each option starts with a | followed by the key, an = and the value.

Args are any remaining lines that are not options. They form the body content of the embedding and can contain regular markdown.

{{EmbeddingName
|option1=value1
|option2=value2
args content (markdown)
}}

Escaping: Use \| to include a literal | in a key, value, or args. Use \= to include a literal = in a key.

AttachmentList

Display attachments to the current page as list.
{{AttachmentList
|caption=Attachments
|filter=*
|format=full/details/minimal
|icons=true/false
}}

With format you can decide what is displayed in the table: minimal shows only the filenames, details shows filename, date and size, full shows all information.

AttachmentSizeDateAuthorComment
example.pdf110.0KiB2026-03-08 11:26AnonymousAdded AttachmentList documentation.

DataTable

The DataTable Embedding is for turning markdown tables into datatables that can be paginated, search and sorted.
{{datatable
|paging=false
|perPage=42
|searchable=false
|sortable=true
|fixedHeight=True
|caption=Python Stable
| Version | Released   |
| -------:| ---------- |
|    3.13 | 2024-10-07 |
|    3.12 | 2023-10-02 |
|    3.11 | 2022-10-24 |
|    3.10 | 2021-10-04 |
|     3.9 | 2020-10-05 |
|     3.8 | 2019-10-14 |
|     3.7 | 2018-06-27 |
|     3.0 | 2008-12-03 |
}}
Version Released
3.13 2024-10-07
3.12 2023-10-02
3.11 2022-10-24
3.10 2021-10-04
3.9 2020-10-05
3.8 2019-10-14
3.7 2018-06-27
3.0 2008-12-03

CSV attachments can also be rendered as datatables:
{{datatable
|src=data.csv
|delimiter=;
|quotechar="
|header=true
|columns=1,3
|headers=Name,Score
|caption=My Data
}}

Options specific to CSV:

  • src: filename of a CSV attachment on the page
  • delimiter field delimiter, default ;
  • quotechar character used to quote fields, default "
  • header use first row as column headers (default true)
  • columns comma-separated list of 1-based column indices or header names to include
  • headers comma-separated list of column header labels (overrides CSV headers)

Figure

A container for emphasizing content blocks (code, tables, images, etc.) with an optional caption — similar to a LaTeX figure.
{{Figure
|caption=Figure 1: Example Python code
|align=center/left/right
|width=100%
|height=300px
|style=additional inline css
```python
#!/usr/bin/env python
print("Hello, World!")
```
}}
#!/usr/bin/env python
print("Hello, World!")
Figure 1: Example Python code

ImageFrame

Display images in frames on the wiki page.
{{ImageFrame
|caption=An Otter Wiki Logo
|width=30%
|position=right/left
|float=right/left
|text-align=center/left/right/justify
|style=custom css
[![](/static/img/otter.png)](/static/img/otter.png)
}}

Use |src= to embed an attachment directly, with an optional |alt= text:

{{ImageFrame
|caption=An Otter Wiki Logo
|src=otter.png
|alt=The Otter Wiki logo
}}

Use an absolute path to embed an attachment from another page:

{{ImageFrame
|src=/OtherPage/otter.png
}}

External images can be embedded via a full URL:

{{ImageFrame
|src=https://example.com/image.png
|alt=Description
}}
An Otter Wiki Logo

InfoBox

An element for displaying structured data in a document.
{{InfoBox
|caption=Some Caption
|position=right/left
|float=right/left
|width=35%
|text-align=justify
|style=additional inline css
|Random Key=Value
|Answer=42
|Homepage=[otterwiki.com](https://otterwiki.com)
Lorem _ipsum_ dolor sit **amet**, consectetur
adipiscing elit.
```python
#!/usr/bin/env python
markdown=True
```
}}

Note: On small screens the box automatically expands to full width regardless of the width option. The optional |style= allows additional inline CSS overrides.

Some Caption
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
#!/usr/bin/env python
markdown=True
Random KeyValue
Answer42
Homepageotterwiki.com

PageIndex

Display a page index listing pages below the current page, optionally filtered by a glob pattern.
{{PageIndex
|src=*
|toc=true/false
|toggle=true/false
}}

Options:

  • src: glob pattern to filter pages by title (default *, matches all pages)
  • toc: show page headings (default false)
  • toggle: show the toggle for the page headings (default true)

Video

Embed a video player that supports video and audio playback in your document, or embed a YouTube video by providing a YouTube URL.
{{Video
|width=10%
|muted=false/true
|controls=true/false
|autoplay=false/true
|loop=false/true
|src=/full/path/to/video.mp4
/alternative/full/path/to/video.mp4
}}

YouTube URLs (youtube.com/watch?v=… or youtu.be/…) are rendered as embedded iframes:

{{Video
|width=100%
|muted=false/true
|controls=true/false
|autoplay=false/true
|loop=false/true
https://www.youtube.com/watch?v=dQw4w9WgXcQ
}}

Plugins Syntax/Embeddings AttachmentList DataTable Figure ImageFrame InfoBox PageIndex Video
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9