私の Jekyll ベースの Web サイトが突然、Google Analytics スクリプト ブロックを含めなくなりました。昨日は機能していました (スクリプト ブロックはすべてのページにありました) が、今日、新しい投稿をアップロードした後、スクリプト ブロックはすべてのページから一様に消えていました。
私は自分のサイトを GitHub ページでホストしているので、トラブルシューティングを行うために、ローカル マシンで問題を再現したいと考えていました。ローカル マシンで古いバージョンの Ruby と Jekyll を実行していたことが判明したため、Ruby を更新し、GitHub Pages Gemをインストールして、ローカル環境が GitHub ページと一致するようにしました。
gem install github-pages
これにより、問題を再現できました。今、走った時も
jekyll serve --safe
Analytics スクリプト ブロックがどのページにも含まれていませんでした。
トラブルシューティングを重ねた結果、JB/analytics ファイルのgoogle case と include ディレクティブの間に何らかの種類の空白以外の文字を入れると、うまくいくことがわかりました。
したがって、スイッチがオンのときにスクリプト ブロックが含まれるという意味で、これは機能します。--safe
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 %}
回避策はありますが、この動作の説明をいただければ幸いです。