Я думаю, что обычно имя добавляется в атрибут alt. Когда я загружаю файл, имя обычно добавляется перед размером в markdown, и именно эта часть используется в “alt”.
Таким образом, hide-this-image-vacations-2025.jpg превратится в 
Поскольку я не эксперт в CSS, я спросил ChatGPT о вашем варианте и получил этот ответ, так как хочу скрыть изображения, начинающиеся с hide-this-image-, но затем имеющие что-то ещё. Вот что я получил:
Нет, чистый CSS не поддерживает селекторы с подстановочными знаками или «начинается с» для атрибутов alt у изображений.
Селекторы атрибутов CSS поддерживают только:
Точное совпадение: [alt="value"]
Содержит слово: [alt~="value"]
Содержит подстроку: [alt*="value"]
Начинается с: [alt^="value"]
Заканчивается на: [alt$="value"]
Однако alt^="hide-this-image-" не будет работать надёжно в вашем примере, потому что CSS не может сопоставить атрибут alt тега <img> во всех браузерах при отображении изображения, особенно в системах вроде Discourse, где атрибут alt не обязательно отражается в DOM так, чтобы CSS мог получить к нему доступ.
Обходной путь с помощью CSS (работает только в некоторых средах):
Но, опять же, это может работать не стабильно в Discourse из-за того, как изображения отображаются (например, через markdown или JS). В таком случае вам понадобится JavaScript.
Я заметил, что оставалось некоторое пространство там, где должно было быть изображение, поэтому я снова обратился к ChatGPT, и он добавил, что нужно скрыть родительский контейнер, который в данном случае — тег <div>.