You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hexo Landscape主题修改header.ejs后占位符未解析问题咨询

问题分析与解决思路

Hexo完全支持EJS模板的占位符解析,出现这种情况不是Hexo的问题,大概率是你修改模板的方式有误,常见原因和解决方法如下:

  • 模板语法使用错误:EJS有不同的标签用途,要输出Front Matter里的变量,必须用<%= 变量名 %>标签,比如你想调用文章Front Matter里的banner变量,得写<%= page.banner %>。如果直接写占位符文本,或者用了<% %>(仅执行逻辑不输出内容),Hexo就不会解析,直接把代码原样输出到HTML里。

  • 变量调用路径错误:Front Matter里的变量属于page对象,必须加上page.前缀才能访问。比如你的Markdown文件Front Matter写的是banner: "/images/my-banner.jpg",模板里就得写成<%= page.banner %>,漏加前缀会导致变量未定义,占位符无法替换。

  • Hexo缓存未清理:修改模板后,Hexo可能还在使用旧的缓存文件生成页面。执行hexo clean命令清除缓存,再重新执行hexo generate生成静态文件,就能加载最新的模板修改。

  • 修改的文件路径错误:确认你修改的是当前激活的Landscape主题下的文件,也就是themes/landscape/layout/partial/header.ejs,如果误改了其他主题的文件,自然不会生效。

内容的提问来源于stack exchange,提问作者eng-nashar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 14:38:10