I wonder if there is a wiki engine that uses markdown

Is there a wiki based website/program that uses a variant of markdown? If not, then I’ll be surprised.

There are probably hundreds that use Markdown. Did you mean CommonMark specifically?
gitit uses pandoc under the hood, so it can use CommonMark as a page format (as of version 0.11.1). You can set the page format on a per-page basis with metadata, or globally for the whole wiki.

Example: http://gitit.net/CommonMark

1 Like

Roadkill uses Markdown, and in version 3 we’re phasing out support for Creole/Mediawiki in favour of CommonMark (using CommonMark.net) mainly because the parsers for the latter 2 are so bad, and writing parsers from scratch wasn’t viable after some spikes into doing it with Antlr.

Long live CommonMark! Hopefully table support will be finalised by version 3 or some people might be a little angry.


Would be interesting to note what mediawiki syntax has that commonmark doesn’t have. Table support is certainly one of em. Templates? Did you had to extend the syntax with non-standard extension to deal with the specific needs of a wiki engine? Would those extention be better baked in already, so that people can contribute to multiple wikis without compatibility issues?

1 Like

The developers of Gollum may support CommonMark in the future; they are waiting to see what GitHub does first. https://github.com/gollum/gollum/issues/882

There are a couple of Markdown extensions for MediaWiki, but these aren’t CommonMark compliant. A worthwhile project would be updating (or rewriting) these extensions to use the PHP implementation of CommonMark (league/commonmark).

1 Like

Gitit handles wikilinks by overloading normal link syntax: links with empty URLs become wikilinks. So, [My page]() is a wikilink to the page called My page. The transformation can be done either on the AST or in the renderer. This approach saves having to invent an entirely new syntax for wikilinks.

1 Like

That is quite an elegant solution. I like it. A related question: should the generated URL format be standardised? I posted some ideas here. But there might be value in letting the particular wiki software decide so that some wikis could use underscores in the URL while others would use hyphens; the Markdown would be the same (and therefore portable) in either case.

It would be a good idea to let the wiki software decide between hyphen or underscore, but make recommendation for a particular style in documentation.

Also, I now recall a discussion on the linking aspect. I think @chrisalley was suggesting for [[]] instead of overloading the []() in Implict MediaWiki/Gollum-style [[page links]] .

Though for consistency maybe one might choose ((My Page)) & [the page]((My Page)) instead.

I did suggest [[]], mainly because it is established syntax in MediaWiki and Gollum. However, Markdown is not wikicode. If we can reuse the Markdown link syntax, that saves the writer from having to learn an entirely new syntax.

Sweet. So no objection to this form?::

[click here to learn about cats]((cats))

As an eqv to wikicode ::

[[cats | click here to learn more about cats ]]

Test : click here to learn about cats . Interesting… Seems to degrade okay.

@mofosyne, your suggestion would require changes to the syntax and parser.
What’s wrong with the way gitit does it, which does not?

Source: http://gitit.net/_showraw/CommonMark

1 Like

I’m working on a wiki that I’m thinking of using Commonmark for. My main concern is Transclusion (templates). If you transclude another article, and that article transcludes other articles (happens in many cases) grabbing all those pages can get expensive. I’m not sure how to implement it, but am dubious as to whether building it into commonmark (via an extension) would even be wise.

Something to note is that translusion comes before all other operations, so, if you start a tag and then transclude in another article which will close that tag, that is is valid syntax. The page can’t really be parsed by Commonmark until all transclusions have been completed. I believe this feature is commonly used on Wikipedia for generating tables (I believe the templates are something like {{table heading}} {{table row}} {{table footer}} although it might be something like {{table | {{table row}} }} I don’t remember the exact syntax).

It feels more like a pre-processor step to me.

I think templates and transclusion shouldn’t be part of the CommonMark spec. Transclusion needs to occur prior to parsing anyway, since it can affect parsing (suppose, for example, that the transcluded file defines some reference links).

One could question whether it’s actually a “wiki”, but MDwiki uses GFM integrally. Whatever it is, it’s fairly slick; I’ve used it for a couple quick ‘n’ (not so) dirty course-support sites.

1 Like

For Roadkill, it follows the Creole standard for extensions which is well
thought out and also well documented on why they chose the tokens they did
(but they do have a mediawiki focus). I think avoiding angle brackets is a
must for me, but as long as there is a summary of each token and its pros
and cons it shouldn’t matter too much - the CommonMark implementors need to
have the biggest say.

Roadkill uses the same Markdown engine as Stackoverflow and includes its
tests as part of the test coverage. I regret not taking the decision to be
Markdown-only from the start now, the main reason for this was tables and
trying to please a wiki audience that are use to Wikipedia’s mediawiki

1 Like

WikiCloth Markdown Wiki Engine Web Framework using MongoDB as well as Node.js

code: https://github.com/usemodj/WikiCloth

TiddlyWiki now supports Markdown, or at least a subset of it. It is not a full multi-user web server per se, like MediaWiki. It is a single self-modifying .HTML file. It can be used online (where only the owner can make edits) or offline (stored on a flash drive or C: drive).

I can’t seem to find anything about a wiki on gitit.net any longer http://gitit.net/CommonMark is a 404.

It seems the new home is: https://github.com/jgm/gitit

1 Like

Is there any effort in standardizing the wiki style of linking?

I can imagine that this would not have to be a core part of commonmark, but should be part of a recommended community convention (e.g. as part of the standard appendix page)