我正在选择一个静态站点生成器,但还没有找到一个满足我特定用例的。这是我正在寻找的简化版本:
除了几页外,每一页看起来都是这样的:
<html>
<head>
<title><!-- Title differs based on page --></title>
</head>
<body>
<ul>
<!-- List entries here differ based on the page -->
</ul>
</body>
</html>
据我所知,在静态站点生成器中执行此操作的“标准”方法是为整个 HTML 创建一个模板文件,然后为每个特定页面创建一个页面文件(使用所述模板)。当除了显示的数据之外的每个页面都相同时,我觉得这不必要地弄乱了开发目录。
我想要的是完全由数据驱动。也就是说,我想根据上面的内容创建一个模板文件,然后创建一个数据文件,如下所示:
TemplateToUse = 'MyTemplateFile.html'
DataObjects =
[
{
OutputFilename = 'Page1.html',
PageData = {
Title = 'Page 1',
ListEntries = [ ... ]
}
},
{
OutputFilename = 'Page2.html',
PageData = {
Title = 'Page 2',
ListEntries = [ ... ]
}
},
]
静态站点生成器将使用它并输出每个页面,将数据传递给每个页面的模板。哪些静态站点生成器支持这种工作流程?
看起来 Jekyll 的生成器可以完成这项任务,但我对 1) 静态类型和 2) 需要较少自定义代码的东西更感兴趣。