Config¶
You can override the default eval_funcs
in your docs/conf.py
:
Only evaluate shell¶
from sphinxcontrib.eval import eval_sh
eval_funcs = {"sh": eval_sh}
Evaluate shell, python, vim script¶
from sphinxcontrib.eval import eval_sh, eval_python
from subprocess import check_output
def eval_vim(input: str) -> str:
try:
output = check_output( # nosec B603
["nvim", "--headless", "-c", input, "-c", "q"],
universal_newlines=True,
)
except Exception:
output = ""
return output
eval_funcs = {"sh": eval_sh, "python": eval_python, "vim": eval_vim}
Evaluate cmd¶
def eval_cmd(input: str) -> str:
try:
output = check_output( # nosec B603
["cmd", "/c", input], universal_newlines=True
)
except Exception:
output = ""
return output
eval_funcs = {"cmd": eval_cmd}