8

我最近升级到 jekyll 1.0,因此帖子链接现在有一个前导“/”。

将相对永久链接设置为 true 或 false 似乎根本不会改变 {{post.url}} 的生成,它们似乎总是带有一个前导斜杠。

我知道我可以使用 base_url,但我将完成的项目传递给一个组织,该组织最终在任何地方托管它(我不知道 URL)。

我曾经工作的配置文件很简单:

permalink: articles/:title

任何帮助都会很棒!

4

2 回答 2

11

我在 Jekyll 1.0.3 安装中看到了同样的情况。似乎是一个错误。无论哪种方式,解决方法是使用液体过滤器删除第一个斜线。

{{ post.url | remove_first:'/'}}

使用以下分页布局:

{% for post in paginator.posts %}
  <div class="postWrapper">
    <h2><a href="{{ post.url | remove_first:'/'}}">{{ post.title }}</a></h2>  
    <div class="postDate">{{ post.date | date:"%B %d, %Y" }}</div>
    <div class="postContent">{{ post.content }}</div>
  </div>
{% endfor %}

和你相同的_config.yml设置:

permalink: article/:title

生成的链接没有前导斜杠(例如<a href="article/the-title">The Title</a>)。

请注意,如果它是一个错误并且得到修复,您将不得不调整您的代码以删除“remove_first”过滤器。否则,它会去掉链接中间的斜线并以这种方式破坏它。

于 2013-08-25T14:39:04.147 回答
2

我们注意到了同样的事情,我追踪到添加 baseUrl 暴露在液体模板中。在 0.12.1 中,baseUrl 在 _config.yml 中不可配置,默认为 ''。

在 1.0.0 中,您可以在配置中设置它,它默认为“/”,这就是您看到这个的原因。我不认为这是一个错误,因为它仍然存在于当前(1.4.3)版本中。

于 2014-02-06T16:30:34.843 回答