在无服务器模型中使用 sphinx

Use sphinx within a serverless model

我目前正在使用 sphinx 从 bitbucket 存储库中的 ReStructuredText 文件自动生成我的文档站点。

这当然都是 managed/hosted 内部的,但我越来越多地考虑是否可以将其切换为更无服务器的模型,使用 FaaS 生成网站,然后使用基于云的网站托管用于实际托管(例如 S3 静态站点托管)。

我想知道是否可以以编程方式使用 sphinx(例如在 AWS Lambda 或 Azure 函数中)?

谢谢, 约翰

而不是直接执行 sphinx-build from the command line, you can generate output by using a sphinx.application.Sphinx 对象。

一个基本的例子:

import os
from sphinx.application import Sphinx

# Main arguments 
srcdir = "/path/to/source"
confdir = srcdir
builddir = os.path.join(srcdir, "_build")
doctreedir = os.path.join(builddir, "doctrees")
builder = "html"

# Create the Sphinx application object
app = Sphinx(srcdir, confdir, builddir, doctreedir, builder)

# Run the build
app.build()