我应该将我的静态文件放在哪个文件夹中?

Which folder should I put my static files in Jekyll?

当我在看文档的时候。我看到了下面的文档结构,

.
├── _config.yml
├── _drafts
|   ├── begin-with-the-crazy-ideas.textile
|   └── on-simplicity-in-technology.markdown
├── _includes
|   ├── footer.html
|   └── header.html
├── _layouts
|   ├── default.html
|   └── post.html
├── _posts
|   ├── 2007-10-29-why-every-programmer-should-play-nethack.textile
|   └── 2009-04-26-barcamp-boston-4-roundup.textile
├── _data
|   └── members.yml
├── _site
├── .jekyll-metadata
└── index.html

当我需要在 post 中包含图像时。我应该把图像放在哪里才能使用 here 提到的 site.static_files 的功能(文档中的静态文件部分)?这样我就可以直接使用 file.pathfile.modified_time 等变量。

以前,当我使用 Jekyll 2.x 时,我会通过创建自己的资产目录来执行类似下面的操作。

<link rel="stylesheet" href="{{ "/assets/css/index.css" | prepend: site.url }}">

静态文件可以放在站点目录中的任何位置,它不是某种集合。所以不在以“_”开头的目录中。使它成为静态的是它没有 YAML frontmatter。

我建议创建一个名为 "assets" 或 "images" 的目录并将它们放在那里。

编辑:

您尝试将此功能用于什么目的?

假设您的画廊图片结构如下

-img
  -gallery
    -image1.png
    -image2.png
    etc.

您可以像这样在集合或页面中访问它们:

{% for image in site.static_files %}
{% if image.path contains 'img/gallery' %}
    <p>{{image.path}} - {{image.modified_time}}</p>
    <img src="{{site.baseurl}}{{image.path}}">
{% endif %}
{% endfor %}

这将遍历所有静态文件并检查特定路径(本例中为 img/gallery)。

然后您可以访问该文件的静态文件元数据。 (我在此示例中将其命名为 'image',但您可以在 for 关键字后随意命名)。

我认为将这样的内容放在博客 post 中没有太大意义,而是放在 pagecollection.