使用鹈鹕时,pelicanconf和publishconf有什么区别

2024-06-16 17:15:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pelicanquickstart创建了一个静态网站,它附带了一个默认的pelicanconf和publishconf。我在publishconf中有一个GOOGLE_ANALYTICS变量,但是当我在Github页面中发布静态页面时,使用以下代码片段:

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ GOOGLE_ANALYTICS }}']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') +   '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

,\u setAccount变为空字符串。在

我应该把谷歌分析从publishconf移到pelicanconf吗?他们之间有什么区别?在


Tags: textvartypegoogle静态script页面javascript
2条回答

您在publishconf.py中定义的内容覆盖pelicanconf.py中的相同定义。
但是注意publishconf.py只在两种情况下使用:

  1. 当您使用make publish(或其他make命令之一)生成站点时。在
  2. 当您显式地将它指定为要使用的配置文件时(即pelican -s publishconf.py content_dir)。在

因此,如果您使用pelican命令生成站点,并且没有显式地指定配置文件,那么将只使用pelicanconf.py;因此您将需要GOOGLE_ANALYTICS变量出现在那里。在

作为一开始分拆鹈鹕设置文件的人,我建议 考虑两种主要的操作模式:本地开发和生产部署(分别是pelicanconf.py和{})。在

不建议将GOOGLE_ANALYTICSpublishconf.py移动到{}。在本地开发时,Google分析和discus之类的设置在设计中被故意排除在pelicanconf.py之外。在本地测试中包含这些设置可能会产生负面影响:不准确的站点统计数据、虚假的评论线程以及其他意想不到的副作用。在

当你发布你的站点的时候,你当然希望这些设置被包括在内。方法是确保您的publishconf.py在发布时被引用:

pelican content -s publishconf.py

如果您使用的是“包装”pelican命令的Fabric或Make automation框架,则可以改为使用:

^{pr2}$

。。。或者。。。在

make publish

我建议您仔细看看您是如何发布站点的,确保在本地开发和生产部署期间分别使用了适当的设置文件。在

相关问题 更多 >