Jekyll:/文件夹中的所有HTML文件,现在强制通过/ folder / page /进行渲染。如何改变?

时间:2014-12-02 22:27:03

标签: html ruby localhost yaml jekyll

所以我试着看这里:

http://jekyllrb.com/docs/permalinks/

在这里:

Show pages under one folder in Jekyll?

但这似乎无法解决我的问题。

情况就是这样:


最初,我把所有的Jekyll * .html文件都放在我运行Jekyll的/ root文件夹中,这有点乱,因为有超过30个* .html文件,但是当我这样做时:< / p>

jekyll build

jekyll serve

我会将网站宣传到:http://0.0.0.0:4000/

我现在将所有* .html文件移动到名为/ html的文件夹(在项目根目录中)。运行时:

jekyll build

jekyll serve

我的网站不再呈现:http://0.0.0.0:4000/

但它呈现在:http://0.0.0.0:4000/html/


我想删除网址的/ html部分,但正如上面的2个链接所示,之前没有与之相关的问题。

有人可以建议我如何从我的网址中删除/ html部分吗?

2 个答案:

答案 0 :(得分:2)

好的,首先你的文件夹结构看起来像这样,对吗?

/_layouts/default.html
/css/whatever.css
/index.html

现在问你的问题:

是否要将HTML文件而不是其他移至html子文件夹?
换句话说,你想这样做吗?

/_layouts/default.html
/css/whatever.css
/html/index.html

如果是,请阅读David Jaqcuel's answer 如果没有,继续阅读我的答案: - )


或者只是您不希望所有源文件都混乱根文件夹?

如果是,您可以将所有内容移到html子文件夹中,如下所示:

/html/_layouts/default.html
/html/css/whatever.css
/html/index.html

然后你需要告诉Jekyll html文件夹是网站源文件的根文件夹。

为此,您需要将以下行添加到the config file (如果文件尚不存在,则创建该文件)

source: html

重要提示:配置文件需要位于项目的根文件夹中,即使您将源文件移动到子文件夹中也是如此!!

然后所有源文件都在html子文件夹中,但生成的网站将如下所示:

/_layouts/default.html
/css/whatever.css
/index.html

换句话说,网址仍为http://0.0.0.0:4000/

如果您想查看示例,可以查看the source code of my blog
我在那里做的完全相同,只是带有源文件的文件夹被称为src

答案 1 :(得分:1)

默认情况下,对于/html中的网页,Jekyll会生成类似/html/page.html的网页,依此类推。

我认为您无法为文件夹添加固定链接front matter default,您必须为/html中放置的每个页面设置永久链接。

例如:对于html/page.hmtl,您必须设置:

---
permalink: page.html
---

这是没有插件的方式。否则,您可以使用Generator plugin来执行此操作,该{{3}}会占用/html中的所有网页,并更改所有目标固定链接。