Soupault 是一款自动化的 HTML 编辑器,而不仅仅是一个生成器。它可以将 HTML 解析为元素树,对其进行处理并将其保存为文件。这就像 DOM 处理,但不需要浏览器。
你可以将其用作网站生成器,并将不同的内容插入到“模板”(空页面)中。不过,它也可以作为手工网站或其他 HTML 生成器输出的后处理器。
Soupault 是一个单独的、静态的二进制文件,没有依赖关系。预编译的二进制文件适用于 Linux、Windows 和 macOS。
不过,它有一个内置的 Lua 解释器,并提供了一个与 JavaScript DOM API 较为类似的元素树 API。插件可以访问页面的元素树以及从页面中提取的元数据,因此你可以完成你可以使用 JavaScript 完成的所有内容,还可以完成更多内容,但以静态方式。
Soupault 可以将 HTML 元素的内容通过外部程序进行管道并读取输出。你可以选择使用输出替换原始元素,或只是将输出添加到页面中。
例如,你可以使用 KaTeX 以静态方式呈现公式,或使用任意你选择的工具进行语法高亮。
你还可以为特定文件扩展名设置预处理器。例如,在解析和处理前,你可以将.md
文件通过你选择的 Markdown 转为 HTML 转换器进行管道传输。
Soupault 可以通过 CSS3 选择器从页面中提取元数据,这类似于微格式和 Web 抓取库的风格。你可以创建自己的内容模型,并告诉 soupault 提取什么内容。
然后,你可以使用内置的 Jingoo 模板处理器(语法类似于 Jinja2)或外部脚本将网站索引呈现为 HTML。你还可以将网站索引导出到 JSON 以进行进一步处理。
soupault 开箱即用的一些功能
此配置片段会将 includes/menu.html
的内容插入包含该元素的所有页面中的 <div id="menu">
里,但 404.html
和 splash.html
除外
[widgets.navigation-menu]
widget = "include"
file = "includes/menu.html"
selector = "div#menu"
exclude_page = ["404.html", "splash.html"]
找到更多 静态网站生成器。