#date #jekyll #filenames
#Дата #jekyll #имена файлов
Вопрос:
Я понимаю, что Jekyll автоматически извлекает дату из имени файла сообщения.
Как сделать то же самое с именем файла изображения, пожалуйста?
Давайте предположим, что имена файлов изображений имеют следующий формат:
- 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
Таким образом, он включает только ГГГГ-ММ-ДД, а затем некоторую дополнительную информацию о сортировке / индексации (например, a, b, c, …), а затем остальную часть имени файла изображения.
Основная цель — иметь возможность извлекать дату следующим образом:
- 10 декабря 2020 г.
- 10 декабря 2020 г.
- 10 декабря 2020 г.
- 04 Января 2021 г.
- 04 Января 2021 г.
Ответ №1:
Чтобы извлечь часть даты из имени вашего файла, вы можете использовать slice
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