Sphinx PyScript#
Sphinx PyScript 允许您在文档中使用 PyScript。使用 pip 安装:
pip install sphinx-pyscript
用法:
将插件添加到您的 conf.py :
extensions = [
"sphinx_pyscript",
]
要在页面上加载 PyScript,可以使用 py-config 指令以 YAML 格式加载配置:
.. py-config::
splashscreen:
autoclose: true
packages:
- matplotlib
或者 MyST,使用 top-matter:
---
py-config:
splashscreen:
autoclose: true
packages:
- matplotlib
---
1. py-repl 和 py-terminal#
可以创建 REPL,使其将输出写入 div 中,并将 stdout 打印到终端,如下:
```{py-repl}
:output: replOutput
print("hallo world")
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.gcf()
```
<div id="replOutput"></div>
```{py-terminal}
```
按下 Shift+Enter 运行代码。
2. py-script 应用#
下面是使用 py-script 指令将“a”替换为“b”的简单应用:
```{py-script}
:file: convert_json_to_toml.py
```
<form method="post">
<label for="input_text" style="display: block">Input</label>
<textarea id="input_text" name="input_text" style="width: 90%">a</textarea>
<label for="output_text" style="display: block">Output</label>
<textarea id="output_text" name="output_text" readonly="true" style="width: 90%">b</textarea>
</form>
使用以下代码:
from js import document
input_textarea = document.querySelector("form textarea#input_text")
output_textarea = document.querySelector("form textarea#output_text")
def do_convert(event):
result = event.srcElement.value.replace("a", "b")
output_textarea.value = result
input_textarea.oninput = do_convert