mkpatcher
is a Python-Markdown extension allowing arbitrary scripts to modify MkDocs input files.
Table of Contents
pip install mkpatcher
Include the extension in your mkdocs.yml
config file:
... markdown_extensions: ... - mkpatcher: ...
This extension works as a pre-processor and will allow modifying the raw lines of Markdown before any other extension runs.
The script
option takes arbitrary Python code and will provide the Markdown lines as a variable named lines
.
You can modify the lines directly:
... markdown_extensions: ... - mkpatcher: script: | lines.extend(('', 'some footer', ''))
or you can shadow the variable:
... markdown_extensions: ... - mkpatcher: script: | lines = ['entirely', 'new'] lines.append('markdown')
The location
option takes a path to either a single Python file or a directory containing multiple Python files. If the location refers to a directory, the scripts will be loaded and eventually executed in lexicographical order based on file names.
... markdown_extensions: ... - mkpatcher: location: docs/.scripts
Each script must define a callable object named patch
that accepts a single parameter which will be the Markdown lines.
You can modify the lines directly:
def patch(lines): lines.extend(('', 'some footer', ''))
or you can return new lines:
def patch(lines): new_lines = ['entirely', 'new'] new_lines.append('markdown') return new_lines
mkpatcher
is distributed under the terms of both
at your option.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4