来自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"?
答案 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。 强>