DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:commonmark

Dokuwiki Commonmark Plugin

Compatible with DokuWiki

  • 2020-07-29 "Hogfather" yes
  • 2018-04-22 "Greebo" unknown
  • 2017-02-19 "Frusterick Manners" unknown
  • 2016-06-26 "Elenor Of Tsort" unknown

plugin Add (alamost complete) Commonmark compatibility on Dokuwiki

Last updated on
2021-07-19
Provides
Action
Repository
Source
Conflicts with
mdpage

Similar to markdowku, markdownextra, mdpage

Tagged with markdown

Installation

Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.

Examples/Usage

This is an another plugin that tries to implement Commonmark syntax to Dokuwiki ecosystem. Unlike others, this plugin takes different approach for the goal:

  • the plugin will find whether the Markdown doctype indicator (<!DOCTYPE markdown>) is included in document
  • if found, the document will be passed to Commonmark-to-Dokuwiki renderer before main DW parser; all the markups compatible to markdown must be parsed
  • after pre-render, the resultant Dokuwiki document will be passed into DW parser; all the remaining process should be processed as usual

Syntax

This plugin can process all the basic Commonmark syntax, plus footnote / table / strikethrough markup.

Configuration and Settings

Currently, there is no adjustable settings here.

Development

Change Log

  • version 1.0.0 (2021-07-19 18:10)
    Add table syntax. First full-working extension.

Known Bugs and Issues

For bugs, discussions, and feature requests, please open new here.

ToDo/Wish List

  • Add toolbar button for Markdown syntax
  • Config for footnote style (e.g. refnotes)

FAQ

Why another Markdown plugin?

There is no Dokuwiki extension that accepts Markdown syntax with complete compatibility. Also, the way Dokuwiki parser works, i.e. token-based process, cannot fit the Markdown syntax (e.g. footnote and nested lists). This plugin is based on the assumption that every Commonmark document can be converted to Dokuwiki markup without any issue, while its reversal is not guaranteed.

.md extension

There is no way for store DW documents with other extension rather than .txt, due to its core policy. You may modify the local code, it you want to.

About performance

Due to the concept that adding pre-render procedure for Commonmark-to-DW conversion, this plugin would have additional computational cost. However, I think Dokuwiki and PHP Commonmark parser is sufficiently fast; it will add a little bit of additional process time.

Ambiguities

This plugin aims for complete compatibility of Markdown in Dokuwiki. Most Markdown syntax have corresponding DW syntax, so it will work without problem; but in some cases, Markdown syntax do not matches DW specification one-by-one, or vice versa. Here is a list of known ambiguities between Commonmark and Dokuwiki, and its implements in the plugin:

  • Since DW do not parses raw HTML without htmlok config, HTML blocks are passed.
  • When adding html as info string in Fenced code blocks, it parse to DW's <HTML> blocks; In case of nowiki, <nowiki> syntax will be parsed; if dokuwiki, raw DW code will be passed.
plugin/commonmark.txt · Last modified: 2021-07-21 01:41 by clockoon