Генератор статических сайтов с поддержкой данных?
Я выбираю генератор статических сайтов и пока не могу найти тот, который подходит для моего конкретного случая использования. Вот упрощенная версия того, что я ищу:
За исключением нескольких страниц, каждая страница выглядит примерно так:
<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) требует меньше настраиваемого кода.
1 ответ
Хотя я не нашел столь же мощного варианта со статической типизацией, похоже, что функциональность Jekyll's Collections - это именно то, что вы ищете. Вы создаете файл для каждого "DataObject", упомянутого в вопросе, и Jekyll просматривает их и генерирует страницы.