如何定制Jekyll的url?
我想用Jekyll创build一个网站。 不是博客。 有没有办法避免在URL中和页面的文件名中指定创builddate?
我认为,Jekyll背后的想法是非常出色的,但是它似乎与博客生成内容紧密相关,而且在一个更普遍的用例中也可能是有用的。
在_config文件中,您可以将固定链接更改为您喜欢的任何内容,例如我的
permalink: /blog/:title
至于date,你可以select自己的date使用YAML前端的问题,再次在我的我
title: example date: you can pick what ever date you want
如果您不生成博客页面,则可以在目录结构中创build文件以映射到某些URL。 在本地主机上运行,如果你的目录有结构
- _layouts/ - config.yml - index.html - some_other_page.html - some_directory/ - index.html - some_sub_page.html
在jekyll处理完文件后,您将在以下位置获得内容:
-
0.0.0.0:4000
) -
0.0.0.0:4000/some_other_page.html
) -
0.0.0.0:4000/some_directory
/ index.html) -
0.0.0.0:4000/some_directory/some_sub_page.html
/ some_sub_page.html)
你也可以在每个post上使用permalink属性来手动设置一个属性,或者在config.yml中设置一个不同的默认值。Permalinks只有一小部分variables可以使用,需要在你想放入的每个文件中定义非标准的位置。
这个目录结构也会自动分类你的post。 所以你可以有:
- some_category (defined in the yaml front matter or the _config.yml - index.html - _posts/ - some_post.md - some_other_post.md
post将自动具有“某个类别”类别,index.html将显示在0.0.0.0:4000/some-category
,默认的永久链接格式。 类别variables可用于:category
永久链接格式string中的:category
。
我遇到了这个老问题,同时寻找一种方法来组织一个_pages
目录中的_posts
页面 ,类似于_posts
。 然后访问此页面,而不显示在URL中的整个path。
对我更好的方法是使用jekyll集合如下:
1 – 在_config.yml
添加一个页面集合:
collections: pages: output: true permalink: /:path/
2 – 创build一个名为_pages
的新目录(它应该有相同的集合名称,前缀为_
)
3 – 将_pages
文件夹中的页面添加为以YAML Front Matter开头的.md或.html文件。
例如。 /_pages/about.md
将如下所示:
--- layout: page --- <!-- about page content -->
在build立之后,关于页面的URL将是<your-web-site>/about
。
或者,要显示集合名称,您必须将其永久链接定义为:
permalink: /:collection/:path/
什么文档说:
您在_config.yml文件中configuration永久链接,如下所示:
permalink: /:categories/:year/:month/:day/:title.html
如果你没有指定任何永久链接设置,Jekyll将使用上面的模式作为默认设置。 永久链接也可以使用内置的永久链接样式进行设置:
permalink: date
尽pipe您可以使用模板variables指定自定义永久链接模式,但为了方便起见,Jekyll还提供了以下内置样式。
- date = /:categories/:year/:month/:day/:title.html
- pretty = /:categories /:year /:month /:day /:title /
- ordinal = /:categories/:year/:y_day/:title.html
- none = /:categories/:title.html
来源: https : //jekyllrb.com/docs/permalinks/
我如何使用它:
permalink: /blog/:title/
这将页面设置为漂亮的固定链接样式。 因此'/contact.md'将变成'/ contact /'。