Как использовать помощники в исходных файлах Hexo?

У меня есть страница с информацией под названием source/about/index.ejs. На этой странице я хочу использовать image_tag() помощник в тегах ejs и другие вспомогательные функции. . Однако, если я это сделаю, я получу ошибку image_tag is not defined, и то же самое для любой другой вспомогательной функции.

Я предполагаю, что это означает, что помощники не загружаются при рендеринге файлов в source, а только в каталоге темы. Также кажется, что я не могу поместить этот тип страницы в их каталог и сделать так, чтобы он отображался с помощью шаблона. Есть ли способ использовать помощников при рендеринге исходных файлов? Если нет, то почему я не могу, или почему это было бы плохой идеей?


person Patrick Steadman    schedule 16.11.2015    source источник


Ответы (2)


Помощники Hexo недоступны в исходных файлах. Вы должны использовать его в представлениях.
1. Создайте представление в layout/about.ejs
2. Добавьте в него свой код с помощью вспомогательного тега
3. Создайте новую страницу с hexo new page "about"
3 , Добавьте layout:"about" в начало файла source/about/index.md.

person Louis Barranqueiro    schedule 16.11.2015

Лучшее решение — плагины тегов.

Вам придется переписать нужные хелперы в виде плагинов тегов, но после этого их можно будет использовать в исходных файлах. Посмотрите node_modules/hexo/lib/plugins/tag для примеров.

person Matt Lyons    schedule 09.04.2016