?用於(靜態)單頁畫廊的 Node.js 產生器。預設模板是響應式的,並且支援延遲載入。可作為 CommonJS 模組和命令列工具。
僅使用von
指令建立單頁圖庫:
安裝 Node.js,它將自動安裝 NPM。然後,全域安裝 Von:
npm install -g von-gallery
現在進入電腦上包含一些圖像的任何資料夾,打開終端機窗口,然後運行:
von -r
其中-r
代表“遞歸”。這將建立一個index.html
文件,其中包含該資料夾中所有圖像的圖庫。預設情況下,Von 使用目錄或前綴(例如prefix-my_image.jpg
)對影像進行分組,但您可以調整此行為。
Von 的目的是非常容易使用。大多數時候, von
命令就可以滿足您的需求。您也可以指定一些額外的選項 - 這可以透過將命令列參數傳遞給von
來完成,例如:
von -o ./build/output.html -tp ./custom-template.pug --recursive
或者,您可以建立一個名為vonrc.js
的設定檔。此配置允許您執行命令列參數可以執行的任何操作,以及一些額外的操作。也就是說,您可以使用配置來定義群組和自訂分組/排序功能。定義配置後,只需在同一目錄中執行von
即可。查看此範例配置以取得更多資訊。
如果您想進一步自動化流程,您可以將von-gallery
新增為 NPM 專案的依賴項,並將其用作 CommonJS 模組,例如:
const Von = require ( 'von-gallery' ) ;
// Specify options for Von
let options = {
directory : './path/to/images/' ,
output : './build/my-gallery.html' ,
template : 'mini' ,
groupOrder : 'desc' ,
} ;
// Only generate a schema, without actually creating any new files:
let schema = Von . generateSchema ( options ) ;
console . log ( schema ) ;
// Build a single page gallery and store in the specified `output` file:
Von . run ( options ) ;
事實上,命令列工具只是該模組的包裝器,因此兩者都提供相同的功能。
請記住,Von 是一個單頁圖庫產生器 - 如果您想開發一些複雜的東西,您應該使用適當的靜態網站產生器。
Von 使用 4 個組件:
mini
作為預設模板,但您也可以定義自訂模板。Von 執行的邏輯可以分為兩個不同的步驟:模式產生和模板編譯。
在此階段不會建立新文件。首先,Von 掃描工作目錄中的影像。發現所有圖像後,將使用您指定的選項對它們進行分組和排序。然後,所述群組、圖像和選項用於產生描述您的圖庫的模式物件。
這個新模式是一個獨立的資料。事實上,您甚至不必繼續下一步 - 您可以簡單地使用von -s
命令或Von.generateSchema({...})
函數匯出架構。前者可能對調試vonrc.js
有用。
在此階段,Von 會取得生成的架構並使用它來建立您選擇的範本。目前,唯一的內建模板是mini
,但您可以指定自己的模板。
對 Pug 模板有內建支持,因此您只需使用von -tp ./path/to/template.pug
將 Von 指向 Pug 檔案即可。如果您使用 Pug, schema
物件將在您的 Pug 程式碼中可用。例如,您可以使用schema.title
和schema.description
分別存取圖庫的標題和描述。
如果您想使用其他模板引擎,您可以定義my-template.von.js
,其中my-template
是模板的名稱。然後,您可以透過指定適當的命令列參數來告訴 Von 使用它:
von -tp ./path/to/my-template.von.js
Von 將初始化您的範本並呼叫.compile()
方法,讓您處理其餘的邏輯。有關實作範例,請參閱 mini.von.js。
最後,內建 Von 範本會將 HTML 寫入您指定的輸出檔案。請注意,您的自訂範本可以覆蓋此邏輯:它可以寫入不同的文件、多個文件或完全不寫入任何內容。