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