The `markdown` item type renders text using a curated subset of marked.js
with GitHub Flavored Markdown (GFM) enabled, plus federated wiki's own `wikilink` syntax. Several features common in GFM or other flavours are intentionally absent or handled by dedicated plugins instead.
## What Works
**Headings** — `#`, `##`, `###` etc. are all recognised, but fedwiki renders every heading level as `<h3>`. Heading depth has no effect on visual hierarchy.
**Emphasis** — `*italic*` or `_italic_`, `**bold**` or `__bold__`, and combinations. Backslash-escape `\*` or `\_` to suppress emphasis.
**Lists** — unordered (`*`, `+`, `-`) and ordered (`1.`, `2.`). Note: ordered list numbering resets for each separate markdown item. **Task lists** (GFM) work: `* [ ]` and `* [x]` — clicking the checkbox saves the change inline.
**Blockquotes** — lines starting with `> ` render as `<blockquote>`.
**Inline code** — backtick spans `` `like this` `` render as `<code>`. Useful for filenames, commands, and short snippets inside prose.
**Tables** — GFM pipe tables work: ``` | Feature | Supported | | --- | --- | | Tables | yes | ```
**Wikilinks** — `Page Name` creates an internal fedwiki link. This is a fedwiki extension, not standard markdown. There is no `Target|Display` piped-link syntax — write only `Page Name`.
**External links** — fedwiki convention is `label
` (URL first, label second, single brackets). Standard markdown `[label](url)` also works but is not the wiki idiom. External links open in a new tab.
## What Doesn't Work
**Mermaid diagrams** — not supported. The markdown plugin has no mermaid extension. There is no fedwiki plugin for mermaid at this time. **Images** — `` syntax is stripped. Use the `image` plugin item instead. **Fenced code blocks** — triple-backtick blocks are recognised by the parser but the plugin discourages them; use a `code` plugin item for multi-line code. **Anchor links** — `headerIds` is disabled, so `[link](#heading)` fragment navigation does not work. **Footnotes** — not enabled. **Piped wikilinks** — `Target|Display Text` has no meaning in fedwiki; write `Target` only.
## Compared to GFM
| Feature | GFM | Fedwiki Markdown | | --- | --- | --- | | Headings h1–h6 | yes | yes, all render as h3 | | Bold / italic | yes | yes | | Tables | yes | yes | | Task lists | yes | yes, with live checkbox save | | Fenced code blocks | yes | parsed but use `code` item | | Images | yes | use `image` item instead | | `[label](url)` links | yes | works but `[url label]` is the idiom | | `wikilinks` | no | yes (fedwiki extension) | | `Page\|Display` | no | no | | Mermaid | via extensions | not supported | | Anchor / fragment links | yes | no (headerIds disabled) | | Footnotes | via extensions | no | | Line breaks (`breaks`) | optional | enabled — single newline → `<br>` |
The plugin runs marked.js v17 with `gfm: true`, `breaks: true`, and DOMPurify sanitisation. The `breaks: true` setting means a single newline inside a paragraph becomes a `<br>` — different from standard GFM where a single newline is collapsed.