Jekyll在github-pages中破坏了帖子链接

时间:2015-08-04 01:41:39

标签: url jekyll github-pages

我正在构建我的jekyll页面,我刚刚上传到gh-pages。当我点击我的帖子链接时,我得到404错误,这是我的设置。

_config.yml

baseurl: ""
url: "bousis.github.io/blog"
permalink: /blog/:title

这是索引中的代码

<ul class="posts">
    {% for post in site.posts %}
    <li> 
     <a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
    <span class="right date">{{ post.date | date_to_string }}</span>
    </li>
    {% endfor %}
</ul>

我有baseurl: "",因为这是我的css加载的唯一方法。从头部删除前导/

  <link rel="stylesheet" href="{{ "css/main.css" | prepend: site.baseurl }}">

这是我的文件夹树 [文件夹树] 1

我想要实现的目标是能够在我的网址中找到类似的内容

bousis.github.io/blog/welcome-to-jekyll to link to my post

或者如果我能得到它将是完美的

bousis.github.io/     

作为索引

我的帖子

bousis.github.io/welcome-to-jekyll

谢谢,

2 个答案:

答案 0 :(得分:3)

创建一个Book.all.select { |b| b.states.last.name == "public" } 存储库,并在bousis.github.io分支中推送jekyll源。

你是_config.yml然后是:

master

答案 1 :(得分:2)

除了David Jacquel的正确答案之外,如果您想要实现之前的bousis.github.io/blog/welcome-to-jekyll样式链接,那么您几乎是正确的,您只需要设置baseurlblog ,而不是整个地址。虽然您的url的值为bousis.github.io

所以你会有这些价值观:

baseurl: blog/
url: "bousis.github.io"
permalink: /:title     #this actually works now, it didn't for me last time, not sure why

在此之后,您需要关注项目网站的GitHub页面上的tutorial,在那里创建一个名为blog的存储库,其中包含gh-pages分支。 (或者如果你已经有了一个存储库,只需要创建一个gh-pages分支),GitHub会给你一个格式为username.github.io/name-of-repo的网址

然后最后继续将你的Jekyll网站推送到该回购中的那个分支。

注意:pretty永久链接会显示包含日期的帖子,如果您愿意的话。

关于使用baseurl的一个很好的参考资料可以在this blog post上找到:清除Baseurl周围的混乱 - 再次。这写在how to handle permalinks in Jekyll上。

建议您为非帖子页面设置自己的固定链接,例如,如果您有about页面,请务必明确将固定链接设置为/about,以避免任何可能的冲突有一个名为post的{​​{1}}。如果你记下它就不会发生这种情况,但如果你以某种方式创建一个标题为about的帖子,将来可能会让你头疼。