Я очень новичок в Jekyll и хотел проверить здесь, прежде чем сообщать об ошибке, потому что существует высокая вероятность, что я делаю что-то не так.
То, чего я хочу достичь, - это уметь вытащить определенные ключи со страницы, макета и сайта и объединить их по умолчанию. Таким образом, я могу переопределить настройки на уровне страницы, но у меня есть настройки, определенные c для макета. Я пытаюсь добиться этого через крючок. Кажется, все идет хорошо, единственная проблема в том, что значение полезной нагрузки ["layout"] не является правильным. В полезной нагрузке ["page"] ["layout"] он ссылается на правильный макет, но значения в полезной нагрузке ["layout"] не совпадают. Это из-за того, что информация макета еще не визуализирована? Если да, то как лучше всего получить эти данные?
SETTINGS = {}
Jekyll::Hooks.register :pages, :pre_render do |page, payload|
settings = Hash.new
for key in SETTINGS.keys do
settings[key] = Jekyll::Utils.deep_merge_hashes(SETTINGS[key], payload["layout"][key] || {})
settings[key] = Jekyll::Utils.deep_merge_hashes(settings[key], page[key] || {})
end
payload["settings"] = settings
end
Я смотрю на это с правильной точки зрения или мне следует заняться этим совершенно по-другому? Спасибо.