我有一个Jekyll网站,其中包含一些帖子和根目录中的一些页面。
如果我导航到根目录中的某个页面,例如localhost:4000 / index.html,则_includes目录中的所有文件都不会出现问题:
{% include head.html %}
如果我然后使用config.yml中定义的永久链接格式转到帖子:
permalink: /:categories/:title
localhost:4000/blogpost/first-post
未加载包含文件。在Firebug中查看标题中的CSS文件,它会显示一个错误,即找不到该文件并在目录中查找:
/blogpost/first-post/css/boostrap.min.css
如果我在YAML中将该帖子永久保留为:
permalink: /first-post.html
一切正常。
在使用固定链接进行导航时,如何设置包含以在我的网页中找到正确的文件?
答案 0 :(得分:1)
Includes
和assets
是两回事。
Includes
是通常存储在_includes
中的部分内容。如果include anyfile.html
在index.html中有效,则可以在任何其他页面或帖子中使用。
assets
就像js,css或图像是由路径后的html加载的。使用相对于站点根目录的路径更好。这就是杰基尔称之为资产的原因:
<link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
因此,如果您的网站位于http://localhost/any/path
,那么您的_config.yml
将如下所示:
url: http://localhost
baseurl: /any/path
然后,没有资产问题了!