Closed lijiakaijun closed 2 years ago
把这一行用单引号引用起来试一试呢,这个是 yaml 解析器报的错误,也就是设置成这样:
site_analytics: '<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "f7e91cb847eb445c9d6804fae5889cb6"}'></script><!-- End Cloudflare Web Analytics -->'
把这一行用单引号引用起来试一试呢,这个是 yaml 解析器报的错误,也就是设置成这样:
(这样,删掉中间冒号后面的空格
site_analytics: <!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token":"f7e91cb847eb445c9d6804fae5889cb6"}'></script><!-- End Cloudflare Web Analytics -->
把这一行用单引号引用起来试一试呢,这个是 yaml 解析器报的错误,也就是设置成这样:
(这样,删掉中间冒号后面的空格
site_analytics: <!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token":"f7e91cb847eb445c9d6804fae5889cb6"}'></script><!-- End Cloudflare Web Analytics -->
已改,也正常生成
🎉
这个并不是主题的问题,而是 YAML 的语法规范,因为使用 :
分隔键名和键值,所以当键值里出现同样的 :
分隔符时就会出现错误,花括号在 YAML 里也是特殊符号,所以触发了无法解析的问题;
对于字符串类型,使用单引号或是双引号包括起来一般能正确解析,但由于这行代码里已经包含了单双引号,所以目前可能只有删去字符串中冒号后的空格作为比较有效的解决方案。
对Bug的描述: 在主题配置中的site_analytics填入CloudFlare Analytics的统计代码后生成报错
复现Bug的方法: 在CloudFlare中的”数据分析“选项卡找到Web Analytics后添加一个站点并获取统计代码(域名没通过cf代理的就行(恼 在主题配置中的site_analytics填入获取到的的统计代码 保存,hexo g,报错 end
期望的行为: 正常生成文件
相关的截图:![image](https://user-images.githubusercontent.com/55282876/154805859-6407fcc2-0d9d-457b-8b7a-cc6d68262041.png)
运行环境(如果该Bug的产生和环境有关,例如浏览器不兼容导致):
您的配置文件:
补充内容: 当时在翻阅cf的文档时找到了另外一种写法
按照这个写法重新填写后可以正常生成,模拟下访问发现也可以正常统计
10号发现的问题,现在才提issues,问就是忘记了,咕咕咕应该算是个bug吧😂,毕竟能导致生成错误,但解决方法又非常简单(雾)