如何实现Jekyll变量的嵌套与组合使用?
关于Jekyll中变量嵌套/组合使用的问题及解决方案
你的写法失效的核心原因是Liquid语法不允许在一个模板标签内嵌套另一个模板标签,{{ /games/{{ include.name }} | relative_url }}这种嵌套{{ }}的写法会被当成无效语法,Jekyll无法正确解析。
要实现你想要的路径组合并转换为相对URL,有两种简单可行的方案:
方案一:直接用过滤器拼接路径
使用Liquid的append过滤器把固定路径和变量拼接,再传递给relative_url处理:
{{ '/games/' | append: include.name | relative_url }}
这个写法会先把include.name的值拼到/games/后面,生成完整路径后,再通过relative_url转换为适配站点的相对URL。
方案二:先赋值变量再处理
如果需要重复使用这个组合后的路径,可以先把路径赋值给一个变量,再应用过滤器:
{% assign game_full_path = '/games/' | append: include.name %} {{ game_full_path | relative_url }}
这种方式更清晰,适合路径需要多次引用的场景。
本质上,Liquid的变量组合和过滤器调用都要在单个标签上下文内完成,不需要嵌套标签,通过过滤器或变量赋值就能实现你要的效果。
内容的提问来源于stack exchange,提问作者user17360805
相关产品推荐
相关产品推荐

