Add pythonmarkdownn field type to Lektor to make use of python-markdown as a renderer.
A Lektor plugin to parse markdown using
Python-Markdown. By default, lektor
uses mistune to parse markdown
With this plugin, you can chose which parser is to be used by setting a
different type on the field. Either:
Add lektor-pythonmarkdown to your project from command line:
lektor plugins add lektor-pythonmarkdown
In your model, you need to define the type of field as follow:
[model] name = Page [fields.body] label = Body type = pythonmarkdown
This plugins is is obviously incompatible with all of the mistune-specific events and plugins. Namely, all of
markdown-* events and the plugins built around them.
This lektor plugins provide a nice way to configure python-markdown. For instance, it's possible to explicitly define the extentions to be enabled and to configure each of them seperatly.
For an advance configuration, you need to create a file named
pythonmarkdown.ini in the
In that file you may write something similar to the following:
[markdown] # Define the configuration of python-markdown. # Reference: https://python-markdown.github.io/reference/#markdown #output_format = xhtml1 #tab_length = 4 #safe_mode = False #enable_attributes = True #smart_emphasis = True #lazy_ol = True [extensions] # List extensions to be enabled. markdown.extensions.extra = 1 markdown.extensions.admonition = 1 markdown.extensions.codehilite = 1 markdown.extensions.headerid = 1 markdown.extensions.meta = 1 markdown.extensions.nl2br = 1 markdown.extensions.sane_lists = 1 markdown.extensions.smarty = 1 markdown.extensions.toc = 1 markdown.extensions.wikilinks = 1 [markdown.extensions.codehilite] # Specific configuration for an extension. # Reference: https://python-markdown.github.io/extensions/code_hilite/#usage linenums = True #guess_lang = True #css_class = codehilite #pygments_style = default #noclasses = False #use_pygments = True