Replace text for Foliant¶
Preprocessor for simple search and replace in Markdown sources with support of regular expressions.
$ pip install foliantcontrib.replace
To enable the preprocessor, add
preprocessors section in the project config:
preprocessors: - replace
The preprocessor has two options:
preprocessors: - replace: dictionary: Mike: Michael Sam: Samuel Tim: Timoel re_dictionary: '!\[\]\((.+?)\)': '![Figure](\1)'
- YAML mapping where key is string to replace, value is the replacement string.
- YAML mapping where key is Python regular expression pattern, value is the replacement string.
Fill up the
re_dictionary in preprocessor options and the keys will be replaced with values.
For example, if you wish that all images without title in your Markdown sources were titled "Figure", use the following config:
preprocessors: - replace: re_dictionary: '!\[\]\((.+?)\)': '![Figure](\1)'
You can also apply a sequence of regex substitions. Like case-insensitive link insertion as shown in the example below:
preprocessors: - replace: re_dictionary: '`(?i)(wikipedia)`': '[\1](https://www.wikipedia.org/)' '`(?i)(github)`': '[\1](https://github.com/)'