Wiki: Add support for including md-snippets markdown in wiki pages

Description

Include vs copypast!

We can use md-snippets as page fragments, like submenus, breadcrumbs, memos, etc

Include snippet markdown example:

$123()

If snippet code will supports string-params, like "some {{var:param1}} code by {{var:param2}}", then:

$123(param1:"perfect", param2:"me")

This idea is extendable by support var setters, if-elsif-else, foreach and other instructions in snippets code:

{{var:snippet_var|"some_value"}}

use var {{var:snippet_var}}

{{if: param2 == 'me'}} some message for me {{elsif: param2 == 'other'}} some message for other {{else}} default message{{endif}}

{{foreach: param1 as p}}

  • some list item {{var:p}} {{endfor}}

And some automatic original page variables could be help too: path, name, etc

Proposal

I think, this extension should be realised as redcarpet preprocess (http://dev.af83.com/2012/02/27/howto-extend-the-redcarpet2-markdown-lib.html)

  1. find include tag
  2. find linkable snippet
  3. execute variables, conditions and cycles if exists. Have trivial markup in snippet
  4. include rendered snippet code in original page
  5. continue default render proccess

Links / references

Examples: https://wiki.openoffice.org/w/index.php?title=RU/kb/philosophy&action=edit https://wiki.openoffice.org/w/index.php?title=Template:BreadCrumbL10n&action=edit

Assignee Loading
Time tracking Loading