Skip to content

Wikilinks [[ ]] syntax for cross-references #421

@choldgraf

Description

@choldgraf

Describe the enhancement you'd like

In the wiki world, it is common to use wikilinks (like [[mylink]]) for references within and between pages. This is quite similar semantically to references/cross-references in Sphinx, and we currently use Markdown syntax to map onto the any role accordingly (so effectively becomes {any}`my-ref`

This issue proposes that we create a markdown-it-py extension for wikilinks, and map its rendering onto the {any} role within Sphinx. Basically, we'd make it behave like:

  • [[my-ref]] -> [](my-ref)
  • [[my-ref|Some text]] -> [Some text](my-ref)

Does this solve a specific problem?

This could be beneficial from people that are familiar with using wiki-style syntax for knowledge-bases. The "wiki world" is a pretty big global community, and is similar in many ways to the open source documentation ecosystem, so there might be some nice parallels here. In addition, I often find myself using "empty markdown link" syntax for the {any} ref like [](my-ref), and if this is a common use-case, then it might be easier to read/less-verbose if we used wikilink syntax instead [[my-ref]].

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds: discussionThis issue requires discussion or decisions before implementing.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions