Jekyll无延伸的永久链接与降价

时间:2016-01-19 14:43:09

标签: jekyll

来自Jekyll docs它说(使用.md格式):

  

使用permalink前端事件变量也可以实现干净的URL。在上面的示例中,使用第一种方法,您可以通过在文件顶部设置此文件http://example.com/other来获取文件other.md的网址permalink: /other--- layout: page title: Contact permalink: /contact ---

以下是我的页面前端示例:

jekyll serve

当我使用build时,一切正常,但当我. |-- css/ |-- index.html # => http://example.com/ └── contact.md # => http://example.com/contact.html 并上传到我的静态主机时,它不起作用。文件结构Jekyll输出对于它从文档声明的功能没有意义。

http://example.com/contact

我希望能够转到contact.md并让它显示index.html。我知道我可以通过手动将我的文件放在文件夹中(然后将它们全部重命名为/)来实现类似的功能,就像在文档here中所说的那样,但我不想要通过额外的步骤我不喜欢尾随http://example.com/other/例如Jekyll 3.0.1

我正在使用{% set queCount = loop.index %} {% for row2 in answer+queCount %}

我发现了这些问题,但他们没有解决我面临的问题。

How to link to a page with page.url without the html extension in Jekyll?

How to make all posts have a permalink with custom format "domain.com/blog/title"?

Can Jekyll omit index.html from folder URLs?

2 个答案:

答案 0 :(得分:1)

我认为您正确地执行了此操作,只需要正确配置您的网络服务器(假设它支持删除扩展程序)。它在本地正常工作,因为内置的jekyll webserver默认情况下可以这样做。这里的文档有关于此的信息:

http://jekyllrb.com/docs/permalinks/#extensionless-permalinks

在AWS S3上,它表示您可以通过上传完全没有扩展名的文件来托管无扩展名网址,然后将内容类型设置为text / html。我不认为有可能让jekyll输出contact.html只是contact而没有扩展名。所以你得到web服务器删除扩展,如果它支持(在s3我使用尾随/)。

这也有一些有趣的信息: https://github.com/jekyll/jekyll/issues/3345

答案 1 :(得分:1)

我也在我的jekyll博客中使用了干净的固定链接。

这是我的前线:

---
layout: directory
title: About
permalink: about/
---

有什么不同吗? ,它在URL的末尾是斜杠。我知道,您不希望在URL的末尾看到任何尾随斜杠,但为此您需要use nginx因为Jekyll生成所有帖子/页面,如/folder/index.html。