Мой сайт, основанный на Jekyll, внезапно остановился, включая блок Google Analytics script. Вчера он работал (блок script был на всех страницах), но сегодня, после того как я загрузил новое сообщение, блок script был равномерно удален со всех страниц.
Я размещаю свой сайт на страницах GitHub, поэтому для устранения неполадок я хотел воспроизвести проблему на своей локальной машине. Оказалось, что я запускал старые версии Ruby и Jekyll на своей локальной машине, поэтому я обновил Ruby и установил GitHub Pages Gem, чтобы обеспечить, чтобы моя локальная среда согласованные страницы GitHub:
gem install github-pages
Это позволило мне воспроизвести проблему. Теперь, даже когда я бежал
jekyll serve --safe
блок Analytics script не был включен ни на одну страницу.
После значительного устранения неполадок я, наконец, понял, что если я помещу символ небелого пробела в файл JB/analytics, между аргументом google и директивой include, он работал.
Таким образом, работает, в том смысле, что когда переключатель --safe
включен, блок script в JB/analytics-providers/google
включен:
{% case site.JB.analytics.provider %}
{% when "google" %}.
{% include JB/analytics-providers/google %}
(обратите внимание на символ периода после {% when "google" %}
).
Однако это не работает - даже с помощью переключателя --safe
содержимое include JB/analytics-providers/google
никогда не включается:
{% case site.JB.analytics.provider %}
{% when "google" %}
{% include JB/analytics-providers/google %}
В то время как у меня есть обходной путь, я очень благодарен за объяснение этого поведения.