Learn about DokuWiki
Learn about DokuWiki
The version linked above is only compatible with DokuWiki versions up to Greebo.
For Hogfather RC2, please use this version of the plugin (last updated 2020-06-06). (The link should be updated once Hogfather is officially released).
Attention: The Markdowku plugin is not compatible with Hogfather RC2 (2020-06-01)!
Workaround: upgrade to Hogfather RC2 and then manually apply these two patches from the pull request linked above:
cd /var/www/wiki/ # or wherever you DokuWiki root directory is wget https://github.com/splitbrain/dokuwiki/pull/3122/commits/533aca443d11c7850d99ed088b80c85fdff14be3.diff -O - | patch -p1 wget https://github.com/splitbrain/dokuwiki/pull/3122/commits/eb33b670a5a7dd4886d1a52ffd9f44c4dc1063ad.diff -O - | patch -p1
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.
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.
If you encounter any incompatibilities in this version, feel free to add them here or report them.
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:
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.
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.
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:
The prior two plugins (markdown, markdownextra) work completely different. The other two 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.
— 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.
— 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