Markdown Links in Wikantik

Wikantik uses an enhanced CommonMark parser (Flexmark) that supports both standard Markdown links and wiki-style shortcuts. A page can link to other pages with standard Markdown links or with Obsidian-style [[wikilinks]]; both are first-class and neither is being phased out. Every link to a page becomes an edge of the Page Graph, described at the end. The examples below use WikiName as the target page.

Linking to another page

Internal links point at a page's slug, its CamelCase name.

Rules for wikilinks:

Headings and same-page anchors

Attachments and images

Embedding a page or a section

![[WikiName]] shows another page's body inside this one, with a title link above it. ![[WikiName#Heading]] embeds just that section.

The server classifies a Markdown link in this order: access rule or plugin syntax, external, InterWiki, same-page fragment or footnote number, relative path, and finally local page. One consequence: any link target containing a colon is read as InterWiki. Earlier revisions of this page described id:, tag:, cluster: and attachment: link prefixes. They do not exist and never rendered as links. To reach a page by its stable canonical_id, use GET /api/pages/by-id/{canonical_id} or the get_page_by_id MCP tool, not an inline link.

Every Markdown link to a page, every [WikiName]() link, and every [[ ]] wikilink or ![[ ]] embed in a page body is read as a real page-to-page link. Those links are the edges of the Page Graph: they populate each page's backlinks, the broken-link and orphaned-page reports (get_backlinks, get_outbound_links, get_broken_links, get_orphaned_pages on the admin MCP server), and they are rewritten when a page is renamed with updateLinks. Frontmatter fields such as related are not Page Graph edges, and neither are the entities the Knowledge Graph extracts; see Page Graph vs Knowledge Graph.

For agents, GET /wiki/{page}?format=md returns the raw Markdown with wikilinks rewritten to standard Markdown links with absolute URLs, and page embeds turned into Embedded: links rather than expanded.

Best Practices

  1. Prefer slugs: link to the page's CamelCase name, as it is easy to read and type.
  2. Avoid extensions: never link to Page.md or Page.txt. Use the slug only.
  3. Use real page names in examples: the scanner that builds the Page Graph reads Markdown links with a regular expression and does not skip code spans or fenced blocks. A Markdown-link example in code therefore counts as a real link, and shows up in get_broken_links if its target is not a page. Wikilink examples in code are skipped.
  4. Check after writing: verify_pages reports broken links and pages with no backlinks.

See Also:


Cluster Hub: Wikantik Platform Development Hub: Architecture, MCP Protocols, and Agent Briefings (wikantik-development)