Soupault 是一個自動化的 HTML編輯器,而不僅僅是一個產生器。它可以將 HTML 解析為元素樹,操縱它並保存到檔案。就像 DOM 操作,但沒有瀏覽器。
您可以將它用作網站產生器,並將不同的內容插入到「範本」——一個空白頁面。然而,它也可以作為手寫網站或另一個 HTML 產生器輸出的後處理器。
Soupault 是一個單一的靜態二進制檔,沒有任何依賴項。預編譯的二進制檔適用於 Linux、Windows 和 macOS。
然而,它有一個內建的 Lua 直譯器,並提供一個類似於 JavaScript DOM API 的元素樹 API。外掛可以存取頁面元素樹和從頁面提取的中繼資料,因此您可以靜態地完成所有可以使用 JavaScript 完成的操作,甚至更多。
Soupault 可以透過外部程式管道傳輸 HTML 元素的內容,並讀取輸出。您可以選擇使用該輸出替換原始元素,或只是將輸出新增到頁面。
例如,您可以使用 KaTeX 靜態渲染方程式,或使用您選擇的任何工具進行語法突顯。
您還可以為特定的檔案副檔名設定預處理器。例如,在解析和處理之前,透過您選擇的 Markdown 到 HTML 轉換器管道傳輸 .md
檔案。
Soupault 可以使用 CSS3 選擇器從頁面提取中繼資料,這符合微格式和網頁抓取程式庫的精神。您可以建立自己的內容模型,並告訴 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"]
尋找更多靜態網站產生器。