Папки с материалами

Глобальная папка с материалами

Материалы, не связанные с постами, такие как изображения, CSS или JavaScript файлы хранятся в папке source. Например, если нужно добавить несколько изображений в проект Hexo, то самый простой способ - положить их в исходный каталог изображений source/images. Затем можно получить к ним доступ, используя что-то вроде ![](/images/image.jpg).

Папка с постами

Для пользователей, которые планируют регулярно использовать изображения и/или другие материалы, и для тех, кто предпочитает разделять свои материалы на основе поста в посте, Hexo обеспечивает возможность организовать управление материалами. Это немного сложнее, но очень удобный подход к управлению материалами, может быть включён в настройках, установите переменную post_asset_folder в _config.yml в значение true.

_config.yml
post_asset_folder: true

Если управление материалами включено, то каждый раз при создании поста создастся папка с аналогичным именем. Например: hexo new [layout] <title> создаст папку с именем title. Можно использовать файлы, связанные с постом используя относительный путь, это облегчает и упрощает работу с материалами.

Тэг плагинов для создания относительных ссылок

Привязка изображений или других материалов, используя обычный синтаксис markdown и относительные пути может привести к их неправильному отображению в архиве, или на главное странице. Плагины, созданы сообществом для решения этой проблемы в Hexo 2. С выходом Hexo 3 были добавлены в ядро новые плагины тегов. Они позволяют с лёгкостью создавать ссылки на ваши материалы в markdown:

{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}

Для примера, этот пост, использует управление материалами. Если поместить в папку с материалами поста изображение example.jpg, то ссылка не заработает на главной странице. Но если использовать ![](/example.jpg), то это добавит изображение в пост (но только для самого поста).

Правильный путём для ссылки на изображение будет использование синтаксиса плагина, а не markdown:

{% asset_img example.jpg This is an example image %}
{% asset_img "spaced asset.jpg" "spaced title" %}

При использовании этого способа, изображение появится в самом посте и на главной странице и в архивах.