如何使用 Liquid / Jekyll 从图像的文件名中提取日期?
How can I use Liquid / Jekyll to extract the date from an image's filename?
我知道 Jekyll 会自动从 post 的文件名中提取日期。
请问如何与图片的文件名相同?
让我们假设图像文件名的格式如下:
- 2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg
- 2020-12-10_B_the_rest_of_the_filename_of_the_image.jpg
- 2020-12-10_C_the_rest_of_the_filename_of_the_image.jpg
- 2021-01-04_A_the_rest_of_the_filename_of_the_image.jpg
- 2021-01-04_B_the_rest_of_the_filename_of_the_image.jpg
因此它只包括 YYYY-MM-DD 然后是一些进一步的 sorting/index 信息(例如 a, b, c, ...),然后图片文件名的其余部分。
主要目标是能够提取日期如下:
- 2020 年 12 月 10 日
- 2020 年 12 月 10 日
- 2020 年 12 月 10 日
- 2021 年 1 月 4 日
- 2021 年 1 月 4 日
要从文件名中获取日期部分,您可以使用 slice
or split
过滤器。
如果您使用 split
过滤器,您将需要使用 first
过滤器,以便获取创建数组的第一个元素。
要获得您想要的日期格式,您只需使用 date
过滤器即可。
- 与
slice
:
{{ "2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg" | slice: 0, 10 | date: "%d %b, %Y" }}
- 与
split
:
{{ "2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg" | split: "_" | first | date: "%d %b, %Y" }}
这两个结果:10 Dec, 2020
此外,您可能想阅读有关日期格式的 Ruby 文档,网址为:https://ruby-doc.org/stdlib-2.4.1/libdoc/time/rdoc/Time.html#method-c-strptime
我知道 Jekyll 会自动从 post 的文件名中提取日期。
请问如何与图片的文件名相同?
让我们假设图像文件名的格式如下:
- 2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg
- 2020-12-10_B_the_rest_of_the_filename_of_the_image.jpg
- 2020-12-10_C_the_rest_of_the_filename_of_the_image.jpg
- 2021-01-04_A_the_rest_of_the_filename_of_the_image.jpg
- 2021-01-04_B_the_rest_of_the_filename_of_the_image.jpg
因此它只包括 YYYY-MM-DD 然后是一些进一步的 sorting/index 信息(例如 a, b, c, ...),然后图片文件名的其余部分。
主要目标是能够提取日期如下:
- 2020 年 12 月 10 日
- 2020 年 12 月 10 日
- 2020 年 12 月 10 日
- 2021 年 1 月 4 日
- 2021 年 1 月 4 日
要从文件名中获取日期部分,您可以使用 slice
or split
过滤器。
如果您使用 split
过滤器,您将需要使用 first
过滤器,以便获取创建数组的第一个元素。
要获得您想要的日期格式,您只需使用 date
过滤器即可。
- 与
slice
:{{ "2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg" | slice: 0, 10 | date: "%d %b, %Y" }}
- 与
split
:{{ "2020-12-10_A_the_rest_of_the_filename_of_the_image.jpg" | split: "_" | first | date: "%d %b, %Y" }}
这两个结果:10 Dec, 2020
此外,您可能想阅读有关日期格式的 Ruby 文档,网址为:https://ruby-doc.org/stdlib-2.4.1/libdoc/time/rdoc/Time.html#method-c-strptime