Advanced replacement
mkdocs.yml
# This example shows how to replace lines with regex expressions!
site_name: ok-source-replace
plugins:
- simple:
semiliterate:
- pattern: \.py$
extract:
- start: ^\s*"""\W?md\b
stop: ^\s*"""\s*$
replace:
# replace "foo" with "bar"
- ["(.*)foo(.*)$", "\\1bar\\2"]
# only capture what's after args and replace with parameter prefix
- ["args:(.*)$","parameters:\\1"]
# capture everything after `only_this:`
- "only_this:(.*)$"
# drop lines starting with drop
- "^drop"
Input
ok-source-replace/
├── mkdocs.yml
├── module.py
└── README.md
module.py
"""md
## Python Version
You can put _markdown_ in triple-quoted strings in Python.
You can even replace things!
You should see foo replaced by bar in this sentence.
args: This line should start with `parameters`.
blah blah blah only_this: Only this is captured.
drop this line!
"""
def main():
"""Main test."""
print("Hello, world!")
return 0
Output
site/
├── assets/
│ ├── images/
│ │ └── favicon.png
│ ├── javascripts/
│ │ ├── lunr/
│ │ │ └── min/
│ │ └── workers/
│ └── stylesheets/
├── index.html
└── module/
└── index.html
module
Python Version
You can put markdown in triple-quoted strings in Python.
You can even replace things!
You should see bar replaced by bar in this sentence.
parameters: This line should start with parameters
.
Only this is captured.