Entu SSG 是一個簡單的 Pug、Markdown、Yaml 靜態網站產生器,支援多語系。
./build.js ./my-page/entu-ssg-config.yaml
網站建構過程可透過 Yaml 檔案設定,其路徑必須是 entu-ssg.js 的第一個參數。必要的參數為:
locales:
- en
- et
source: ./source
build: ./build
assets: ./assets
protectedFromCleanup:
- assets
- index.html
server:
port: 4000
assets: /assets/
dev:
aliases: true
paths:
- test/page1
- test/page2
頁面內容從 index.pug 檔案產生。所有其他檔案都會被忽略,但您可以使用這些檔案來使用 Pug 的 include/extends 功能。您可以將語系識別碼放入檔案名稱中 (例如 index.en.pug) 以產生特定語系的內容。
若要將資料傳遞至 index.pug,請使用 data.yaml 檔案。此資料會以名為 self 的物件傳遞至 index.pug (若要從 data.yaml 取得屬性 text,請在 index.pug 中使用 self.text)。
您可以將語系識別碼放入檔案名稱中 (例如 data.en.yaml) 以產生特定語系的內容。
某些頁面參數會變更 HTML 的產生方式。這些參數如下:
path: /testpage1
aliases:
- /test
- /test123
data:
news: ./datafiles/news.yaml
someOtherData:
- A
- B
若要產生頁面 CSS,請使用 .styl 檔案。 全域 style.css 是從所有 .styl 檔案 (來自原始碼資料夾) 合併而來,並儲存到建構的根資料夾 (例如 /style.css)。
若要產生頁面 JS,請使用 .js 檔案。 全域 script.js 是從所有 .js 檔案 (來自原始碼資料夾) 合併而來,並儲存到建構的根資料夾 (例如 /script.js)。
- source
|- _templates
| |- layout.pug
| |- mixins.pug
| +- somescripts.js
|
|- testpage1
| |- data.en.yaml
| |- data.et.yaml
| |- index.pug
| +- style.et.styl
|
|- testpage2
| |- index.en.pug
| |- index.et.pug
| |- data.yaml
| +- testpage2en
| |- index.en.pug
| +- data.en.yaml
|
|- index.pug
+- style.styl
- build
|- en
| |- index.html
| |- testpage1
| | +- index.html
| |
| +- testpage2
| |- index.html
| +- testpage2en
| +- index.html
|
|- et
| |- index.html
| |- testpage1
| | +- index.html
| |
| +- testpage2
| +- index.html
|- script.js
|- script.js.map
|- style.css
+- style.css.map
尋找更多靜態網站產生器。