lbo*_*gav 8 python github-pages pelican
我使用了pelican-quickstart来创建一个静态网站,它带有一个默认的pelicanconf和publishconf.我在publishconf中有一个GOOGLE_ANALYTICS变量,但是当我在Github Pages中发布我的静态页面时,使用这个片段:
<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>
Run Code Online (Sandbox Code Playgroud)
,_ setAccount变为空字符串.
我应该将GOOGLE_ANALYTICS从publishconf移到pelicanconf吗?他们之间有什么区别?
Jus*_*yer 17
至于谁在首位岔鹈鹕设置文件的人,我建议的操作的两种主要模式的思考:(即地方发展和生产部署pelicanconf.py和publishconf.py分别).
移动GOOGLE_ANALYTICS从publishconf.py到pelicanconf.py不推荐.在本地开发时,Google Analytics和Disqus等设置被故意排除在pelicanconf.py设计之外.在本地测试中包括这些设置可能会产生不利影响:不准确的站点统计信息,虚假评论线程和其他意外的副作用.
当您需要发布您的网站时,您当然希望包含这些设置.这样做的方法是确保publishconf.py在发布时引用您的引用:
pelican content -s publishconf.py
Run Code Online (Sandbox Code Playgroud)
如果您正在使用"包装" pelican命令的Fabric或Make自动化框架,则可以使用:
fab publish
Run Code Online (Sandbox Code Playgroud)
... 要么 ...
make publish
Run Code Online (Sandbox Code Playgroud)
我建议您仔细了解如何发布站点,确保分别在本地开发和生产部署期间使用相应的设置文件.