我尝试将facebook共享链接添加到jekyll引导程序页面,但是当添加FB将在我使用的{{ HOME_PATH }}
共享中使用的href时。这结果是/的相对路径(但是FB不理解)。有没有人知道如何获得绝对路径而不必硬编码?
提供/
的代码<a name="fb_share" type="button"
share_url="{{ HOME_PATH }}">Share this event on Facebook</a>
答案 0 :(得分:6)
不幸的是,不是通过杰基尔。 Jekyll是一个静态站点生成器,当它运行时,它生成整个站点为HTML / CSS / etc页面,没有服务器端动态内容。
然而,有一些解决方案:硬编码网址,但只在一个地方,所以很容易改变;或者,使用javascript将其设置为客户端。
添加一行
host: example.com
到_config.yml
,然后像
<a name="fb_share" type="button"
share_url="http://{{ site.host }}/blah">Share this event on Facebook</a>
如果您正在使用jQuery,请将其放在启动脚本中(显然您可以在没有jQuery的情况下执行此操作,但这说明了该技术):
$('[name=fb_share]').each(function() {
var $this = $(this);
$this.attr('share_url',
$this.attr('share_url').replace('HOME_PATH',
document.location.host));
}
并拥有类似
的页面<a name="fb_share" type="button"
share_url="http://HOME_PATH/blah">Share this event on Facebook</a>
(JS解决方案可能需要一些技巧(如延迟加载Facebook JS),具体取决于Facebook提供的脚本何时/如何运行。)