Table of Contents

markdowku Plugin

Compatible with DokuWiki

  • 2024-02-06 "Kaos" unknown
  • 2023-04-04 "Jack Jackrum" unknown
  • 2022-07-31 "Igor" yes
  • 2020-07-29 "Hogfather" yes

plugin Integrates Markdown into DokuWiki syntax

Last updated on
2021-12-04
Provides
Syntax
Repository
Source

Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

Greebo

The version linked above is only compatible with DokuWiki versions Hogfather and later. If you are still running Greebo, please use this version of the plugin.

Examples/Usage

This plugin will go before the overlapping DokuWiki syntax definitions and overrule them with Markdown specifications.

For patterns that are not part of Markdown, you can still use DokuWiki, e.g. you're still able to use DokuWiki tables.

Syntax

This plugins tries to resemble Markdown as closely as possible and does not extend it. It is a best-effort implementation - I didn't try to match the Markdown test suite, but rather provide a look-alike handler for Markdown syntax, as Markdown itself is somewhat underspecified.

You'll find the basic description on the website of the Markdown author, as well as a deeper description of the syntax.

If you encounter any incompatibilities in this version, feel free to add them here or report them.

Known incompatibilities

Due to the inner working of Markdown and DokuWiki, there are things which currently cannot be done with this plugin.

All in all, this plugin is complete. Just when it comes to nesting things, i.e. putting things into each other, this plugin doesn't handle lists and blockquotes well.

This should be a complete list of current general incompatibilities. Everything else is a bug:

Why no nested content in lists?

From the old project page:

The reason behind these incompatibilities are conceptual differences between Markdown's and Dokuwiki's inner workings. Markdown takes a text as a whole and transforms it into HTML. On the way, it will re-parse blocks (i.e. lists or blockquotes), treating them as if they were standing on their own.

Here is an example for this:

  > # Blabla
  > Blabla

Markdown would see that there's a comment, and then reparse the whole thing with the comment brackets removed, but nested inside the comment, i.e. it would reparse

  # Blabla
  Blabla

and finally produce a blockquote with a headline in it.

Dokuwiki, on the other hand, uses a lexer you can pass tokens (regexes) to be matched. Visually spoken this means that Dokuwiki parses text only sequentially, while Markdown parses text also “vertically”. Overcoming this is difficult and the main reason that nesting is not yet implemented for most formatting.

Development

Version History

Please note that this plugin is not actively developed at the moment.!

Markdowku was initially developed by Julian Fagir. Raphael Wimmer just made the plugin ready for Hogfather and moved the repository to GitHub. Contributions welcome.

** Seems to work on Jack Jackrum release (as of 2023-07-21). An extra newline in between bullet points is all I note that is finicky compared to normal markdown (where lines can be right after one another and render proper markdown.)

Bugs/Issues

Please submit an issue on GitHub.

There are still some issues in the old bug tracker.

ToDo/Wish List

This plugin is not complete yet. Incompatibilities are listed above at Known incompatibilities.

Suggestions by the initial author:

Further suggestions (dinobib 15-05-25) and other anonymous commenters:

FAQ

There are already two Markdown plugins, why do you write a third one?

Prior plugins (mdpage1), markdown2), markdownextra3)) work completely different. They just create a large container (either defined by <markdown> tags or a .md file ending) and parse everything inside them as Markdown.

This plugin adds Markdown to the DokuWiki syntax, i.e. it still uses DokuWiki definitions for lists, headers, etc. Thus, markdowku enables you to use internal links, mix Markdown with other plugins and other syntaxes and have clean section headers and media embedding.

Discussion

Plugin abandoned?

digineut 2018-12-15 17:03 According to the Internet Archive, the author's dokuwiki was last seen in 2016. My guess is that he is no longer using it and the plugin is abandoned. My suggestion is to ask his approval for creating a GitHub repo to continue development there.

ismirnov 2020-06-04 17:03 I have filed an issue documenting the breaking changes in Hogfather, but nor response. The License is not very forking friendly, but perhaps we can do a GPL/MIT rewrite.

raphman 2020-06-06 00:46 I have fixed the plugin, contacted the original author, and taken over maintenance for now with his blessing. @ismirnov: The original license is the standard 2-clause BSD license, nothing special. Github Repo with Fork

anon1 2024-02-03 00:00 Grateful for this markdown support. In `2023-04-04 “Jack Jackrum”` it appears to break the wiki:syntax special page a bit. So far I “fixed” my local local wiki:syntax page by (1) basically removing the section on “Windows Shares” and also (2) massively simplifying the section on “Quoting” in order to only demonstrate single-level quotes. Now my syntax page mostly renders fine, and markdowku can stay Enabled, hooray.

1)
last update: 2021
2)
last update: 2006
3)
last update: 2016