Jekyll объединяет значения полезной нагрузки в хуке - PullRequest
0 голосов
/ 07 апреля 2020

Я очень новичок в 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

Я смотрю на это с правильной точки зрения или мне следует заняться этим совершенно по-другому? Спасибо.

...