Skip to content

Replace

Replace text for Foliant

Preprocessor for simple search and replace in Markdown sources with support of regular expressions.

Installation

$ pip install foliantcontrib.replace

Config

To enable the preprocessor, add replace to preprocessors section in the project config:

preprocessors:
  - replace

The preprocessor has two options:

preprocessors:
  - replace:
      dictionary:
        Mike: Michael
        Sam: Samuel
        Tim: Timoel
      re_dictionary:
        '!\[\](https://github.com/foliant-docs/foliantcontrib.replace/-/blob/master/(.+?)'
dictionary
YAML mapping where key is string to replace, value is the replacement string.
re_dictionary
YAML mapping where key is Python regular expression pattern, value is the replacement string.

Usage

Fill up the dictionary or/and 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:
        '!\[\](https://github.com/foliant-docs/foliantcontrib.replace/-/blob/master/(.+?)'

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/)'
Back to top