?️?用于(静态)单页画廊的 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 写入您指定的输出文件。请注意,您的自定义模板可以覆盖此逻辑:它可以写入不同的文件、多个文件或根本不写入任何内容。