Jekyll 破坏了 github 页中的帖子链接

Jekyll broken posts links in github-pages

我正在构建我的 jekyll 页面,我刚刚上传到 gh-pages。当我点击 post 链接时,出现 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

我想要实现的是能够在我的 url

中拥有这样的东西
bousis.github.io/blog/welcome-to-jekyll to link to my post

要是能得到就完美了

bousis.github.io/     

作为索引

bousis.github.io/welcome-to-jekyll 我的 post

谢谢,

创建一个 bousis.github.io 存储库并在 master 分支中推送你的 jekyll 源代码。

你是 _config.yml 那么 :

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

除了 David Jacquel 的正确答案之外,如果您想实现以前的 bousis.github.io/blog/welcome-to-jekyll 样式链接,您几乎是正确的,您只需要设置 baseurl blog,而不是整个地址。虽然您的 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 的存储库 [=17] =] branch.(或者如果你已经有一个版本库,只需创建一个gh-pages分支),GitHub会给你一个url,格式为username.github.io/name-of-repo

然后最后继续将您的 Jekyll 站点推送到该存储库中的那个分支。

注意:pretty 永久链接也会显示 post 和日期,如果您愿意的话。

可以在 this blog post titled : Clearing up Confusion around Baseurl - Again. And this write up on how to handle permalinks in Jekyll.

上找到有关使用 baseurl 的很好参考

建议为非 post 页面设置您自己的永久链接,例如如果您有一个 about 页面,请确保将永久链接明确设置为 /about如果您有一个名为 aboutpost,请避免任何可能的冲突。如果您记下它,这不应该发生,但如果您以某种方式创建一个名为 about.

的 post,将来可能会省去您的麻烦。