Sphinx PyScript

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-replpy-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 运行代码。

print("你好!") import matplotlib.pyplot as plt plt.plot([1, 2, 3]) plt.gcf()

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
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
{ "splashscreen": { "autoclose": true }, "packages": [ "matplotlib" ] }